DE102006033285A1 - Software zur Realisierung eines verteilten virtuellen Laufwerkes auf vernetzten Arbeitsplatz-PCs - Google Patents

Software zur Realisierung eines verteilten virtuellen Laufwerkes auf vernetzten Arbeitsplatz-PCs Download PDF

Info

Publication number
DE102006033285A1
DE102006033285A1 DE102006033285A DE102006033285A DE102006033285A1 DE 102006033285 A1 DE102006033285 A1 DE 102006033285A1 DE 102006033285 A DE102006033285 A DE 102006033285A DE 102006033285 A DE102006033285 A DE 102006033285A DE 102006033285 A1 DE102006033285 A1 DE 102006033285A1
Authority
DE
Germany
Prior art keywords
workstation
data
pcs
drive
stored
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.)
Withdrawn
Application number
DE102006033285A
Other languages
English (en)
Inventor
Holger Busch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INFOSTREAM GmbH
Original Assignee
INFOSTREAM GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INFOSTREAM GmbH filed Critical INFOSTREAM GmbH
Priority to DE102006033285A priority Critical patent/DE102006033285A1/de
Priority to EP07729238A priority patent/EP2044506A2/de
Priority to PCT/EP2007/054790 priority patent/WO2008009496A2/de
Priority to US12/374,049 priority patent/US20090172300A1/en
Publication of DE102006033285A1 publication Critical patent/DE102006033285A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation

Landscapes

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

Abstract

Verfahren und Vorrichtung zur Bereitstellung eines virtuellen Laufwerks auf einem Arbeitsplatz-PC, der über ein Netzwerk mit anderen Arbeitsplatz-PCs verbunden ist, umfassend einen Treiber, der das virtuelle Laufwerk zur Verfügung stellt und der folgende Schritte durchführt: - Verwalten einer Abbildungstabelle, aus der ersichtlich ist, welche Daten auf welchen der anderen Arbeitsplatz-PCs abgelegt sind, - beim Lesen der Daten Überprüfen der Tabelle und Anfordern der Daten von dem anderen Arbeitsplatz-PC, der in der Tabelle hinterlegt ist; - beim Schreiben der Daten Überprüfen der Tabelle zum Finden eines geeigneten Eintrages in der Tabelle, Senden der Daten an einen der anderen Arbeitsplatz-PCs und Eintragen eines Verweises in die Tabelle auf dem anderen Arbeitsplatz-PC, der die Daten erlangt hat.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Bereitstellung eines Festplattenlaufwerks auf einem Computer, insbesondere betrifft die Erfindung ein Speicherlaufwerk, das verteilt ist.
  • Gebiet der Erfindung:
  • Die ständige Zunahme an verfügbarer Rechnerleistung und Speicherleistung auf Arbeitsplatz-PCs ermöglicht es, diese „freien" Kapazitäten für andere Aufgaben als die Ausführung interaktiver Anwendungen für den Anwender zu nutzen.
  • Insbesondere die Einführung von Arbeitsplatz-PCs mit mehreren Prozessorkernen oder mehreren Einzelprozessoren erlaubt es, diese Kapazitäten zu nutzen ohne dass der Anwender hierdurch eine Beeinträchtigung erfährt.
  • Für die hier beschriebene Software ist es von Vorteil, dass die Arbeitsplatz-PCs untereinander mit einem Netzwerk hoher Bandbreite vernetzt sind.
  • Übersicht über die Erfindung:
  • Aufgabe der vorliegende Erfindung ist es, ein Verfahren und eine Vorrichtung bereitzustellen, die es ermöglichen, dass der Festplatten Platz auf einer Vielzahl von PCs einfach und einheitlich genutzt werden kann.
  • Gelöst wird diese Aufgabe durch eine Erfindung mit den Merkmalen der unabhängigen Ansprüche.
  • Zum Verständnis der Erfindung werden im Folgenden einige Begriffsdefinitionen vorgenommen.
  • Unter einem Arbeitsplatz-PC wird ein Computer verstanden, an dem gewöhnlich ein einzelner Anwender interaktiv arbeitet. Im Gegensatz hierzu ist ein Server ein Computer, an dem entweder nicht interaktiv gearbeitet wird, oder der von mehreren Anwendern parallel verwendet wird. Aufgrund der besonderen Leistungsfähigkeit und der Flexibilität von Computern und Betriebssystemen, ist jedoch der Übergang zwischen einem Server und einem Arbeitsplatz PC oftmals fließend. So kann auch unter Windows-Familie ein Arbeitsplatz PC ein Festplattenlaufwerk oder ein Verzeichnis freigeben, so dass er als Server fungieren kann. Somit können auch die hier beschriebenen Arbeitsplatz-PC als Server fungieren.
  • Ein Laufwerk bezeichnet in diesem Zusammenhang einen Speicherbereich zur permanenten Speicherung von Daten, dem ein physischer Speicher zugeordnet ist.
  • Dieser physische Speicher wird im Allgemeinen als Partition bezeichnet. Unter den Betriebssystemen der Windows-Familie wird zu Adressierung ein Buchstabe verwendet. Bei anderen Betriebssystemen kann die Partition auch als Teil eines Verzeichnisses dargestellt werden. Somit ist für den Benutzer nicht ersichtlich, wann er auf eine andere Festplatte beziehungsweise Partition zugreift.
  • Ein virtuelles Laufwerk ist eine Möglichkeit zur permanenten Speicherung von Daten. Der Speicherbereich eines virtuellen Laufwerkes wird auf ein ganzes Laufwerk oder einen Teil eines Laufwerkes abgebildet. Im speziellen könnte unter einem Betriebssystem der Windows-Familie ein virtuelles Laufwerk in eine Datei (Teil eines Laufwerkes) oder eine Partition (ganzes Laufwerk) abgebildet werden. Ein virtuelles Laufwerk erscheint für den Benutzer als ein physisches Laufwerk, kann jedoch tatsächlich ein Teil eines physischen Laufwerkes sein, oder mehrere physische Laufwerke oder andere Arten von Speichermedien, wie RAM, Flash etc.
  • Ein verteiltes virtuelles Laufwerk ist eine Möglichkeit zur permanenten Speicherung von Daten in einem virtuellen Laufwerk. Der Speicherbereich des virtuellen Laufwerkes wird hierbei auf ein ganzes Laufwerk oder einen Teil eines Laufwerkes über verschiedene Arbeitsplatz-PCs verteilt. Trotz der Verteilung auf verschiedene Laufwerke ist die Nutzung als ein zusammenhängender Speicherbereich möglich. Dies kann für den Anwender transparent realisiert werden.
  • Die Erfindung hat folgende allgemeine Eigenschaften.
  • Das verteilte virtuelle Laufwerk sollte unter einem Betriebssystem der Windows-Familie lauffähig sein. Dies wird durch die Implementierung als Treiber erreicht. Der Einsatz auf anderen Betriebssystemen wie LINUX oder UNIX ist natürlich ebenfalls möglich. Hier werden ähnliche Konzepte eingesetzt.
  • Die Erfindung erlaubt, dass auf den Arbeitsplatz-PCs ein oder mehrere virtuelle verteilte Laufwerke eingerichtet werden.
  • Die verteilten virtuellen Laufwerke sind für den Anwender unter einem Laufwerksbuchstaben nutzbar, wie andere Laufwerke.
  • Die Verwaltung und Datenverteilung eines verteilten virtuellen Laufwerks erfolgt transparent für den Anwender, da aufgrund der Architektur des Treibers, das virtuelle Laufwerk für das Betriebssystem als reales Laufwerk erscheint.
  • Die Dateirechteverwaltung des jeweils benutzten Betriebssystems funktioniert ohne Einschränkungen auch innerhalb des verteilten virtuellen Laufwerkes.
  • Der Speicherbereich des verteilten virtuellen Laufwerkes wird auf den jeweiligen Arbeitsplatz-PCs innerhalb einer Datei (Containerdatei) realisiert.
  • Die Zugriffsrechte auf die Dateien, die als Container für das verteilte virtuelle Laufwerk dienen, werden mittels der Dateirechteverwaltung des jeweils benutzten Betriebssystems verwaltet.
  • Eine Anbindung der Rechteverwaltung für Dateien innerhalb des verteilten virtuellen Laufwerkes an ein ADS (Active Directory Service) ist möglich.
  • Über ein Administrationssystem (Adminstrationstool) erfolgt die Einrichtung und Verwaltung der verteilten virtuellen Laufwerke auf allen Arbeitsplatz-PCs.
  • Zusätzlich sind folgende besondere Eigenschaften implementiert:
  • Ausfallsicherheit
  • Die Datenhaltung in den Containerdateien kann redundant erfolgen. D.h. über das Administrationstool ist einstellbar, wie häufig die Daten eines verteilten virtuellen Laufwerkes als Kopie gehalten werden. Die Einstellung einer einfachen Redundanz führt dazu, dass zu jeder Containerdatei eine Kopie auf einem anderen Arbeitsplatz-PC gehalten wird. Die Redundanz kann von 1 – keine Redundanz – bis n – n-fache-Redundanz – eingestellt werden.
  • Bei redundanter Datenhaltung in den Containerdateien mit einer Redundanz von mindestens zwei kann eine Katastrophen-Fall-Sicherheit erzielt werden. Als Katastrophen, gegen die der Schutz erfolgt, sind hier Ereignisse anzusehen, welche die weitere Nutzung eines Standortes verhindern. Voraussetzung hierfür ist also mindestens ein weiterer Standort. Über das Administrationstool können Gruppen von Arbeitsplatz-PCs definiert werden. Die Redundanz kann so eingestellt werden, dass eine Kopie der Containerdatei immer in einer Gruppe und die zweite Kopie in einer anderen Gruppe gehalten wird. Wenn in der ersten Gruppe die Arbeitsplatz-PCs eines Standortes und in der zweiten Gruppe die Arbeitsplatz-PCs eines anderen Standortes enthalten sind, erhält man eine Katastrophen-Fall-Sicherheit im oben definierten Sinne.
  • Voraussetzung ist, dass die Gebäude genügend weit voneinander entfernt sind, so dass zu erwarten ist, dass ein Ereignis, welches die weitere Nutzung eines Standortes verhindert, nicht gleichzeitig auf den zweiten Standort zutrifft.
  • Die Zugriffsgeschwindigkeit hängt von zwei Faktoren ab. Zum einen der optimalen Verteilung der Daten in den Containerdateien und zum anderen der Übertragungsdauer im Netzwerk.
  • Die Netzwerkstruktur ist über das Admintool erfassbar und wird innerhalb des verteilten virtuellen Laufwerkes gespeichert.
  • Die Datenhaltung innerhalb der Containerdateien erfolgt in Blöcken analog der Datenhaltung auf physischen Laufwerken. Es erfolgt eine Aufzeichnung der eindeutigen Identifier von Arbeitsplatz-PCs, die auf diese Blöcke zugreifen innerhalb der Containerdatei.
  • Anhand dieser Information werden zyklisch Optimierungen durchgeführt. Während eines Optimierungsvorganges wird eine statistische Auswertung der Zugriffshäufigkeit auf jeden Block durchgeführt. Anschließend wird unter Zuhilfenahme der gespeicherten Netzwerkstruktur der Speicherort der Blöcke so angepasst, dass eine optimale Zugriffsgeschwindigkeit zu erwarten ist.
  • Durch die gespeicherte Netzwerkwerkstruktur lässt sich die Menge der Arbeitsplatz-PC in folgende Teilmengen unterteilen:
    • • Die Teilmengen T0i bestehen jeweils aus einem einzelnen Arbeitsplatz-PC. Es gibt so viele Teilmengen T0i wie Arbeitsplatz-PC in dem verteilten virtuellen Laufwerk.
    • • Die Teilmengen T1i bestehen jeweils aus den Arbeitsplatz-PCs in einem physischen Netzwerk-Segment. Es gibt so viele Teilmengen T1j wie physische Netzwerk-Segmente.
    • • Die Teilmengen T2k werden durch die Arbeitsplatz-PCs aus jeweils zwei benachbarten Netzwerksegmenten mit einer Entfernung von 1 gebildet. D.H. eine Teilmenge T3k besteht aus zwei Teilmengen T1j.
    • • Die Teilmengen T3l werden durch die Arbeitsplatz-PCs aus jeweils drei benachbarten Netzwerksegmenten mit einer Entfernung von 2 gebildet. Eine Teilmenge T3k besteht aus drei Teilmengen T1j. Eine Teilmenge T3k besteht aus zwei Teilmengen T2k , die aber gemeinsam nur drei verschieden Netzwerksegmente beinhalten.
  • Allgemein gilt also für alle Teilmengen Tqn für q größer 0, dass sie aus den Arbeitsplatz-PCs von q benachbarten Netzwerksegmenten mit einer Entfernung von q-1 gebildet werden.
  • Ein Netzwerksegment umfasst alle Arbeitsplatz-PC die sich untereinander über das Netzwerk erreichen können, ohne dass der Netzwerkverkehr über eine aktive Netzwerkkomponente geleitet werden muss.
  • Eine aktive Netzwerkkomponente ist z.B. ein Router oder ein Switch.
  • Benachbarte Netzwerksegmente mit der Entfernung n sind Netzwerksegmente bei denen der Netzwerkverkehr zwischen zwei beliebigen Arbeitsplatz-PC durch maximal n aktive Netzwerkkomponenten geleitet werden muss.
  • Um den optimalen Speicherort für jeden Block zu bestimmen wird für jeden Block die Summe der Zugriffe von den Arbeitsplatz- PCs aus jeder der Teilmengen Tqn berechnet. Der Wert für q wird hierbei von 0 bis m durchlaufen. Der Maximalwert m für q ist über das Administrationstool einstellbar, da er wesentlich die Dauer der Optimierung beeinflusst. Ebenso sind die Anzahl der für die Optimierung betrachteten Blöcke und die Häufigkeit der Optimierung über das Administrationstool frei einstellbar.
  • Anschließend wird die Teilmenge Tqn mit der höchsten Summe der Zugriffe gemäß der obigen Berechnungsvorschrift ermittelt. Aus allen Teilmengen Tq-1r der Teilmenge Tqn wird dann im nächsten Schritt wieder diejenige Teilmenge Tq-1r ermittelt, die die höchste Summe der Zugriffe auf den Block hat. Dieses wird solange fortgesetzt bis q=0. D.H. aus dieser letzten Teilmenge T0i wird dann im letzten Schritt der Arbeitsplatz-PC ermittelt, der die höchsten Zugriffszahlen, aller Arbeitsplatz-PC innerhalb von T0i, auf den Block hat.
  • Auf diesen Arbeitsplatz-PC wird der Block dann physisch verlagert.
  • Falls in der letzten betrachteten Teilmenge T0i mehrere Arbeitsplatz-PC die gleiche Anzahl Zugriffe haben, so wird der Block auf den Arbeitsplatz-PC mit der höchsten freien Kapazität in seinem Anteil an dem verteilten virtuellen Laufwerk, verlagert.
  • Sollte auf dem ausgewählten Arbeitsplatz-PC, in seinem Anteil an dem verteilten virtuellen Laufwerk, nicht mehr genügend Speicherplatz vorhanden sein, wird dieser von dem Optimierungsverfahren ausgeschlossen und gemäß dem obigen Verfahren ein neuer Arbeitsplatz-PC ausgewählt.
  • Ein weiterer Teil der Erfindung ist die Optimierung des Stromverbrauchs. Beim Stromverbrauch erfolgt eine Unterscheidung nach Anwendung des verteilten virtuellen Laufwerkes. Erfolgen hauptsächlich Interaktivzugriffe, d.h. die Nutzer der Arbeitsplatz-PCs nutzen das Laufwerk durch Zugriffe während ihrer Arbeitszeit, so ist nicht von einem Strommehrverbrauch auszugehen (Fall I).
  • Erfolgt die Nutzung des verteilten virtuellen Laufwerkes außerhalb der Arbeitszeit der Nutzer der Arbeitsplatz-PCs, so handelt es sich entweder um Batch-Betrieb (Fall IIa) oder um eine Nutzung durch Anwender, die nicht mit den Arbeitsplatz-PCs arbeiten, die für das verteilte virtuelle Laufwerk verwendet werden, sondern mit anderen Arbeitsplatz-PCs (Fall IIb). Hierbei kann bei den Arbeitsplatz-PCs des verteilten virtuellen Laufwerkes ein Strommehrverbrauch entstehen.
  • Zur Optimierung des Stromverbrauchs können die Daten, welche in den Fällen II überwiegend verwendet werden, identifiziert werden. Dies erfolgt durch die zusätzliche Aufzeichnung der Zugriffszeit zusammen mit der Aufzeichnung der eindeutigen Identifier von Arbeitsplatz-PCs, die auf diese Blöcke zugreifen, innerhalb der Containerdatei.
  • Anhand der Zugriffszeiten werden die Blöcke identifiziert, welche in den Fällen II überwiegend verwendet werden.
  • Mittels des Admintools können für diese Blöcke eigene Gruppen definiert werden. Diese Gruppen bilden eine Teilmenge der gesamten Arbeitsplatz-PCs, die für das verteilte virtuelle Laufwerk verwendet werden. So müssen im Fall II nicht alle Arbeitsplatz-PCs aktiv sein. Unter Verwendung der Betriebssystem-eigenen Stromsparfunktionen lässt es sich erreichen, dass alle anderen Arbeitsplatz-PCs außerhalb der Gruppen, die für den Fall II definiert wurden, ihren Stromverbrauch auf ein Minimum reduzieren.
  • Die Erfindung besteht in einer möglichen Ausführungsform aus drei Modulen:
    • 1) Ein Kerneltreiber zur Bereitstellung eines virtuellen Laufwerkes
    • 2) Eine Server-Software zur Bereitstellung eines verteilten virtuellen Laufwerkes
    • 3) Eine Administrationssoftware (Administrationstool) zur Konfiguration der verteilten virtuellen Laufwerke. Die Administrationssoftware übernimmt keine Funktionen während des Betriebes von verteilten virtuellen Laufwerken, sondern dient nur dazu, die lokalen Konfigurationen der Server-Software (siehe 2) einfach von zentraler Stelle aus anzupassen.
  • Kurze Beschreibung der Figuren:
  • Im Folgenden werden die Figuren kurz beschrieben, wobei die folgende Beschreibung der bevorzugten Ausführungsformen Bezug nimmt auf die Figuren. Die Figuren und die bevorzugten Ausführungsformen stellen keinerlei Beschränkung der vorliegenden Erfindung dar, sie haben allein die Funktion als mögliche Beispiele zu dienen:
  • 1 zeigt den Aufbau des virtuellen Laufwerks, dass auf einem physikalischen Laufwerk abgespeichert ist, wobei das virtuelle Laufwerk aus mehreren Teilen besteht;
  • 2 zeigt den Aufbau des virtuellen Laufwerks aus 1, wobei die Daten des virtuellen Laufwerks in Containerdateien auf dem physikalischen Laufwerk der Arbeitsplatz PCs abgelegt sind;
  • 3 zeigt die redundante Ablage von Daten auf physikalischen Laufwerken in Containerdateien, wobei jede Containerdatei doppelt auf jeweils einem anderen PC vorhanden ist, der vorzugsweise in einem anderen Gebäude angeordnet ist;
  • 4 zeigt die Konstellation gemäß 3, wobei die Rechner jeweils in einem Gebäude eins und Gebäude zwei angeordnet sind;
  • 5 zeigt die Hierarchie beziehungsweise die Schichten der Software, die für das erfindungsgemäße Verfahren verwendet wird;
  • 6a, 6b. zeigt den Ablauf des Optimierungsverfahrens; Beschreibung der bevorzugten Ausführungsformen:
  • 1 zeigt 1 bis n Arbeitsplatz PCs, die über ein Netzwerk miteinander verbunden sind, und die jeweils ein physisches Laufwerk, wie eine Festplatte, einen Flash Speicher oder ein CD-ROM/RW aufweisen (diese Aufzählung ist nicht abschließend). Die Arbeitsplatz PCs sind durch LAN, WLAN oder WAN Netzwerk miteinander verbunden. Auf jedem der physischen Laufwerke ist ein Teil für ein virtuelles Laufwerk reserviert. Jeder der Arbeitsplatz PCs stellt somit einen Teil des virtuellen Laufwerks zur Verfügung. Auf einem der Arbeitsplatz PCs, dem das virtuelle Laufwerk zur Verfügung gestellt wird, wird dann der Kernel- Treiber für das virtuelle Laufwerk installiert, der wiederum die einzelnen Teile des virtuellen Laufwerks, die auf unterschiedlichen Arbeitsplatz PCs abgelegt sind, zu einem Gesamt-Laufwerk zusammenfasst. Der Kernel- Treiber weist in der bevorzugten Ausführungsform eine Tabelle auf (z.B. als Hash-Tabelle implementier), in der festgehalten ist, auf welchen der Arbeitsplatz PCs welche Daten abgelegt sind. In der bevorzugten Ausführungsform wird dies auf Blockebene durchgeführt. Es ist jedoch auch möglich, dies auf einer anderen Ebene wie z. B. der Dateiebene vorzunehmen.
  • Die 2 zeigt eine Abwandlung der 1, bei der das virtuelle Laufwerk in einer Containerdatei abgelegt ist. Jeder Arbeitsplatz PC weist ein kleines Server Programm auf, das für den Zugriff auf die Containerdatei zuständig ist. Die Containerdatei kann somit mithilfe der Betriebssystemfunktionen verwaltet werden, so dass ein unberechtigter Zugriff auf diese Datei verhindert wird. Somit kann sichergestellt werden, dass lediglich das berechtigte Serverprogramm auf diese Datei zugreifen kann.
  • 3 zeigt einen redundanten Ansatz, bei dem jede Containerdatei doppelt vorhanden ist. Hierbei handelt sich folglich um eine Raid-1-Lösung (Redundant Array of inexpensive Disks). Es kann auch eine doppelte oder x-Fache Raid 1 Lösung konfiguriert werden. Es sind jedoch auch andere Raid-Lösungen denkbar wie z. B. 3, 5, 6, 10. Hierbei ist insbesondere zu beachten, dass auch Raid Lösungen denkbar sind, die mehrere Parität-Bits aufweisen, so dass eine oder mehrere Containerdateien ausfallen können. Solche Lösungen werden oftmals als Raid 6 Lösungen bezeichnet. Der Kernel-Treiber für das virtuelle Laufwerk weist in diesem Falle mehrere Verweise zu unterschiedlichen Rechnern auf, um von diesen Rechnern den Block zu laden oder zu schreiben, dessen Adresse hinter diesem für den Block abgelegt ist. Im Falle eines Raid 3, 5 oder 6, werden auf der Basis der XOR Verknüpfung die fehlenden Informationen aus den anderen Informationen, die noch zur Verfügung stehen, wiederhergestellt. Die Arbeitsplatz PCs weisen zur Implementierung des Verfahrens eine Server Software auf, die einerseits den Zugriff auf die Containerdatei steuert und andererseits die Anfragen des Kernel Treibers beantwortet. Der Kernel- Treiber setzt direkt auf das Betriebssystem auf, so dass für die Anwendungen das Vorhandensein eines physischen Laufwerks erkannt wird (siehe 5). Details hierzu werden zu 5 beschrieben.
  • In 4 ist der Ansatz der 3 für zwei Standorte dargestellt. Die Eigenschaft der Katastrophen-Fall-Sicherheit ist auch mit mehr als zwei Standorten erzielbar.
  • In 5 ist der prinzipielle Aufbau der Erfindung auf einem Arbeitsplatz-PC dargestellt. Die grau hinterlegten Teile sind Bestandteil der Software für die verteilten virtuellen Laufwerke. Die Administrationssoftware kann auf einem beliebigen Arbeitsplatz-PC installiert werden, sie dient zum Konfigurieren der Bestandteile. Grundsätzlich muss auf einem PC der Kernel Treiber für das virtuelle Laufwerk installiert sein. Auf den anderen Arbeitsplatz PCs bedarf es der Serversoftware für das virtuelle Laufwerk, das die Anfragen des Kernel Treibers empfängt und beantwortet. Somit wird auf einem Arbeitsplatz PC ein neues Laufwerk zum Beispiel unter einem neuen Buchstaben angezeigt, wobei der Kernel Treiber die Abbildung der Blöcke auf die Containerdatei vornimmt. Über das Netzwerk wird dann eine Anfrage an die Serversoftware für das verteilte virtuelle Laufwerk auf einen der anderen Arbeitsplatz PCs gesendet, der dann den Block aus der Containerdatei lädt und zurück zum PC mit dem Kernel Treiber sendet. Der Kernel Treiber wiederum stellt den Block der Anwendungssoftware zu Verfügung. In der Regel handelt sich bei der Anwendungssoftware um das File- Managementsystem. Der Kernel- Treiber kann so ausgebildet sein, dass er für mehrere virtuelle Laufwerke zuständig ist, oder es mehrere Treiber parallel gibt um mehrere Laufwerke darzustellen.
  • Die Adminstrationssoftware verwaltet einerseits die Kernel Treiber und andererseits die Serversoftware, die auf den einzelnen Arbeitsplatz PCs installiert ist. Durch sie wird festgelegt, welche Rechner für das virtuelle Laufwerk zur Verfügung stehen, und wie deren Kapazität ist. Ferner können die Optimierungsläufe durch die Administrationssoftware durchgeführt werden.
  • Die 6a zeigt den Ablauf des Optimierungsverfahrens in einem PC-Netzwerk mit Baumstruktur für einen Block. Hierbei stellen die eckigen Kästen die PCs dar, die jeweils in einem Ast hängen, der ein Netzwerksegment darstellt. In 6a wurde auf einen Block 160 Mal zugegriffen, wobei 40 Zugriffe aus dem ersten Segment stammen und 120 aus dem zweiten (dies unterteilt sich in 101 und 19 für weitere Segmente). Der PC 6 hat insgesamt 100 Mal auf den Block zugegriffen und erhält somit den Block.
  • Die 6b zeigt eine alternative Ausgestaltung, bei der das Netzwerksegment 1 mit 46 Zugriffen den Block erhält, auch wenn in Netzwerksegment 2 der PC 6 mit 30 Zugriffen die absolut meisten Treffer aufweist. Jedoch ist 46 größer als 31, wodurch das Segment 1 zu berücksichtigen ist.

Claims (31)

  1. Verfahren zur Bereitstellung eines virtuellen Laufwerks auf einem Arbeitsplatz-PC, der über ein Netzwerk mit anderen Arbeitsplatz-PCs verbunden ist, umfassend einen Treiber, der das virtuelle Laufwerk zur Verfügung stellt, und der folgende Schritte durchführt: – Verwalten einer Abbildungstabelle, aus der ersichtlich ist, welche Daten auf welchen der anderen Arbeitsplatz-PCs abgelegt sind, – Beim Lesen der Daten, überprüfen der Tabelle und anfordern der Daten von dem anderen Arbeitsplatz-PC, der in der Tabelle hinterlegt ist; – Beim Schreiben der Daten, überprüfen der Tabelle zum Finden eines geeigneten Eintrages in der Tabelle, senden der Daten an einen der anderen Arbeitsplatz-PCs und Eintragen eines Verweises in die Tabelle auf dem anderen Arbeitsplatz-PC, der die Daten erlangt hat.
  2. Das Verfahren nach dem vorhergehenden Anspruch, wobei die Tabelle, auf Blockebene arbeitet, so dass die Informationen auf den anderen Arbeitsplatz-PCs im Netzwerk auf Blockebene abgespeichert sind.
  3. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei der Treiber so ausgebildet ist, dass auf dem Arbeitsplatz-PC ein oder mehrere virtuelle verteilte Laufwerke verwaltet werden.
  4. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei das virtuelle Laufwerk als Gerät von Anwendungen erkannt wird, so dass es unter Windows-Familie unter einem Laufwerksbuchstaben nutzbar ist, oder unter LINUX als Blockdevice zur Verfügung steht.
  5. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei eine Server-Software auf den anderen Arbeitsplatz PCs installiert ist, die Anforderungen des Treibers entgegennimmt und verarbeitet, und von einem lokalen physischen Laufwerk die angeforderten Daten herunterlädt.
  6. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei der Speicherbereich des verteilten virtuellen Laufwerkes auf den anderen Arbeitsplatz-PCs innerhalb einer Datei (Containerdatei) verwaltet wird.
  7. Das Verfahren nach dem vorhergehenden Anspruch, wobei Zugriffsrechte auf die Dateien, die als Container für das verteilte virtuelle Laufwerk dient, mittels der Dateirechteverwaltung des jeweils benutzten Betriebssystems verwaltet wird.
  8. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei über eine Administrationssoftware (Adminstrationstool) die Einrichtung und Verwaltung der verteilten virtuellen Laufwerke auf allen Arbeitsplatz-PCs erfolgt, indem eine Verbindung zu der Server-Software und dem Kernel-Treiber aufgebaut wird.
  9. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei die Daten in Containerdateien redundant hinterlegt sind, indem diese zusätzlich auf anderen Arbeitsplatz PCs abgelegt sind.
  10. Das Verfahren nach dem vorhergehenden Anspruch, wobei die Redundanz über mehrere Standorte erfolgt.
  11. Das Verfahren nach einem oder mehreren der vorhergehenden zwei Ansprüche, wobei Gruppen von Arbeitsplatz-PCs definiert werden, so dass eine Kopie der Containerdatei immer in einer Gruppe und die zweite Kopie in einer anderen Gruppe gehalten werden.
  12. Das Verfahren nach einem oder mehreren der vorhergehenden zwei Ansprüche, wobei Zugriffsstatistiken auf die Daten verwaltet werden.
  13. Das Verfahren nach dem vorhergehenden Anspruch, wobei anhand der Zugriffsstatistiken Optimierungen durchgeführt werden, wodurch sich die Ablage von Informationen von einem Arbeitsplatz PC auf einen anderen verschieben kann, so dass eine optimale Zugriffsgeschwindigkeit zu erwarten ist.
  14. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, wobei Optimierung des Stromverbrauchs unter Berücksichtigung des Zeitpunkts der Nutzung der Informationen durchgeführt werden, so dass Daten, die zu bestimmten Tageszeiten genutzt werden, nur auf solchen Arbeitsplatz PCs abgelegt werden, die zu diesen Tageszeiten ein vorgegebenes Leistungsprofil aufweisen.
  15. Das Verfahren nach dem vorhergehenden Anspruch, wobei auf dem Laufwerk eine Datenbank abgelegt ist.
  16. Vorrichtung in Form eines Arbeitsplatz PCs zur Bereitstellung eines virtuellen Laufwerks, der über einen Netzwerkanschluss mit anderen Arbeitsplatz-PCs verbunden ist, umfassend einen Treiber, der das virtuelle Laufwerk zur Verfügung stellt, wobei der Treiber in Verbindung mit einer Bearbeitungseinheit so ausgebildet ist, dass er in Verbindung mit einer Abbildungstabelle, aus der ersichtlich ist, welche Daten auf welchen der anderen Arbeitsplatz-PCs abgelegt sind, – beim Lesen der Daten, die Tabelle abfragt, um die Daten von einem anderen Arbeitsplatz-PC, der in der Tabelle hinterlegt ist, abzurufen; – beim Schreiben der Daten, die Tabelle abfragt, um einen geeigneten Eintrag in der Tabelle zu finden, um dann über den Netzwerkanschluss die Daten an einen der anderen Arbeitsplatz-PCs zu senden und um einen Verweis in die Tabelle auf dem anderen Arbeitsplatz-PC, der die Daten erlangt hat, zu schreiben.
  17. Die Vorrichtung nach dem vorhergehenden Vorrichtungsanspruch, wobei die Tabelle, auf Blockebene arbeitet, so dass die Informationen auf den anderen Arbeitsplatz-PCs im Netzwerk auf Blockebene abgespeichert sind.
  18. Die Vorrichtung nach einem oder mehreren der vorhergehenden Vorrichtungsansprüche, wobei der Treiber so ausgebildet ist, dass er auf dem Arbeitsplatz-PC ein oder mehrere virtuelle verteilte Laufwerke verwaltet.
  19. Die Vorrichtung nach einem oder mehreren der vorhergehenden Ansprüche, wobei das virtuelle Laufwerk als Gerät von den Anwendungen erkannt wird, so dass es unter Windows-Familie unter einem Laufwerksbuchstaben nutzbar ist oder und LINUX als Blockdevice zur Verfügung steht.
  20. Die Vorrichtung nach einem oder mehreren der vorhergehenden Vorrichtungsansprüche, wobei eine Server-Software auf den anderen Arbeitsplatz PCs installiert ist, die so ausgebildet ist, dass sie Anforderungen des Treibers entgegennimmt und verarbeitet, und von einem lokalen, physischen Laufwerk die angeforderten Daten herunterlädt.
  21. Die Vorrichtung nach einem oder mehreren der vorhergehenden Vorrichtungsansprüche, wobei der Speicherbereich des verteilten virtuellen Laufwerkes auf den anderen Arbeitsplatz-PCs innerhalb einer Datei (Containerdatei) verwaltet ist.
  22. Die Vorrichtung nach dem vorhergehenden Anspruch, wobei die Zugriffsrechte auf die Dateien, die als Container für das verteilte virtuelle Laufwerk dienen, mittels der Dateirechteverwaltung des jeweils benutzten Betriebssystems verwaltet werden.
  23. Die Vorrichtung nach einem oder mehreren der vorhergehenden Vorrichtungsansprüche, wobei Mittel vorhanden sind, die eine Administrationssoftware (Adminstrationstool) implementieren, die die Einrichtung und Verwaltung der verteilten virtuellen Laufwerke auf allen Arbeitsplatz-PCs ermöglicht, indem eine Verbindung zu der Server-Software und dem Kernel- Treiber aufgebaut wird.
  24. Die Vorrichtung nach einem oder mehreren der vorhergehenden Vorrichtungsansprüche, wobei Mittel vorhanden sind, die die Daten in Containerdateien redundant hinterlegen, indem diese zusätzlich auf anderen Arbeitsplatz PCs abgelegt sind.
  25. Die Vorrichtung nach dem vorhergehenden Anspruch, wobei die Redundanz über mehrere Standorte erfolgt.
  26. Die Vorrichtung nach einem oder mehreren der vorhergehenden zwei Vorrichtungsansprüche, wobei Mittel vorhanden sind, um Gruppen von Arbeitsplatz-PCs zu definieren, so dass eine Kopie der Containerdatei immer in einer Gruppe und die zweite Kopie in einer anderen Gruppe gehalten werden.
  27. Die Vorrichtung nach einem oder mehreren der vorhergehenden zwei Vorrichtungsansprüche, wobei Mittel vorhanden sind, um Zugriffsstatistiken auf die Daten zu verwalten.
  28. Die Vorrichtung nach dem vorhergehenden Anspruch, wobei Mittel vorhanden sind, um anhand der Zugriffsstatistiken Optimierungen durchzuführen, wodurch sich die Ablage von Informationen von einem Arbeitsplatz PC auf einen anderen verschieben kann, so dass eine optimale Zugriffsgeschwindigkeit zu erwarten ist.
  29. Die Vorrichtung nach einem oder mehreren der vorhergehenden Vorrichtungsansprüche, wobei Mittel vorhanden sind, um eine Optimierung des Stromverbrauchs unter Berücksichtigung des Zeitpunkts der Nutzung der Informationen durchführen zu lassen, so dass Daten, die zu bestimmten Tageszeiten genutzt werden, nur auf solchen Arbeitsplatz PCs abgelegt werden, die zu diesen Tageszeiten ein vorgegebenes Leistungsprofil aufweisen.
  30. Die Vorrichtung nach einem oder mehreren der vorhergehenden Ansprüche, wobei auf dem Laufwerk eine Datenbank abgelegt ist.
  31. Computerprogrammprodukt, das eine Datenstruktur aufweist, die durch das Laden durch einen Arbeitsplatz PC ein Verfahren nach einem oder mehreren der vorhergehenden Verfahrensansprüche durchführt.
DE102006033285A 2006-07-17 2006-07-17 Software zur Realisierung eines verteilten virtuellen Laufwerkes auf vernetzten Arbeitsplatz-PCs Withdrawn DE102006033285A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102006033285A DE102006033285A1 (de) 2006-07-17 2006-07-17 Software zur Realisierung eines verteilten virtuellen Laufwerkes auf vernetzten Arbeitsplatz-PCs
EP07729238A EP2044506A2 (de) 2006-07-17 2007-06-13 Vorrichtung und verfahren zur realisierung eines verteilten virtuellen laufwerkes auf vernetzten arbeitsplatz-pcs
PCT/EP2007/054790 WO2008009496A2 (de) 2006-07-17 2007-06-13 Vorrichtung und verfahren zur realisierung eines verteilten virtuellen laufwerkes auf vernetzten arbeitsplatz-pcs
US12/374,049 US20090172300A1 (en) 2006-07-17 2007-06-13 Device and method for creating a distributed virtual hard disk on networked workstations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006033285A DE102006033285A1 (de) 2006-07-17 2006-07-17 Software zur Realisierung eines verteilten virtuellen Laufwerkes auf vernetzten Arbeitsplatz-PCs

Publications (1)

Publication Number Publication Date
DE102006033285A1 true DE102006033285A1 (de) 2008-04-24

Family

ID=38362822

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006033285A Withdrawn DE102006033285A1 (de) 2006-07-17 2006-07-17 Software zur Realisierung eines verteilten virtuellen Laufwerkes auf vernetzten Arbeitsplatz-PCs

Country Status (4)

Country Link
US (1) US20090172300A1 (de)
EP (1) EP2044506A2 (de)
DE (1) DE102006033285A1 (de)
WO (1) WO2008009496A2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9348819B1 (en) * 2011-12-31 2016-05-24 Parallels IP Holdings GmbH Method and system for file data management in virtual environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19955003A1 (de) * 1998-12-09 2000-06-29 Ibm Objekte mit selbstreflektierenden Objekt-Relevanzfunktionen
WO2000039687A1 (en) * 1998-12-29 2000-07-06 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
WO2005106659A1 (en) * 2004-04-26 2005-11-10 Virtual Iron Software, Inc. System and method for managing virtual servers
US20060047771A1 (en) * 2004-08-30 2006-03-02 International Business Machines Corporation RDMA server (OSI) global TCE tables
US20060074949A1 (en) * 2004-10-06 2006-04-06 Takaaki Haruna Computer system with a terminal that permits offline work

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6684226B1 (en) * 2000-03-24 2004-01-27 Frontline Software Aps Method for storing data in one or more files so that both previous and new versions of the data are separately accessible
US6697924B2 (en) * 2001-10-05 2004-02-24 International Business Machines Corporation Storage area network methods and apparatus for identifying fiber channel devices in kernel mode
IL147073A0 (en) * 2001-12-10 2002-08-14 Monosphere Ltd Method for managing the storage resources attached to a data network
US20050166011A1 (en) * 2004-01-23 2005-07-28 Burnett Robert J. System for consolidating disk storage space of grid computers into a single virtual disk drive
US7844691B2 (en) * 2004-12-30 2010-11-30 Xstor Systems, Inc. Scalable distributed storage and delivery
US7672979B1 (en) * 2005-04-22 2010-03-02 Symantec Operating Corporation Backup and restore techniques using inconsistent state indicators

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19955003A1 (de) * 1998-12-09 2000-06-29 Ibm Objekte mit selbstreflektierenden Objekt-Relevanzfunktionen
WO2000039687A1 (en) * 1998-12-29 2000-07-06 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
WO2005106659A1 (en) * 2004-04-26 2005-11-10 Virtual Iron Software, Inc. System and method for managing virtual servers
US20060047771A1 (en) * 2004-08-30 2006-03-02 International Business Machines Corporation RDMA server (OSI) global TCE tables
US20060074949A1 (en) * 2004-10-06 2006-04-06 Takaaki Haruna Computer system with a terminal that permits offline work

Also Published As

Publication number Publication date
WO2008009496A2 (de) 2008-01-24
EP2044506A2 (de) 2009-04-08
US20090172300A1 (en) 2009-07-02
WO2008009496A3 (de) 2008-03-20

Similar Documents

Publication Publication Date Title
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE602004008028T2 (de) Verfahren zum dynamischen Transferieren zwischen Servern für virtuelle Dateiserver
DE602004008849T2 (de) System und Methode zur Partitionierung und zum Management von Speichersubsystemen
DE60036539T2 (de) Verwendung von ungenutzter Speicherkapazität bei vernetzten Computern
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE102004064069B4 (de) Plattenarrayvorrichtung
DE112011101109B4 (de) Übertragung von Map/Reduce-Daten auf der Grundlage eines Speichernetzwerkes oder eines Speichernetzwerk-Dateisystems
DE112013006643B4 (de) Speichersystem und steuerungsverfahren für speichersystem
DE112009000411T5 (de) Verfahren und System zum Implementieren eines virtuellen Speicherpools in einer virtuellen Umgebung
DE202015009260U1 (de) Effiziente Datenlesungen von verteilten Speichersystemen
DE60313468T2 (de) Speicherdienste und -systeme
EP0829046B1 (de) Setup-verfahren und setup-system für benutzerprogramme, sowie benutzerrechner in einem rechnernetz
DE10113577A1 (de) Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE102013215535A1 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE19732011A1 (de) Verfahren zum ortstransparenten Austausch von Prozeßdaten
DE4218025A1 (de) Datenspeicherverwaltungssystem und verfahren mit speicherzuordnung auf der basis nachgefragter dienstklassen
DE102004027672A1 (de) Speicherplattenarraysystem
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten
DE112012000282B4 (de) Anwendungswiederherstellung in einem Dateisystem
DE60216443T2 (de) Online-fern-informationssicherungssystem
EP0966169B1 (de) Sicherungsverfahren für Betriebsdaten eines Netzelementes und Steuerungseinrichtung für ein Netzelement
DE202019005816U1 (de) System zur Aufrechterhaltung der Fehlertoleranz einer Speichervorrichtung in einer zusammensetzbaren Infrastruktur
DE112018005121T5 (de) Speichersystem unter verwendung von cloud-speicher als eine speicherbank
DE10220886A1 (de) Datenspeichersysteme mit verbesserten Netzwerkschnittstellen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120201