DE602004013397T2 - Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen - Google Patents

Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen Download PDF

Info

Publication number
DE602004013397T2
DE602004013397T2 DE602004013397T DE602004013397T DE602004013397T2 DE 602004013397 T2 DE602004013397 T2 DE 602004013397T2 DE 602004013397 T DE602004013397 T DE 602004013397T DE 602004013397 T DE602004013397 T DE 602004013397T DE 602004013397 T2 DE602004013397 T2 DE 602004013397T2
Authority
DE
Germany
Prior art keywords
files
medium
list
media
computer
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.)
Expired - Lifetime
Application number
DE602004013397T
Other languages
English (en)
Other versions
DE602004013397D1 (de
Inventor
Stephen G. Toner
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.)
Micro Focus Software Inc
Original Assignee
Novell Inc
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 Novell Inc filed Critical Novell Inc
Publication of DE602004013397D1 publication Critical patent/DE602004013397D1/de
Application granted granted Critical
Publication of DE602004013397T2 publication Critical patent/DE602004013397T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/918Location
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

  • Diese Erfindung bezieht sich auf das Verschieben von Daten zwischen Speichervorrichtungen in einem Computersystem, und insbesondere auf das Minimalisieren der Zeit, während der die Daten für Benutzer nicht verfügbar sind.
  • Technisches Gebiet der Erfindung
  • Organisationen und Benutzer haben ein stetig steigendes Bedürfnis, Daten auf Computernetzwerken zu speichern. Häufig erweitern Systemadministratoren bestehende Systeme mit zusätzlichen Geräten, die in der Lage sind, die[se] Anforderungen zu erfüllen. Um einen Vorteil aus dem Anwachsen des Netzwerks zu ziehen und um allgemein die Verteilung von Datenspeicherung zu verbessern, benötigen Systemadministratoren die [Leistungs-]Fähigkeit, Daten zwischen Speichervorrichtungen zu verschieben.
  • Wenn Daten verschoben werden, müssen Systemadministratoren derzeit den Benutzern den Zugang zu jeglichen der gerade verschobenen Daten verweigern. Das Verweigern von Daten für irgendeine Zeitdauer ist allgemein nicht wünschenswert. Und für große Netzwerke, die riesige Mengen enthalten von beispielsweise projekt- bzw. missionskritischen Daten, die für den Betrieb einer Organisation vital sind, kann das Verweigern des Zugangs zu Daten für Benutzer zu nachteiligen Konsequenzen führen.
  • Es existieren einige Techniken, um dieses Problem zu mildern. Beispielsweise disponieren Systemadministratoren allgemein Vorgänge, die den Zugang an Benutzer verweigern, während Zeitperioden, wenn Netzwerke die ge ringste Menge von [Daten] verkehr erfahren. Weil die Nachfrage auf Netzwerken zunimmt, wird diese Technik problematischer. Beispielsweise können Benutzer aus Gründen, die für ihre Operationen spezifisch sind, einen ununterbrochenen Zugang von Daten für einen Host anfordern. Und weil die Menge von Daten auf Netzwerken anwächst, nimmt die zum Verarbeiten der Daten erforderliche Zeit zu.
  • Es besteht ein Bedarf daran, Benutzern Zugang zu Dateien im Prozess des Verschobenwerdens zu verleihen, insbesondere in einer Weise, die sowohl zweckdienlich als auch effizient ist. Eine Lösung, die diese Anforderung erfüllt, würde vorzugsweise diese Probleme und andere, dem Stand der Technik zugeordnete Probleme lösen.
  • EP 0 921 466 offenbart ein Sicherungskopie-Programm für ein Computersystem mit einer Festplatte, die eine Aufzeichnung pflegt von Veränderungen in den Daten in einer als Sicherungskopie gespeicherten Datei. Während der Sicherungskopie (Englisch: Backup) werden sowohl die ursprünglichen als auch die aktualisierten Dateibereiche oder Aufzeichnungen abgespeichert, und das Datensicherungsprogramm liest die ursprünglichen Daten, während andere Anwendungen die aktualisierten Daten lesen. Ein Zugang zu der Datei durch das Datensicherungsprogramm wird durch Manipulieren der Systemdateitabelle (Englisch: System File Table) sichergestellt.
  • Cordrey V. et al., „Moving Large Lile Systems on-line, including Existing HSM Filesystems" (übersetzt: „Verschieben von großen Dateisystemen online, einschließlich bestehender HSM Dateisysteme"), 13th Systems Administration Conference (LISA '99) USENIX ASSOC BERKERLY, CA, USA, 1999, Seiten 187–196, Berkeley, Kalifornien, USA schlagen einen Ansatz zum Verschieben von Dateisystemen vor, der es einem System erlaubt, online und zugreifbar zu bleiben.
  • Zusammenfassung der Erfindung
  • Die Erfindung ist ein Verfahren und eine Vorrichtung zum Verschieben von Daten von einem Quellmedium zu einem Zielmedium, das bzw. die die Zeit minimalisieren, während der Dateien für Benutzer nicht verfügbar sind, gemäß den folgenden Patentansprüchen. Ein Systemadministrator gibt einen Befehl zum Verschieben von Dateien von einem Quellmedium zu einem Zielmedium. Wenn das System Dateien von dem Quellmedium zu dem Zielmedium verschiebt, identifiziert das System Dateien, die nicht verschoben werden konnten. Das System identifiziert auch Dateien, die nachdem sie verschoben worden sind verändert (einschließlich erzeugt oder gelöscht) worden sind, so dass die Änderungen auf dem Zielmedium reproduziert werden können.
  • Das obige und andere Merkmale, Aufgaben und Vorteile der Erfindung werden aus der folgenden, mit zehn Verweisen auf die beigefügten Zeichnungen einhergehenden, ausführlichen Beschreibung leicht verständlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines Computersystems, das zum Verschieben von Dateien von einem Quellmedium zu einem Zielmedium gemäß einer Ausführungsform der Erfindung ausgebildet ist.
  • 2 zeigt einen Medienmanager der 1, der zum Einholen einer Liste von Dateien, die während eines Intervalls von Interesse verändert werden, ausgebildet ist.
  • 3 zeigt ein auf dem Quellmedium der 1 enthaltenes Dateisystem vor dem Beginn eines Aufteilungsvorgangs.
  • 4 zeigt ein auf dem Zielmedium der 1 nach einem Teilungsvorgang enthaltenes Dateisystem nach einer Ausführungsform der Erfindung.
  • 5 zeigt eine Ausführungsform von zwei Listen von Dateien, die während eines Teilungs- oder eines Verschiebevorgangs in dem Computer der 1 benutzt werden.
  • 6 zeigt ein Dateisystem, das auf dem Zielmedium der 1 während eines Verschiebe- oder Teilungsvorgangs enthalten ist.
  • 7 zeigt ein auf dem Quellmedium der 1 enthaltenes Dateisystem nach einem Teilungsvorgang.
  • 8 zeigt ein auf dem Quellmedium der 8 enthaltenes Dateisystem vor dem Beginn eines Verschiebevorgangs.
  • 9 zeigt ein auf dem Zielmedium der 1 enthaltenes Dateisystem nach dem Beginn der Verschiebeoperation der 8.
  • 10A10B zeigen ein Ablaufdiagramm der Vorgänge zum Kopieren einer Menge von Dateien vom Quellmedium zum Zielmedium der 1, während Benutzern der Zugriff auf Dateien auf das Quellmedium zugelassen ist.
  • Ausführliche Beschreibung der bevorzugten Ausführungsform
  • 1 zeigt einen Computer, der betrieben wird, um Dateien von einem Quellmedium zu einem Zielmedium nach einer Ausführungsform der Erfindung zu verschieben. In 1 funktioniert ein Computer 105 als ein Server, der es anderen ermöglicht, auf Daten zuzugreifen. Jedoch wird ein Fachmann auf dem technischen Gebiet erkennen, dass der Computer 105 nicht auf einen Server beschränkt werden muss, sondern ein jegliches aus einer Vielfalt von Geräten, die in der Lage sind, anderen den Zugriff auf Daten zu ermöglichen, sein kann.
  • Der Computer 105 enthält ein Dateisystem 110, das die Speicherung von Daten auf dem Quellmedium 115 verwaltet. In ähnlicher Weise verwaltet das Dateisystem 190 die Speicherung von Daten auf dem Zielmedium 120. Die Medien sind auf Speichermedien, wie etwa dem Quellmedium 125 und dem Zielmedium 130 gespeichert, und können falls erforderlich auch mehrere physikalische Speichervorrichtungen umfassen (beispielsweise ein Speicherbereichsnetzwerk (SAN, Englisch: Storage Area Network). Sowohl das Quellmedium 125 als auch das Zielmedium 130 können je nach Erfordernis physikalisch innerhalb der Box sein, die der Computer 105 ist, oder sie können von dem Computer 105 abgesetzt sein. Auch können sowohl das Quellmedium 115 als auch das Zielmedium 120 je nach Erfordernis physikalisch innerhalb der Box sein, die der Computer 105 ist, oder sie können von dem Computer abgesetzt, und auch in verschiedenen Computern sein. Typischerweise sind das Quellmedium 115 und das Quellmedium 125 in dem Computer 105 enthalten, jedoch wird ein Fachmann auf dem technischen Gebiet erkennen, dass das Quellmedium 125 und das Quellmedium 115 in einem vom Computer 105 verschiedenen Computer sein können.
  • In der Ausführungsform mit dem Server interagiert ein Client, wie etwa der Client 135, mit dem Computer 105. Der Client 135 wird als ein Desktopcomputersystem gezeigt, einschließlich eines Computers 140, eines Anzeigegeräts 145, einer Tastatur 150 und einer Maus 155, jedoch wird ein Fachmann auf dem technischen Gebiet erkennen, dass der Client 135 andere Formen annehmen kann. Beispielsweise kann der Client unter anderem eine unin telligente Datenstation, eine Internetanwendung oder ein in der Hand haltbares Computergerät sein, mit den entsprechenden Variationen in der Konfiguration. 1 zeigt weder zusätzliche Komponenten, die ein Teil des Clients 135 sein könnten, wie etwa einen Drucker oder andere Eingabe-/Ausgabegeräte, noch zeigt 1 die typischen Komponenten, die ein Client umfasst, wie etwa eine zentrale Verarbeitungseinheit, einen Speicher, eine lokale Speichervorrichtung usw.
  • Ein Systemadministrator kann einen Systemadministrator-Computer 160 benutzen, um mit dem Computer 105 zu interagieren. Wie bei dem Client 135 kann der Systemadministrator-Computer 160 jegliche Form eines Computers sein und ist nicht begrenzt auf das Benutzen einer bestimmten Ausführungsform eines Computers. Typischerweise interagieren der Client 135 und der Systemadministrator-Computer 160 mit dem Computer 105 über ein Netzwerk, wie etwas dem Netzwerk 165. Das Netzwerk 165 kann eine Vielfalt von Netzwerken sein, einschließlich u. a. einem Lokalnetzwerk (LAN, Englisch: Local Area Network), einem Fernbereichsnetzwerk (WAN, Englisch: Wide Area Network), ein globales Netzwerk (wie etwa das Internet) und ein drahtloses Netzwerk (beispielsweise unter Benutzung von Bluetooth oder einem beliebigen nach den IEEE 802.11 Standards). Ein Fachmann auf dem technischen Gebiet wird erkennen, dass der Client 135 und der Systemadministrator-Computer 160 eine direkte Verbindung mit dem Computer 105 aufweisen können, ohne ein Netzwerk zu durchqueren. Der Systemadministrator-Computer 160 kann auch mit dem Computer 105 direkt interagieren, ohne irgendeine Art zwischengeschalteten Computer oder Netzwerk zu benutzen.
  • Auch ist eine Medienspeicherzellendatenbank (VLDB, Englisch: Volume Location DataBase) 185 mit dem Netzwerk 160 verbunden. VLDB 185 verknüpft Medien- bzw. Volumenamen mit einem globalen eindeutigen Bezeichner (GUID, Englisch: Globally Unique Identifier) und der physikalischen Position des Mediums. Benutzeranfragen zum Zugreifen auf bestimmte Medien werden bearbeitet, indem auf die VLDB 185 verwiesen wird, um den physikalischen Ort des angefragten Mediums zu klären.
  • Der Systemadministrator-Computer 160 benutzt die Schnittstelle 170, um an den Medienmanager 175 im Computer 105 angekoppelt zu sein. Die Schnittstelle 170 ist zum Übersetzen von Nachrichten zwischen dem Systemadministrator-Computer 160 und dem Medienmanager 175 verantwortlich. Die Schnittstelle 170 verarbeitet zwei Nachrichten von Interesse von dem Systemadministrator-Computer 160: Medienverschiebung und Medienteilung. Jede dieser Aktionen wird wiederum unten beschrieben.
  • Wenn der Systemadministrator-Computer 160 einen Medienverschiebe-Befehl ausgibt und das Quell- und Zielmedium angibt, überträgt die Schnittstelle 170 den Befehl an den Medienmanager 175. Der Medienmanager 175 verschiebt alle auf dem Quellmedium enthaltenen Daten, wie etwa das Quellmedium 115, zu einem Zielmedium, wie etwa das Zielmedium 120. Typischerweise ist das Zielmedium 120 auf einem abgesetzten Computer enthalten, wie etwa dem Computer 180, der als ein Server funktioniert, der es anderen ermöglicht, auf Daten zuzugreifen. Jedoch wird ein Fachmann auf dem technischen Gebiet erkennen, dass der Computer 180 nicht auf einen Server begrenzt sein muss, sondern jegliches aus einer Vielfalt von Geräten sein kann, die es anderen ermöglicht, auf Daten zuzugreifen. Der Medienmanager 175 aktualisiert die VLDB 185 mit dem [Speicher-]Ort des Zielmediums. Das Aktualisieren der VLDB 185 hat die Wirkung, dass Benutzeranfragen nach Da teien, die vorher von dem Quellmedium geholt worden sind, an das Zielmedium weitergeleitet werden.
  • Wenn der Systemadministrator-Computer 160 einen Medienteilungsbefehl herausgibt und ein Quell- und ein Zielmedium spezifiziert, kann der Systemadministrator-Computer 160 ein Verzeichnis von zu dem Zielmedium 120 zu verschiebenden Quellmedien 115 enthalten. Die Schnittstelle überträgt die Befehle des Systemadministrator-Computers 160 an den Medienmanager 175. Der Medienmanager 175 verschiebt das auf dem Quellmedium 115 enthaltene Verzeichnis von Dateien zu dem Zielmedium 120, und fügt einen Knotenpunkt (Englisch: Junction) in das Quellmedium 115 ein. Ein Knotenpunkt wirkt wie ein Anschlusspunkt bzw. ein „Link" zwischen Medien, der bewirkt, dass das Zielmedium 120 als ein Unterverzeichnis auf dem Quellmedium 115 erscheint. Der Knotenpunkt speichert die GUID des Zielmediums, so dass Anforderungen nach zu dem Zielmedium 120 geteilten Dateien erfüllt werden können, was den Clients den Eindruck vermittelt, dass sich auf dem Quellmedium 115 nichts verändert hat.
  • Während des Teilungs- oder Verschiebevorgangs können Clientcomputer, wie der Client 135, auf Dateien auf dem Quellmedium 115 zugreifen. Clients sind in der Lage, alle normalen Aktivitäten eines Dateisystems auszuführen, einschließlich, jedoch nicht begrenzt auf das Erzeugen, Löschen, Umbenennen und Verändern von Dateien. Das Aufbauen einer Vorrichtung, die es einem Systemadministrator erlaubt, Daten zu verschieben, während sie gleichzeitig Benutzern erlaubt, auf die gleichen Daten zuzugreifen, weist inhärente Herausforderungen auf. Einige Dateien können geöffnet sein zum Beschreiben durch Benutzer, und infolge dessen nicht in der Lage, dass man darauf zugreifen kann. Weil Benutzer in der Lage sind, die Dateisystemdaten zu verändern, nachdem eine Datei verschoben worden ist, ist es auch erforderlich, dass diese Veränderungen mitgezeichnet werden, um sicherzustellen, dass sie auf dem Zielmedium genau widergespiegelt werden. Der Medienmanager erhält eine Liste von aufgezeichneten Dateien, so dass das Zielmedium mit den veränderten Dateien aktualisiert werden kann.
  • 2 zeigt den Verzeichnis- bzw. Medienmanager 175 nach einer Ausführungsform der Erfindung, der dazu ausgebildet ist, eine Liste von Dateien, die während eines Zeitintervalls von Interesse geändert worden sind, einzuholen. Die US Patentanmeldung Seriennr. 10/283,960, die am 29. Oktober 2002 eingereicht worden und derzeit anhängig ist, und die hierin durch Verweis mit aufgenommen wird, beschreibt ein System und ein Verfahren zum Verwalten bzw. Managen von Ereignissen. Wenn der Client 135 mit von dem Dateisystem 110 des Computers 105 verwalteten Dateien interagiert, [dann] erzeugen diese Interaktionen Ereignisse. Wenn beispielsweise der Client 135 eine Datei auf dem Dateisystem 110 abspeichert, dann ist der Vorgang des Abspeicherns der Datei ein Ereignis. Andere übliche Arten von durch den Client veranlassten Ereignissen von Interesse enthalten Änderungen entweder an den Daten oder den Metadaten von Dateien, Löschungen von Dateien und Umbenennungen von Dateien. Andere Ereignisse können ohne Einbindung eines bestimmten Clients auftreten. Beispielsweise kann ein planmäßiges Archivieren von Dateien im Dateisystem 110 die Metadaten der Dateien verändern, wodurch Ereignisse veranlasst werden. Das Dateisystem 110 leitet diese Ereignisse weiter an den Ereignislistenmanager 205, der die Ereignisse in einem Ereignisspeicher 210 abspeichert. Der Ereignislistenmanager 205 ist verantwortlich für das Abspeichern von Ereignissen, wenn diese von dem Dateisystem 110 erzeugt werden, und für das Antworten auf Computerprozesse, die daran interessiert sind, Ereignislisten zu emp fangen. Der Medienmanager 175 definiert ein Intervall von Interesse mit dem Ereignislistenmanager 205 und empfängt eine Liste von Dateien, die während des Intervalls von Interesse geändert wurden. Der Medienmanager 175 benutzt die von dem Ereignislistenmanager 205 empfangene Liste, um Änderungen, die in dem Dateisystem 110 auftreten, an das Dateisystem 190 zu übertragen. In 2 ist das Dateisystem 190 im Computer 180 gezeigt, jedoch wird ein Fachmann auf dem technischen Gebiet erkennen, dass das Dateisystem 190 (und das in 2 nicht gezeigte Zielspeichermedium 130) Bestandteil des Computers 105 sein können.
  • In einer Ausführungsform benutzt der Medienmanager 175 Lese- und Schreib-Befehle des Dateisystems (typischerweise in einer erweiterbaren Auszeichnungssprache (Extensible Markup Language, XML), um mit dem Ereignislistenmanager 205 zu kommunizieren. In einer zweiten Ausführungsform sendet der Dateimanager einen XML [Daten]strom gemäß eines einfache Objektzugangsprotokolls (SOAP, Englisch: Simple Object Access Protocol), um mit dem Ereignislistenmanager zu kommunizieren. In beiden Fällen sendet der Medienmanager 175 eine Nachricht an den Ereignislistenmanager 205, der den Beginn einer Epoche deklariert und der anfordert, dass Ereignisse, die Dateiveränderungen miteinbeziehen, wie etwa Dateilöschen, Umbenennen und Erzeugen, mit der Epoche verknüpft werden können. Bevor die Liste der veränderten Dateien eingeholt werden kann, wird die aktive Epoche geschlossen. Der Medienmanager 175 schließt die aktive Epoche mit dem Ereignislistenmanager 205, indem eine Nachricht gesendet wird, die das Ende der Epoche deklariert, oder eine Nachricht, die eine neue Epoche startet. Wenn die Epoche einmal geschlossen wird, sendet der Medienmanager 175 eine Nachricht an den Ereignislistenmanager 205, der die Liste der geänderten Dateien anfordert. In Antwort darauf sendet der Ereignislistenmanager 205 eine Liste von Dateien, die mit der Epoche verknüpft waren, an den Medienmanager 175. Eine weitere Beschreibung des Verfahrens zum Erhalten einer Liste modifizierter Dateien aus dem Ereignislistenmanager 205 wird unten beschrieben.
  • Obwohl 2 den Ereignislistenmanager 205 als Teil des Computers 105 zeigt, wird ein Fachmann auf dem technischen Gebiet erkennen, dass der Ereignislistenmanager 205 von dem Computer 105 abgesetzt sein kann. Mit anderen Worten kann der Ereignislistenmanager 205 auf einem von dem Computer 105 verschiedenen Computer betrieben werden, und interagiert mit dem Computer 105 entweder über eine direkte Datenverbindung oder über ein Netzwerk 165.
  • 3 zeigt eine in dem Zielmedium 115 enthaltene Verzeichnisstruktur 305 vor dem Beginn eines Teilungsvorgangs. Dem Teilungsvorgang unterliegenden Elemente im Quellmedium 115 sind im Verzeichnis 315 enthalten. Alle in dem Verzeichnis 315 enthaltenen Dateien, die Datei Datei2.txt 320, sollen vom Quellmedium 115 der 3 zum Zielmedium 120 der 4 verschoben werden. Die Inhalte der Verzeichnisstruktur 410 auf dem Zielmedium 120, nachdem der Teilungsvorgang abgeschlossen ist, ist in 4 veranschaulicht. In dieser Ausführungsform sind die Struktur und die Hierarchie der Verzeichnisse 315 (3) auf dem Zielmedium 120 (4) die gleichen wie die auf dem Quellmedium 115 (3).
  • Der Medienmanager durchsucht die Listen des Verzeichnisses 315 (3), die die Versuche, eine jeweilige Datei von dem Quellmedium 115 (3) zu einem Zielmedium 120 (4) zu kopieren versucht. Während des Durchsuchens des Satzes der dem Teilungsvorgang unterliegenden Dateien führt der Medienmanager zwei Listen, wie weiter unten mit Verweis auf 5 besprochen wird. Ein Fachmann auf dem technischen Gebiet wird erkennen, dass die zwei Listen jede beliebige aus einer Anzahl von verschiedenen Datenstrukturen sind, die in der Lage zum Halten bzw. Speichern von Daten sind, benutzen kann. Die erste Liste bezeichnet Dateien, die nicht in der Lage waren, zum Zielmedium kopiert zu werden (dies kann beispielsweise vorkommen, wenn die Datei zum Schreiben durch einen Client geöffnet ist). Wenn der Medienmanager das Verzeichnis 315 (3) durchsucht, wird jede Datei, die nicht kopiert werden kann, zu der ersten Liste von Dateien hinzugefügt. Die zweite Liste enthält Dateien, die nach dem ursprünglichen Versuch des Systems, diese zu kopieren, verändert worden sind. In einer unten näher beschriebenen Ausführungsform holt der Dateimanager die zweite Liste von Dateien aus dem Ereignislistenmanager.
  • 5 zeigt eine mögliche Ausführungsform einer ersten Liste 505 und einer zweiten Liste 510 von Dateien, nach dem der Medienmanager eine Durchsuchung des dem Teilungsvorgang unterliegenden Verzeichnisses 315 (3) abgeschlossen hat. In 5 erscheint Datei2.txt 320 in der ersten Liste 505 von Dateien, weil der Medienmanager nicht in der Lage war, die Datei Datei2.txt 320 zu dem Zielmedium 120 zu kopieren. Zusätzliche Durchquerungen oder andere Prozeduren, wie unten beschrieben, sind erforderlich, um die Datei Datei7.txt 525 in der zweiten Liste 510 von Dateien erscheinen zu lassen. Der Medienmanager war in der Lage, die beiden Dateien während der Durchsuchung in das Zielmedium 120 zu kopieren. Jedoch wurden sowohl Datei3.txt 520 als auch Datei7.txt 525 verändert, nach dem der Medienmanager diese kopierte. Die an der Datei3.txt 520 und der Datei7.txt 525 angebrachten Veränderungen werden auf dem Zielmedium 120 nicht genau wiedergegeben, und es sind zusätzliche Durchsuchungen oder andere Prozeduren, wie unten be schrieben, erforderlich, um den Teilungsvorgang abzuschließen.
  • Die Datei Datei6.txt 325 (3) erscheint weder in der ersten Liste 505 noch in der zweiten Liste 510 der 5. Sie erscheint nicht in der ersten Liste 505, weil der Medienmanager in der Lage war, sie während der Durchsuchung zum Zielmedium 120 zu kopieren. Datei6.txt 325 erscheint nicht der zweiten Liste, weil keine Veränderungen aufgetreten sind, nachdem sie zum Zielmedium kopiert worden ist. Datei6.txt 325 wurde ohne Erfordernis nach jeglichen weiteren Prozeduren verschoben.
  • 6 veranschaulicht das Verzeichnis 605 des Zielmediums 120 für die gegebenen Inhalte der ersten und zweiten Liste von Dateien in 5. In 6 erscheint Datei2.txt nicht in der Verzeichnisstruktur 410 des Zielmediums 120, weil die Datei noch nicht kopiert worden ist. In 3 erscheinen Datei3.txt 520 und Datei7.txt 525 in dem Zielmedium, weil beide Dateien aus dem Quellmedium kopiert wurden. Weil jedoch sowohl Datei3.txt 520 als auch Datei7.txt 525 verändert wurden, nachdem sie kopiert worden sind, sind die Versionen dieser auf dem Zielmedium 120 der 6 gespeicherten Dateien nicht auf dem aktuellen Stand.
  • 7 zeigt das Quellmedium 115 und das Dateisystem 305 nach dem der Teilungsvorgang abgeschlossen ist. Der Medienmanager platziert einen Knotenpunkt (Englisch: Junction) 710 in das Quellmedium 115 an der Wurzel des Verzeichnisses, das aufgeteilt wurde. Wie oben mit Verweis auf 1 besprochen verbindet ein Kontenpunkt ein Medium (Englisch: Volume) mit einem zweiten Medium. Die Verbindungsstelle 710 löst Benutzeranfragen auf für Dateien, die „geteilt" wurden, indem die GUID des Zielmediums 120 gespeichert wird, wodurch es dem Computer 105 ermöglicht wird, den physikalischen [Speicher]Ort der angeforderten Dateien einzuholen. Die Benutzung des Knotenpunkts 710 verleiht den Clients den Eindruck, dass sich in dem Quellmedium 115 nichts verändert hat, obwohl ein Teil der Dateien von dem Quellmedium 115 zu dem Zielmedium 120 verschoben worden sind.
  • 8 zeigt in dem Quellmedium 115 enthaltene Verzeichnisstrukturen 805 vor einem Verschiebevorgang. Alle Dateien, wie etwa Datei5.txt 815, werden von dem Quellmedium 815 der 8 zum Zielmedium 120 der 9 verschoben. Nachdem der Verschiebungsvorgang abgeschlossen ist, sind die Inhalte des Zielmediums in der der 9 gezeigten Verzeichnisstruktur 905. In dieser Ausführungsform sind der Aufbau und die Hierarchie der Verzeichnisstruktur 805 (8) in dem Zielmedium 120 (9) dieselben wie in dem Quellmedium 115 (8).
  • Sowohl in den Medienverschiebe- als auch den Medienteilungsvorgängen sind die Techniken zum Kopieren der Dateien die gleichen. Wie oben mit Verweis auf eine Medienteilung (3 und 4) beschrieben, führt der Medienmanager zwei Listen von Dateien (siehe 5), wenn er ein Verzeichnis, das einem Medienverschiebungsvorgang unterliegt, durchsucht. Die erste Liste identifiziert Dateien, die nicht in der Lage waren, zu dem Zielmedium 120 kopiert zu werden (9). Die zweite Liste enthält Dateien, die nach dem anfänglichen Versuch des Verzeichnismanagers, diese aus dem Quellmedium 115 (8) in das Zielmedium 120 (9) zu kopieren, verändert worden sind. Wenn eine Datei in einer der beiden Listen erscheint, dann sind zusätzliche Durchsuchungen oder andere Prozeduren erforderlich, um den Verschiebe- oder Teilungsvorgang abzuschließen.
  • Obwohl die Technik zum Kopieren der Dateien sowohl bei einer Medienteilung als auch bei einer Medienverschiebung die gleiche ist, gibt es zwischen den zwei Vorgängen doch Unterschiede. In einer Medienverschiebung wird der gesamte Inhalt eines Mediums verschoben, wohingegen eine Medienteilung nur involviert, dass ein Verzeichnis eines Mediums verschoben wird. Auch platziert der Medienmanager in einer Medienteilung, nach dem der „Verschiebungs" Anteil des Vorgangs abgeschlossen ist, einen Knotenpunkt in das Quellmedium an der Wurzel des Unterverzeichnisbaums, der verschoben worden ist.
  • 10A10B zeigen ein Ablaufdiagramm des Vorgangs zum Kopieren von Dateien vom Quellmedium zum Zielmedium des Computers in 1 gemäss einer Ausführungsform der Erfindung. In 10A gibt beim Schritt 1005 ein Systemadministrator entweder einen Medienverschiebe- oder einen Medienteilungsbefehl, die aus der Schnittstelle des Computers in 1 zu dem Medienmanager übertragen werden.
  • In Schritt 1010 (10A) bestimmt der Medienmanager, ob der Befehl ein Medienteilungs- oder ein Medienverschiebungsbefehl ist. Wenn der Befehl ein Medienteilungsbefehl ist, erzeugt der Medienmanager ein Zielmedium, das zum Verwalten der dem Teilungsvorgang zu Grunde liegenden Dateien verantwortlich wird. Das Erzeugen des Zielmediums schließt das Zuweisen einer GUID und das Verknüpfen der GUID mit dem physikalischen [Speicher] Ort des Zielmediums in der VLDB mit ein.
  • Es sei angemerkt, dass der Schritt 1010 im Fall einer Medienverschiebung, nicht ausgeführt wird. Stattdessen wird im Schritt 1060 (10B) die VLDB aktualisiert. Der Grund, dass die VLDB im Schritt 1010 im Fall einer Medienverschiebung nicht aktualisiert wird, ist, dass bei einer Mediumverschiebung der Medienname nicht verändert wird. Wenn daher das Zielmedium zu der VLDB hinzugefügt worden ist, bevor das Quellmedium entfernt wurde, würde die VLDB zwei verschiedene mögliche Medien für eine Medienanfrage bzw. -anforderung aufführen. Es könnten Anforderungen zum Zugreifen auf das Medium über den Namen an das Zielmedium, weder die gewünschte Datei noch die gewünschte Datei gerichtet hat, dass die gewünschte Datei jedoch noch nicht aufweisen könnte (oder eine nicht aktualisierte Version der Datei aufweisen könnte). Stattdessen werden die Dateien in das Zielmedium kopiert, bevor die VLDB aktualisiert wird, und die VLDB wird nur aktualisiert, wenn der Medienverschiebevorgang abgeschlossen ist.
  • Im Schritt 1015 (10A) definiert der Medienmanager ein Intervall von Interesse mit dem Ereignislistenmanager. Wie vorhergehend beschrieben, ist der Ereignislistenmanager verantwortlich für das Speichern von Ereignissen, so wie sie durch ein Dateisystem erzeugt werden, und für das Antworten auf Computerprozesse, die daran interessiert sind, Ereignislisten zu empfangen. Der Medienmanager definiert bei dem Ereignislistenmanager ein Intervall von Interesse, in welchem Dateien, die geändert, erzeugt, umbenannt oder gelöscht worden sind, zu der in dem Schritt 1020 erzeugten zweiten Liste von Dateien hinzugefügt werden (10A). In einer Ausführungsform deklariert der Medienmanager eine Epoche mit dem Ereignislistenmanager. Nachdem ein erster Durchlauf über die zu verschiebenden Dateien ausgeführt worden ist, kann der Medienmanager von dem Ereignislistenmanager Ereignisse anfordern, die Dateien spezifizieren, die seitdem die Epoche deklariert wurde, abgeändert worden sind.
  • Im Schritt 1020 in 10A erzeugt der Medienmanager zwei leere Listen, die wie oben beschrieben in der Lage sind zum Abspeichern von Daten.
  • Im Schritt 1025 durchsucht der Medienmanager das Verzeichnis von Dateien, die einem Verschiebe- oder Teilungsbefehl des Systemadministrators unterliegen, und versucht, eine jeweilige Datei vom Quellmedium zu dem Zielmedium zu kopieren. Die Dateivervielfältigungen können unter Benutzung des Dateisystems Application Programm Interfaces (APIs) (übersetzt: Anwendungsprogrammschnittstelle) erzielt werden, obwohl ein Fachmann auf dem technischen Gebiet erkennen wird, dass andere Techniken zum Kopieren der Dateien benutzt werden können. Der Medienmanager bestimmt, ob eine jeweilige Datei in der Lage ist, kopiert zu werden, und kopiert diejenigen Dateien, deren Übertragung erlaubt ist. Eine jeweilige Datei, die nicht in der Lage ist, kopiert zu werden, wird der ersten Liste von Dateien hinzugefügt.
  • Ab einem gewissen Punkt ist die zweite Liste besetzt mit Dateien, die während des Intervalls von Interesse modifiziert worden sind (siehe Schritt 1015). Ein Fachmann auf dem technischen Gebiet wird erkennen, dass es eine Vielfalt von Arten und Weisen gibt, um die zweite Liste zu besetzen. In einer Ausführungsform fordert der Medienmanager Ereignisse von dem Ereignislistenmanager an, und besetzt die zweite Liste mit allen Dateien, die während des Intervalls von Interesse verändert worden sind. In dieser Ausführungsform könnten einige Dateien in der zweiten Liste verändert worden sein, bevor der Medienmanager sie kopierte. Diese Dateien werden noch einmal kopiert, obwohl alle Veränderungen auf dem Zielmedium genau wiedergegeben sind. Jedoch sind zusätzliche Ressourcen, die für diese Dateien verwendet worden sind, nicht von Bedeutung, weil diese in ihrer Anzahl gering sind.
  • In einer zweiten Ausführungsform aktualisiert der Ereignislistenmanager die zweite Liste automatisch mit den Dateien, die verändert worden sind, nach dem der Medienmanager versucht hat, diese zu kopieren. Der Ereignislistenmanager beschafft die für die versuchte Vervielfältigung einer jeweiligen Datei verwendete Zeit von dem Medienmanager. Die Zeit für die versuchte Vervielfältigung wird verglichen mit der Zeit des letzten Ereignisses für eine jeweilige Datei. Durch diesen Vergleich ist der Ereignislistenmanager in der Lage, die zweite Liste mit Dateien zu besetzen, die erst geändert worden sind, nachdem der Medienmanager versucht, diese zu kopieren. In einer dritten Ausführungsform besetzt der Medienmanager die zweite Liste mit Dateien, die nach dem Versuch, diese zu kopieren, abgeändert worden sind. Der Medienmanager beschafft die Zeit des letzten Ereignisses für eine jeweilige Datei aus dem Ereignislistenmanager. Die von dem Ereignislistenmanager eingeholte Zeit wird mit der Zeit vergleichen, die der Medienmanager versuchte, die Datei zu vervielfältigen. Durch diesen Vergleich ist der Medienmanager in der Lage, die zweite Liste mit Dateien zu besetzen, die nach dem Versuch des Medienmanagers, diese zu kopieren, abgeändert worden sind.
  • In 10A beim Schritt 1030 untersucht der Medienmanager die jüngsten Ereignisse in der ersten und zweiten Liste nach Einträgen. Wenn beide Listen leer sind, ist der Vorgang des Kopierens von Dateien aus dem Quellmedium in das Zielmedium (1) abgeschlossen, weil alle Dateien, die dem Verschiebungs- oder Teilungsvorgang unterliegen, kopiert worden sind. Der Vorgang kann dann mit dem Schritt 1050 der 10B fortgesetzt worden.
  • Zurückkehrend zur 10A, wenn mindestens eine Datei in einer der Listen [vorhanden] ist, dann bestimmt der Medienmanager im Schritt 1035, ob eine andere Durchsu chung über den Dateien, die dem Verschiebe- oder Teilungsvorgang unterworfen wurden, erforderlich ist. In einer Ausführungsform bestimmt der Medienmanager, ob Dateien während der letzten Durchsuchung im Schritt 1025 verschoben worden sind. Der Medienmanager benutzt einen Zähler, um die Anzahl der Dateien zu bestimmen, die während der letzten Durchsuchung kopiert worden sind. Wenn der Medienmanager befindet, dass während der letzten Durchsuchung keine zusätzlichen Dateien kopiert worden sind, dann kehrt er zum Schritt 1020 zurück. Jedoch wird ein Fachmann auf dem technischen Gebiet erkennen, dass es eine Anzahl von Arten und Weisen gibt, um zu bestimmen, ob Dateien während einer Durchsuchung des Dateisystems verschoben worden sind. Beispielsweise können die beiden Listen untersucht werden, um herauszufinden, ob irgendwelche Dateien in den Listen verbleiben. Der Vorgang zum Kopieren der verbleibenden Dateien ist der gleiche wie oben für die Dateien, die vorhergehend kopiert worden sind, beschrieben, obwohl die Menge der zu kopierenden Dateien kleiner ist.
  • Wenn der Medienmanager in 10A im Schritt 1035 bestimmt, dass der Versuch, die Dateien zu kopieren, ohne Clients auszuschließen, nicht erfolgreich sein wird, dann sind weitere Prozeduren erforderlich, um die verbleibenden Dateien zu kopieren. Wenn beispielsweise eine Datei während einer ausgedehnten Zeitdauer zum Schreiben auf einem Clientcomputer offen geblieben ist, dann wird der wiederholte Versuch, die Datei zu kopieren, nicht helfen. In einer Ausführungsform wird im Schritt 1040 der Zugriff des Clients auf in der ersten und zweiten Liste enthaltene Dateien begrenzt. Infolgedessen sind alle verbleibenden Dateien in der Lage, kopiert zu werden. Im Schritt 1040 in 10A durchsucht das Dateisystem und kopiert alle Dateien, die nach den jüngsten Ereignissen bzw. Umständen in der ersten und zweiten Liste erscheinen. Nach dem Vervollständigen des Schritts 1045 (10A) sind alle dem Verschiebe- oder Teilungsvorgang unterworfenen Dateien kopiert worden, und im Schritt 1047 (10A) sind diese Dateien entriegelt bzw. freigeschaltet worden. Der Vorgang kann dann mit dem Schritt 1050 der 10B fortgesetzt werden.
  • Nachdem alle dem Verschiebe- oder Teilungsvorgang unterliegenden Dateien kopiert worden sind, werden Client-Anforderungen nach den Dateien an das Zielmedium weitergeleitet. Im Schritt 1050 in 10B bestimmt der Medienmanager, ob der Systemadministrator einen Medienverschiebe- oder einen Medienteilungsbefehl ausgegeben hat.
  • Wenn der Vorgang eine Medienteilung ist, dann platziert der Medienmanager im Schritt 1055 einen Knotenpunkt, der die GUID des Zielmediums enthält, in das Quellmedium an der Wurzel des Unterverzeichnisbaums, der verschoben worden ist. Wie oben erwähnt, verleiht der Einsatz eines Knotenpunkts den Clients den Anschein, dass sich in dem Medium nichts verändert hat, obwohl ein Teil der Dateien in dem Quellmedium zu dem Zielmedium verschoben worden sind. Clients sind in der Lage, auf Dateien in dem verschobenen Verzeichnisbaum zuzugreifen, weil ein Knotenpunkt die GUID benutzt, um Client-Anforderungen bezüglich der verschobenen Dateien an das Zielmedium weiterzuleiten.
  • Wenn der Vorgang eine Medienverschiebung ist, dann fährt der Medienmanager beim Schritt 1060 fort und aktualisiert die VLDB, um den Verschiebungsbefehl wiederzuspiegeln. In einer Medienverschiebung werden die gesamten Inhalte eines Mediums von dem Quellmedium zu dem Zielmedium kopiert. Wie oben mit Verweis auf 1 beschrieben, verkürzt die VLDB Medien mit deren physikalischer [Speicher-]Position in einem Speichergerät. Client-Anforderungen bezüglich Dateien werden geklärt, indem die physikalische Position auf dem Verzeichnis, das die von dem VLDB angeforderten Dateien enthält, eingeholt wird. Um Anforderungen nach Dateien an das Zielmedium weiterzuleiten, aktualisiert der Medienmanager die VLDB, in dem die Konfiguration des Quellmediums in die des Zielmediums abgeändert wird. Nachdem Client-Anforderungen bezüglich Dateien an das Zielmedium weitergeleitet sind, werden die einem Verschiebe- oder Teilungsvorgang unterworfenen Dateien vom Quellmedium gelöscht. Im Schritt 1065 in 10B löscht der Medienmanager Dateisystemdaten vom Quellmedium. Die durch die verschobenen Dateien benutzten Ressourcen sind nun zum Speichern von anderen Daten frei. In einer Ausführungsform wird das Dateisystem als ein Hintergrundprozess gelöscht. Jedoch wird ein Fachmann auf dem technischen Gebiet erkennen, dass das Löschen des Dateisystems in einer Vielzahl von Arten und Weisen abgeschlossen werden kann.
  • Ein Fachmann auf dem technischen Gebiet wird erkennen, dass die in den 10A10B gezeigten Ablaufdiagramme eine von vielen verschiedenen Sequenzen von Schritten sind, die benutzt werden können, um die gleichen Ergebnisse zu erzielen. Beispielsweise kann der Schritt 1065 (10B) getrennt von den vorhergehenden Schritten ausgeführt werden, möglicherweise als Teil einer regulären Systemwartung beim Löschen unnötiger Dateien, nach einer vorgegebenen Zeitdauer.
  • Ein Fachmann auf dem technischen Gebiet wird erkennen, dass eine oben beschriebene Ausführungsform der Erfindung unter Benutzung eines geeignet programmierten Computers implementiert werden kann. In dem Fall wird das Verfahren als ein Programm umfassende Anweisungen ausge führt (in diesem Fall: Anweisen einer zentralen Verarbeitungseinheit, wie die anderen Programme auszuführen sind). Das Programm kann auf computerlesbaren Medien, wie etwa Floppy Disks, optischen Platten (wie etwa CDs), festen Platten (wie etwa Festplatten), Direktzugriffsspeichern (RAM, Englisch: Random Access Memory), Nur-Lese-Speichern (ROM, Englisch: Read-Only Memory) oder Flash-Speichern gespeichert werden. Das Programm kann dann auf einem Computer ausgeführt werden, um das Verfahren zu implementieren. Ein Fachmann auf dem technischen Gebiet wird auch erkennen, dass eine oben beschriebene Ausführungsform ein computerlesbares, moduliertes Trägersignal umfassen kann, und dass das Programm oder Teile seiner Ausführung auf mehrere Computer in einem Netzwerk verteilt sein können.
  • Nachdem die Prinzipien der Erfindung in einer ihrer Ausführungsform veranschaulicht und beschrieben worden sind, sollte für den Fachmann auf dem technischen Gebiet offensichtlich sein, dass die Erfindung in ihrer Ausführung und in Einzelheiten geändert werden kann, ohne von derartigen Prinzipien abzuweichen. Es werden alle Abänderungen, die innerhalb des Schutzumfangs der beigefügten Patentansprüche fallen, beansprucht.

Claims (20)

  1. Ein System zum Verschieben von Daten, umfassend: ein erstes Speichermedium (125); ein erstes Medium (115) auf dem ersten Speichermedium, wobei das erste Medium mindestens eine Datei (320, 325) enthält; ein zweites Speichermedium (130); ein zweites Medium (120) auf dem zweiten Speichermedium; eine Dateivervielfältigungsvorrichtung zum Vervielfältigen eines Satzes von Dateien von dem ersten Medium zu dem zweiten Medium; wobei die Dateivervielfältigungsvorrichtung umfasst: Mittel zum Versuchen, einen Satz von Dateien von dem Quellmedium zu dem Zielmedium zu vervielfältigen (1025), während einem Client (135) ermöglicht wird, mindestens eine Datei aus dem Satz von Dateien zuzugreifen; dadurch gekennzeichnet, dass das System ferner umfasst: Mittel zum Identifizieren (1035) jeglicher Dateien, die nicht zu dem Zielmedium vervielfältigt werden konnten, in einer ersten Liste (505) von Dateien; Mittel zum Identifizieren jeglicher Dateien in dem Satz von Dateien, die aktualisiert worden sind seitdem die Dateien zu dem Zielmedium vervielfältigt worden sind, in einer zweiten Liste (510) von Dateien, wobei das System dazu ausgebildet ist, dass wenn Einträge in der ersten und/oder zweiten Liste verbleiben, eine neue Liste aus der ersten Liste der Dateien und der zweiten Liste der Dateien zu erstellen, und das System dazu ausgebildet ist, die Mittel zum Versuchen, auf der neuen Liste zu vervielfältigen und die Mittel zum Identifizieren jeglicher Dateien, die nicht vervielfältigt werden konnten, und die Mittel zum Identifizieren jeglicher Dateien in dem Satz von Dateien, die aktualisiert worden sind, entweder erneut einzusetzen oder Mittel zum Beschränken von Zugriff (1040) auf die Dateien in der neuen Liste und Mittel zum Vervielfältigen der Dateien in der neuen Liste zu dem Zielmedium einzusetzen, wobei das System ferner umfasst: Mittel zum Leiten (1060) von Anfragen nach Dateien in dem Satz von Dateien dem bzw. von dem Quellmedium zu dem Zielmedium; und Mittel zum Löschen (1065) aller Dateien in dem Satz von Dateien von dem Quellmedium.
  2. Ein System nach Anspruch 1, ferner umfassend einen Ereignislisten-Manager (205) zum Identifizieren der Dateien in der zweiten Liste (510) von Dateien.
  3. Ein System nach Anspruch 1, ferner umfassend einen Medium-Manager (175), der dazu funktionsfähig ist, die Dateivervielfältigungsvorrichtung zu benutzen, um mindestens eine Datei von dem ersten Medium (115) zu dem zweiten Medium (120) zu vervielfältigen und die erste Liste (505) von Dateien und die zweite Liste (510) von Dateien zu verwalten.
  4. Ein System nach Anspruch 3, wobei der Medien-Manager (175) funktionsfähig dazu ist, mindestens eine zweite Datei von dem ersten Medium (115) zu dem zweiten Medium (120) aus einer Vereinigung der ersten Liste (505) von Dateien und der zweiten Liste (510) von Dateien zu vervielfältigen.
  5. Ein System nach Anspruch 1, ferner umfassend einen Knotenpunkt (710), der das zweite Medium mit dem ersten Medium verbindet.
  6. Ein System nach Anspruch 1, ferner umfassend eine Mediumspeicherstellendatenbank (185), die eine Speicherstelle des ersten Mediums (115) und eine Speicherstelle des zweiten Mediums (120) speichert.
  7. Ein System nach Anspruch 1, ferner umfassend: einen ersten Computer (105) mit dem ersten Speichermedium (125); und einen zweiten Computer (180) mit dem zweiten Speichermedium (130).
  8. Ein System nach Anspruch 1, ferner umfassend eine Schnittstelle (170) mit dem ersten Computer (105), wobei die Schnittstelle einem Systemadministrator (160) ermöglicht, das erste Medium (115) und das zweite Medium (120) auszuwählen, und einen auf dem ersten Medium enthaltenen Satz von Dateien zum Vervielfältigen auf das zweite Medium unter Benutzung der Dateivervielfältigungsvorrichtung auszuwählen.
  9. Ein System nach Anspruch 8, ferner umfassend einen ersten Computer (105), wobei der erste Computer die Schnittstelle (170) umfasst.
  10. Ein System nach Anspruch 9, ferner umfassend einen zweiten Computer (180), wobei der zweite Computer mindestens eines aus dem ersten Speichermedium (125) und dem zweiten Speichermedium (130) umfasst.
  11. Ein computerimplementiertes Verfahren zum Verschieben von Dateien, umfassend: a) Identifizieren eines Quellmediums (115); b) Identifizieren eines Zielmediums (120); c) Versuchen, einen Satz von Dateien von dem Quellmedium zu dem Zielmedium zu vervielfältigen (1025), während einem Client (135) erlaubt wird, auf mindestens eine Datei aus dem Satz von Dateien zuzugreifen; dadurch gekennzeichnet, dass das Verfahren ferner umfasst: d) Identifizieren (1035) jeglicher Dateien, die nicht zu dem Zielmedium vervielfältigt werden konnten, in einer ersten Liste (505) von Dateien; e) identifizieren jeglicher Dateien in dem Satz von Dateien, die aktualisiert worden sind seitdem die Dateien zu dem Zielmedium vervielfältigt worden sind, in einer zweiten Liste (510) von Dateien; wobei das Verfahren ferner, wenn Einträge in der ersten und/oder zweiten Liste von Dateien verbleiben, die folgenden Schritte umfasst: f) Erstellen einer neuen Liste aus der ersten Liste von Dateien und der zweiten Liste von Dateien; und Wiederholen der Schritte c) bis e), auf dieser neuen Liste oder g) Begrenzen von Zugriff (1040) auf die Dateien in der neuen Liste und Vervielfältigen (1045) der Dateien in der neuen Liste zu dem Zielmedium, wobei das Verfahren ferner die Schritte umfasst: h) Leiten (1060) von Anfragen nach Dateien in dem Satz von Dateien von dem Quellmedium zu dem Zielmedium; und i) Löschen (1065) aller Dateien in dem Satz von Dateien aus dem Quellmedium.
  12. Ein computerimplementiertes Verfahren nach Anspruch 11, wobei das Versuchen, einen Satz von Dateien aus dem Quellmedium (115) zu vervielfältigen, das Verwenden einer Anwendungsprogrammschnittstelle (API, Englisch: Application Program Interface) eines Dateisystems (110, 190), um auf die Dateien zuzugreifen, umfasst.
  13. Ein computerimplementiertes Verfahren nach Anspruch 11, wobei das Identifizieren jeglicher Dateien in dem Satz von Dateien, die aktualisiert worden sind, das Identifizieren jeglicher Dateien, die neu benannt, abgeändert oder erzeugt worden sind, umfasst.
  14. Ein computerimplementiertes Verfahren nach Anspruch 13, wobei das Identifizieren jeglicher Dateien in dem Satz von Dateien, die aktualisiert worden sind, ferner umfasst das Identifizieren jeglicher Dateien, die gelöscht worden sind.
  15. Ein computerimplementiertes Verfahren nach Anspruch 14, wobei das Vervielfältigen der Dateien in der zweiten Liste (510) von Dateien zu dem Zielmedium (120) das Vervielfältigen jeglicher Dateilöschungen, umfasst.
  16. Ein computerimplementiertes Verfahren nach Anspruch 11, wobei das Leiten von Anfragen (1060) nach Dateien in dem Satz von Dateien aus dem Quellmedium (115) zu dem Zielmedium (120) das Bestimmen (105), ob der Medien-Manager (175) eine Mediumverschiebung oder eine Mediumaufteilung abschließt, umfasst.
  17. Ein computerimplementiertes Verfahren nach Anspruch 16, ferner umfassend das Ersetzen von Dateien aus dem Quellmedium (115), die zu dem Zielmedium (120) vervielfältigt werden, mit einem Knotenpunkt (1055), der dazu funktionsfähig ist, das Zielmedium mit dem Quellmedium zu verbinden, wenn der Medien-Manager (175) eine Medienaufteilung abschließt.
  18. Ein computerimplementiertes Verfahren nach Anspruch 16, ferner umfassend Durchsehen (1060) der Medienspeicherstellendatenbank (185), um Anfragen nach Dateien in dem Satz von zu dem Zielmedium (120) verschobenen Dateien zu leiten.
  19. Ein Computerprogramm, das wenn es auf einem Computersystem ausgeführt wird, in der Lage ist, die Schritte nach einem der Ansprüche 11 bis 18 auszuführen.
  20. Das Computerprogramm nach Anspruch 19, wenn bis auf einem computerlesbaren Medium gespeichert ist.
DE602004013397T 2003-04-14 2004-02-27 Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen Expired - Lifetime DE602004013397T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US413957 1989-09-28
US10/413,957 US7281014B2 (en) 2003-04-14 2003-04-14 Method and apparatus for moving data between storage devices

Publications (2)

Publication Number Publication Date
DE602004013397D1 DE602004013397D1 (de) 2008-06-12
DE602004013397T2 true DE602004013397T2 (de) 2009-07-02

Family

ID=33097886

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004013397T Expired - Lifetime DE602004013397T2 (de) 2003-04-14 2004-02-27 Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen

Country Status (3)

Country Link
US (1) US7281014B2 (de)
EP (1) EP1480130B1 (de)
DE (1) DE602004013397T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805401B2 (en) * 2003-04-14 2010-09-28 Novell, Inc. Method and apparatus for splitting a replicated volume
US7216207B1 (en) * 2004-03-08 2007-05-08 International Business Machines Corporation System and method for fast, secure removal of objects from disk storage
US7519596B2 (en) 2004-03-30 2009-04-14 Microsoft Corporation Globally trusted credentials leveraged for server access control
US7801854B2 (en) * 2004-11-15 2010-09-21 Microsoft Corporation Managing lists and other items in an electronic file system
US20060277225A1 (en) * 2005-06-07 2006-12-07 Mark Timothy W Converting file system metadata structure while the file system remains available
US20060282471A1 (en) * 2005-06-13 2006-12-14 Mark Timothy W Error checking file system metadata while the file system remains available
US20070022148A1 (en) * 2005-07-20 2007-01-25 Akers David G Reserving an area of a storage medium for a file
US7660837B2 (en) * 2006-06-30 2010-02-09 Broadcom Corporation Method for automatically managing disk fragmentation
US7765244B2 (en) * 2006-06-30 2010-07-27 Broadcom Corporation Fast and efficient method for deleting very large files from a filesystem
US20080033902A1 (en) * 2006-08-04 2008-02-07 Platespin Ltd A Method for Providing Live File Transfer Between Machines
GB0616265D0 (en) * 2006-08-16 2006-09-27 Ibm Efficient synchronised updates to a data record in a data store
US7933921B2 (en) 2006-11-29 2011-04-26 Netapp, Inc. Referent-controlled location resolution of resources in a federated distributed system
US9134921B1 (en) 2007-04-23 2015-09-15 Netapp, Inc. Uniquely naming storage devices in a global storage environment
US20120110259A1 (en) * 2010-10-27 2012-05-03 Enmotus Inc. Tiered data storage system with data management and method of operation thereof
US10521309B1 (en) * 2013-12-23 2019-12-31 EMC IP Holding Company LLC Optimized filesystem walk for backup operations
US10678762B2 (en) 2015-05-01 2020-06-09 Microsoft Technology Licensing, Llc Isolating data to be moved across boundaries
US10229124B2 (en) 2015-05-01 2019-03-12 Microsoft Technology Licensing, Llc Re-directing tenants during a data move
US10261943B2 (en) 2015-05-01 2019-04-16 Microsoft Technology Licensing, Llc Securely moving data across boundaries
US10216379B2 (en) 2016-10-25 2019-02-26 Microsoft Technology Licensing, Llc User interaction processing in an electronic mail system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
JPS59165161A (ja) * 1983-03-11 1984-09-18 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン ワード・プロセッシング・システムにおけるデータ・セットのボリューム回復方法
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
JP2924905B2 (ja) * 1988-03-25 1999-07-26 エヌシーアール インターナショナル インコーポレイテッド フアイル・バツクアツプ・システム
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5367698A (en) * 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
US5423018A (en) * 1992-11-16 1995-06-06 International Business Machines Corporation Queue time reduction in a data storage hierarchy using volume mount rate
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US7174352B2 (en) * 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US5675725A (en) 1993-07-19 1997-10-07 Cheyenne Advanced Technology Limited Computer backup system operable with open files
US5515502A (en) * 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
US5537585A (en) * 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
US5832274A (en) * 1996-10-09 1998-11-03 Novell, Inc. Method and system for migrating files from a first environment to a second environment
US5875479A (en) 1997-01-07 1999-02-23 International Business Machines Corporation Method and means for making a dual volume level copy in a DASD storage subsystem subject to updating during the copy interval
US6101585A (en) * 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6061770A (en) * 1997-11-04 2000-05-09 Adaptec, Inc. System and method for real-time data backup using snapshot copying with selective compaction of backup data
US6453420B1 (en) * 1999-04-21 2002-09-17 Research Investment Network, Inc. System, method and article of manufacture for authorizing the use of electronic content utilizing a laser-centric medium
US6757797B1 (en) 1999-09-30 2004-06-29 Fujitsu Limited Copying method between logical disks, disk-storage system and its storage medium

Also Published As

Publication number Publication date
US20040205088A1 (en) 2004-10-14
US7281014B2 (en) 2007-10-09
EP1480130A2 (de) 2004-11-24
DE602004013397D1 (de) 2008-06-12
EP1480130A3 (de) 2005-03-16
EP1480130B1 (de) 2008-04-30

Similar Documents

Publication Publication Date Title
DE602004013397T2 (de) Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen
DE69719564T2 (de) Dynamischer dateiverzeichnisdienst
DE69531513T2 (de) Vervielfältigungssystem
DE69838756T2 (de) Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
DE602004010872T9 (de) Systeme und Verfahren zur Dateisicherung
DE69829253T2 (de) Verfahren zum Umsetzen vom Dateiformat und Dateisystem, Informationsverarbeitungssystem und elektronisches Handelsverkehrssystem mit diesem Verfahren
DE112020000749T5 (de) Indexerstellung für sich entwickelnde umfangreiche Datensätze in Hybriden Transaktions- und Analysenverarbeitungssystemen mit mehreren Mastern
DE69722962T2 (de) Strukturiertes datenspeichersystem mit global adressierbarem speicher
DE69932465T2 (de) Dateidistributionssystem und dessen Verfahren
DE69906488T2 (de) Verfahren zur Synchronisierung eines Datenbankschemas mit seiner Darstellung in einem objekt-orientierten Repository
DE69728176T2 (de) Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
DE69530595T2 (de) System und verfahren für die x.500-datenbanknorm
DE202010018481U1 (de) Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster
DE112018004178T5 (de) Mehrstufige speicherung in einem verteilten dateisystem
DE202009019149U1 (de) Asynchron verteilte Speicherbereinigung für replizierte Speichercluster
DE10311082B4 (de) Elektronikdokumentmanagementverfahren
DE60128200T2 (de) Methode und System für skalierbare, hochperformante hierarchische Speicherverwaltung
DE202014010953U1 (de) Gruppierung von Objekten in einem verteilten Datenspeichersystem basierend auf Protokollen und Platzierungsrichtlinien
DE102004056701A1 (de) Verfahren und Einrichtung zur Erzeugung einer inhaltsbezogenen Adresse zum zeitnahen Hinweis auf in ein Speichersystem eingeschriebene Dateneinheiten
DE102018002884A1 (de) Komponentenbasierte Synchronisierung von Digitalassets
DE102008015662A1 (de) Beseitigung
WO2015090668A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE3743890A1 (de) Verfahren zum schnellen eroeffnen von plattendateien
DE10052313A1 (de) Verfahren und Vorrichtung zur Beschränkung des freien Verweisens (Hyperlinking) auf Webseiten der ursprünglichen Inhaltserzeuger (Content producers) durch Internet-Inhaltsverteiler (Content distributors)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition