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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2069—Management of state, configuration or failover
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2082—Data 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 aus1 , 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 der1 , 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 (siehe5 ). Details hierzu werden zu5 beschrieben. - In
4 ist der Ansatz der3 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. In6a 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Das Verfahren nach dem vorhergehenden Anspruch, wobei die Redundanz über mehrere Standorte erfolgt.
- 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.
- Das Verfahren nach einem oder mehreren der vorhergehenden zwei Ansprüche, wobei Zugriffsstatistiken auf die Daten verwaltet werden.
- 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.
- 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.
- Das Verfahren nach dem vorhergehenden Anspruch, wobei auf dem Laufwerk eine Datenbank abgelegt ist.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Die Vorrichtung nach dem vorhergehenden Anspruch, wobei die Redundanz über mehrere Standorte erfolgt.
- 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.
- Die Vorrichtung nach einem oder mehreren der vorhergehenden zwei Vorrichtungsansprüche, wobei Mittel vorhanden sind, um Zugriffsstatistiken auf die Daten zu verwalten.
- 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.
- 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.
- Die Vorrichtung nach einem oder mehreren der vorhergehenden Ansprüche, wobei auf dem Laufwerk eine Datenbank abgelegt ist.
- 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.
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)
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)
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)
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 |
-
2006
- 2006-07-17 DE DE102006033285A patent/DE102006033285A1/de not_active Withdrawn
-
2007
- 2007-06-13 WO PCT/EP2007/054790 patent/WO2008009496A2/de active Application Filing
- 2007-06-13 EP EP07729238A patent/EP2044506A2/de not_active Ceased
- 2007-06-13 US US12/374,049 patent/US20090172300A1/en not_active Abandoned
Patent Citations (5)
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 |