-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf eine verbesserte
Datenverarbeitungsanordnung und im Besonderen auf ein Verfahren,
eine Vorrichtung und in einem Computer verwendbaren Programmcode
zur Verwaltung von Speicher. Im Besonderen richtet sich die vorliegende
Erfindung auf ein Verfahren, eine Vorrichtung und in einem Computer
verwendbaren Programmcode zur Wiedergewinnung von Sicherungsdatenspeicherplatz
in Speicher.
-
In
einer Datenverarbeitungsanordnung können Dateien auf einer Speichervorrichtung
gespeichert werden. Die Daten in einer auf einer Speichervorrichtung
gespeicherten Datei können
verloren gehen, wenn physischer Schaden an der Speichervorrichtung
auftritt, ein Netzwerkausfall während
einer Aktualisierung der Datei auftritt, die Anordnung abstürzt, die
Vorrichtung von einem Virus infiziert wird oder wenn eine beliebige
Anzahl von anderen Ereignissen auftritt, die zum Verlust oder der
Verfälschung von
Daten führen.
-
Eine
Sicherungsanordnung erzeugt Sicherungskopien von Originaldateien
durch Kopieren von Daten aus einer Originaldateiquelle in eine Sicherungskopie
der Originaldatei. Die Sicherungsanordnung führt inkrementale Sicherungen
einer Originaldatei aus. Mit anderen Worten, wenn eine Originaldatei
aktualisiert oder modifiziert worden ist, seit die letzte Version
einer Sicherungskopie erzeugt wurde, werden die neuen Daten zu einer
Sicherungsspeichervorrichtung kopiert, entweder als eine Aktualisierung
der letzten Sicherungskopie oder als eine neue Version der Sicherungskopie.
Daher können
vielfache Versionen von Sicherungskopien einer Originaldatei in
einer oder mehreren Sicherungsdatenspeichervorrichtungen existieren.
Die Sicherungskopien erlauben die Wiederherstellung von in der Originaldatei
verloren gegangenen oder verfälschten
Daten. Die Sicherungskopien verbrauchen jedoch Speicherplatz, der
anderweitig für
andere Daten oder für
Programmspeicher verfügbar
gemacht werden könnte.
-
Eine
Sicherungsanordnung kann die Fähigkeit
bieten, die Neuanlegung von zusätzlichen
neuen Versionen von Sicherungskopien einer Datei während zukünftiger
Sicherungsoperationen zu verhindern. Außerdem kann eine Sicherungsanordnung
einem Benutzer erlauben, eine einzelne Instanz einer Sicherungskopie
einer Datei zu kennzeichnen, die während zukünftiger Sicherungsoperationen
aufrecht erhalten und aktualisiert werden soll anstatt zusätzliche
oder mehrfache neue Versionen von Sicherungskopien zu erstellen,
um Speicherplatz zu sparen. Auf diese Weise kann ein Benutzer Speicherplatz
sparen, der anderweitig bei zukünftigen
Sicherungsoperationen verwendet würde, weil die Sicherungsanordnung
keine zusätzlichen
oder mehrfachen neuen Sicherungskopien von bestimmten gekennzeichneten Dateien
erzeugt. Jedoch fahren jegliche bereits zuvor existierenden Sicherungskopien
der Originaldateien, die auf irgend welchen mit der Sicherungsanordnung verbundenen
Speichervorrichtungen gespeichert sind, fort, zu existieren.
-
Die
verschiedenen Gesichtspunkte der veranschaulichenden Ausführungsformen
stellen ein in einem Computer implementiertes Verfahren, eine Vorrichtung
und in einem Computer verwendbaren Code zur Wiedergewinnung von
Speicherplatz von Sicherungsdaten im Speicher zur Verfügung. Das Verfahren
nimmt eine Kennzeichnung entgegen, um einen Satz von Speicherorten
wiederzugewinnen, die mit einem Satz von Sicherungskopien einer
ausgewählten
Datei verbundenen sind. Das Verfahren durchsucht eine Vielzahl von
Speicherorten nach dem Satz von Speicherorten, die mit dem Satz
von Sicherungskopien verbundenen sind. Der Prozess entfernt dann
die mit dem Satz von Sicherungskopien verbundenen Daten aus dem
Satz von Speicherorten, um einen Satz von wiedergewonnenen Speicherorten
auszuformen. Ein wiedergewonnener Speicherort ist unbesetzt durch
Daten, die mit dem Satz von Sicherungskopien der ausgewählten Datei verbunden
sind.
-
Die
für die
Erfindung als charakteristisch erachteten neuartigen Merkmale werden
in den angehängten
Ansprüchen
dargelegt. Die Erfindung selbst jedoch, wie auch eine bevorzugte
Art der Anwendung, weitere Zielen und Vorzüge, werden am besten unter
Bezugnahme auf die folgende detaillierte Beschreibung einer veranschaulichenden
Ausführungsform
verstanden, wenn diese in Verbindung mit den begleitenden Zeichnungen
gelesen wird, wobei.
-
1 eine
bildliche Darstellung eines Netzwerkwerks von Datenverarbeitungsanordnungen zeigt,
in denen Gesichtspunkte der vorliegenden Erfindung implementiert
werden können;
-
2 ein
Blockdiagramm einer Datenverarbeitungsanordnung zeigt, in der Gesichtspunkte
der vorliegenden Erfindung implementiert werden können;
-
3 ein
Blockdiagramm zeigt, das den Datenfluss in einem Prozess zur Wiedergewinnung
des Speicherplatzes von Siche rungsdaten in mindestens einem Speicherort
entsprechend einer beispielhaften Ausführungsform der vorliegenden
Erfindung veranschaulicht; und
-
4 ein
Ablaufdiagramm zeigt, das einen beispielhaften Betrieb der vorliegenden
Erfindung umreißt,
wenn Speicherplatz von Sicherungsdaten aus einem oder mehreren Speicherorten
entsprechend einer veranschaulichenden Ausführungsform der vorliegenden
Erfindung wiedergewonnen wird.
-
Mit
nunmehr Bezugnahme auf die Figuren und im Besonderen mit Bezug auf
die 1 und 2 werden beispielhafte Schaubilder
von Datenverarbeitungsumgebungen zur Verfügung gestellt, in die Ausführungsformen
der vorliegenden Erfindung implementiert werden können. Es
sollte verstanden werden, dass die 1 und 2 nur
beispielhaft sind und es nicht beabsichtigt ist, dass diese irgendeine
Beschränkung
geltend machen oder implizieren in Bezug auf die Umgebungen, in
denen Gesichtspunkte oder Ausführungsformen
der vorliegenden Erfindung implementiert werden können. Viele Abänderungen
können
an den beschriebenen Umgebungen gemacht werden, ohne vom Geist und
Schutzumfang der vorliegenden Erfindung abzuweichen.
-
Mit
nunmehr Bezugnahme auf die Figuren beschreibt die 1 eine
bildliche Darstellung eines Netzwerkes von Datenverarbeitungsanordnungen,
in denen Gesichtspunkte der vorliegenden Erfindung implementiert
werden können.
Die Netzwerkdatenverarbeitungsanordnung 100 umfasst ein
Netzwerk von Computern, in denen Ausführungsformen der vorliegenden
Erfindung implementiert werden können.
Die Netzwerkdatenverarbeitungsanordnung 100 umfasst das
Netzwerk 102, welches das Medium ist, das verwendet wird,
um Datenübertragungsverbindungen
zwischen ver schiedenen Vorrichtungen und Computern zur Verfügung zu
stellen, die innerhalb der Netzwerkdatenverarbeitungsanordnung 100 mit einander
verbunden sind. Das Netzwerk 102 kann Verbindungen wie
Drahtleitungen, drahtlose Kommunikationsverbindungen oder Lichtwellenleiter
umfassen.
-
Im
beschriebenen Beispiel sind die Server 104 und Server 106 zusammen
mit der Speichereinheit 108 mit dem Netzwerk 102 verbunden.
Außerdem
sind die Clients 110, 112 und 114 mit
dem Netzwerk 102 verbunden. Diese Clients 110, 112 und 114 können zum
Beispiel Personal-Computer oder Netzwerkcomputer sein. Im beschriebenen
Beispiel liefert der Server 104 Daten wie Boot-Dateien, Betriebssystemabbildungen
und Anwendungen auf die Clients 110 112 und 114.
Die Clients 110, 112 und 114 sind in
diesem Beispiel Clients des Servers 104. Die Netzwerkdatenverarbeitungsanordnung 100 kann
zusätzliche
Server, Clients und andere Vorrichtungen umfassen, die nicht gezeigt
sind.
-
Im
beschriebenen Beispiel ist die Datenverarbeitungsanordnung 100 das
Internet, wobei das Netzwerk 102 eine weltweite Einbeziehung
von Netzwerken und Gateways darstellt, die die Transmission Control
Protocol/Internet Protocol (TCP/IP) Suite von Protokollen verwenden,
um mit einander zu kommunizieren. Im Kern des Internet befindet
sich ein Basisnetz von Hochgeschwindigkeitsdatenübertragungsleitungen zwischen
größeren Knoten
oder Host-Computern, die Tausende von kommerziellen, staatlichen,
Bildungs- und anderen Rechnersystemen umfassen, die Daten und Nachrichten
weiterleiten. Natürlich
kann die Netzwerkdatenverarbeitungsanordnung 100 auch als
eine Anzahl von verschiedenen Arten von Netzwerken implementiert
werden, wie zum Beispiel ein Intranet, ein Local Area Network (LAN)
oder ein Wide Area Network (WAN). 1 ist als
ein Beispiel und nicht als eine architektonische Beschränkung für verschiedene
Ausführungsformen der
vorliegenden Erfindung beabsichtigt.
-
Mit
Bezugnahme nunmehr auf 2, wird ein Blockdiagramm einer
Datenverarbeitungsanordnung gezeigt, in der Gesichtspunkte der vorliegenden
Erfindung implementiert werden können.
Die Datenverarbeitungsanordnung 200 ist ein Beispiel für einen
Computer, wie zum Beispiel den Server 104 oder den Client 110 gemäß 1,
in dem in einem Computer verwendbarer Code oder Anweisungen, die
die Verfahren von Ausführungsformen
der vorliegenden Erfindung umsetzen, angeordnet werden können.
-
Im
beschriebenen Beispiel verwendet die Datenverarbeitungsanordnung 200 eine
Knotenarchitektur einschließlich
einer North Bridge und eines Memory Controller Hub (MCH) 202 und
einer South Bridge und eines Input/Output (I/O) Controller Hub (ICH) 204.
Der Prozessor 206, der Hauptspeicher 208 und der
Graphikprozessor 210 sind mit der North Bridge und dem
Memory Controller Hub 202 verbunden. Der Graphikprozessor 210 kann
zum Beispiel durch einen Accelerated Graphics Port (AGP) mit dem
MCH verbunden werden.
-
Im
beschriebenen Beispiel ist der Local Area Network (LAN) Adapter 212 mit
der South Bridge verbunden und der I/O Controller Hub 204 und
der Audioadapter 216, der Tastatur- und Mausadapter 220, das
Modem 222, der Read Only Memory (ROM) 224, die
Universal Serial Bus (USB) Anschlüsse und andere Datenübertragungsanschlüsse 232 und
die PCI/PCIe Vorrichtungen 234 sind durch den Bus 238 mit
der South Bridge und dem I/O Controller Hub 204 verbunden,
und die Festplatte (Hard Disk Drive-HDD) 226 und das CD-ROM Laufwerk 230 sind
durch den Bus 240 mit der South Bridge und dem I/O Controller Hub 204 verbunden.
Die PCI/PCIe Vorrichtungen können
zum Beispiel Ethernet-Adapter,
Ergänzungskarten
und PC-Karten für
Notebooks umfassen. PCI verwendet eine Kartenbussteuerung, während PCIe dies
nicht tut. ROM 224 kann zum Beispiel ein Flash Binary Input/Output
System (BIOS) sein. Die Festplatte 226 und das CD-ROM Laufwerk 230 können zum
Beispiel eine Integrated Drive Electronics (IDE) oder eine Serial
Advanced Technology Attachment (SATA) Schnittstelle verwenden. Eine
Super I/O (SIO) Vorrichtung 236 kann mit der South Bridge
und dem I/O Controller Hub 204 verbunden werden.
-
Ein
Betriebssystem läuft
auf dem Prozessor 206 ab und koordiniert und stellt die
Steuerung für
die verschiedenen Komponenten innerhalb der Datenverarbeitungsanordnung 200 gemäß 2 zur
Verfügung.
Das Betriebssystem kann ein handelsübliches Betriebssystem wie
Microsoft® Windows® XP (Microsoft
und Windows sind Warenzeichen der Microsoft Corporation in den Vereinigten
Staaten, anderen Ländern
oder beiden) sein. Eine objektorientierte Programmieranordnung wie
die JavaTM Programmieranordnung kann in
Verbindung mit dem Betriebssystem ablaufen und stellt die Aufrufe
zum Betriebssystem von Java Programmen oder Anwendungen zur Verfügung, die
auf der Datenverarbeitungsanordnung 200 ablaufen (Java
und alle Java-basierten Warenzeichen sind Warenzeichen von Sun Microsystems,
Inc., in den Vereinigte Staaten, anderen Ländern, oder beiden).
-
Anweisungen
für das
Betriebssystem, die objektorientierte Programmieranordnung und Anwendungen
oder Programme befinden sich auf Speichervorrichtungen wie dem Festplattenlaufwerk 226 und
können
zur Ausführung
durch den Prozessor 206 in den Hauptspeicher 208 geladen
werden. Die Prozesse der vorliegenden Er findung können durch
den Prozessor 206 mit Hilfe von Computer implementierten
Anweisungen ausgeführt
werden, die sich in einem Speicher wie zum Beispiel dem Hauptspeicher 208,
dem Read Only Memory 224 oder in einer oder mehreren peripheren
Vorrichtungen befinden können.
-
Die
Hardware in den 1 und 2 kann in
Abhängigkeit
von der Implementierung variieren. Andere interne Hardware oder
periphere Vorrichtungen wie Flashdatenspeicher, äquivalenter nichtflüchtiger
Speicher oder optische Plattenlaufwerke und Ähnliches können zusätzlich zu oder statt der in
den 1 und 2 beschriebenen Hardware verwendet
werden. Die Verfahren der vorliegenden Erfindung können auch
auf eine Multiprozessordatenverarbeitungsanordnung angewandt werden.
-
In
einigen veranschaulichenden Beispielen kann die Datenverarbeitungsanordnung 200 ein
persönlicher
digitaler Assistent (PDA) sein, der im Allgemeinen mit Flashdatenspeicher
konfiguriert wird, um nichtflüchtigen
Speicher dafür
zu liefern, Betriebssystemdateien und/oder von einem Benutzer erzeugte Daten
zu speichern. Eine Busanordnung kann aus einem oder mehreren Bussen
wie einem Systembus, einem I/O Bus und einem PCI Bus bestehen. Natürlich kann
die Busanordnung mit Hilfe jeder Art von Datenübertragungsstruktur oder Architektur
implementiert werden, die einen Transfer von Daten zwischen verschiedenen
Komponenten oder Vorrichtungen zur Verfügung stellt, die mit der Struktur
oder der Architektur verbunden sind. Eine Datenübertragungseinheit kann eine
oder mehrere Vorrichtungen umfassen, die verwendet werden, um Daten
zu senden und zu empfangen, wie zum Beispiel ein Modem oder einen
Netzwerkadapter. Ein Speicher kann zum Beispiel Hauptspeicher 208 sein,
oder ein Cachespeicher, wie er zum Beispiel in der North Bridge
und dem Memory Controller Hub 202 zu finden ist. Eine Verarbeitungseinheit
kann einen oder mehrere Prozessoren oder CPUs umfassen. Die in den 1 und 2 beschriebenen
Beispiele und die oben beschriebenen Beispiele sind nicht dazu bestimmt,
architektonische Beschränkungen
zu implizieren. Zum Beispiel kann die Datenverarbeitungsanordnung 200 zusätzlich zur
Ausführungsform
als PDA auch ein Tablet Computer, ein Laptop Computer oder eine
Telefonvorrichtung sein.
-
In
einer Datenverarbeitungsanordnung können Dateien auf einer Speichervorrichtung
gespeichert werden. So wie hierin verwendet, umfasst eine Datei
Daten, numerische Informationen, Textinformationen, Programmdatensätze und/oder
jede Ansammlung von damit zusammenhängenden und/oder nicht zusammenhängenden
Daten, Informationen oder Programmdatensätzen, die als eine Einheit
unter einem einzigen Namen auf einer Datenspeichervorrichtung gespeichert
sind.
-
Eine
Sicherungsanordnung speichert Sicherungskopien der Originaldateien,
um einem Benutzer zu ermöglichen,
die Dateien für
den Fall wiederherzustellen, dass ein Netzwerkausfall, ein Virus,
ein Fehler in der Vorrichtung oder ein anderes Ereignis zum Verlust
an oder der Verfälschung
von Originaldateien führt.
Um jedoch den Speicherplatz in einer Sicherungsdatenspeichervorrichtung
wiederzugewinnen, erfordern aktuelle Sicherungsanordnungen, dass
ein Benutzer alle auf der Sicherungsspeichervorrichtung gespeicherten
Sicherungsdaten löscht.
-
Um
Speicherplatz auf einer Sicherungsdatenspeichervorrichtung zu sparen,
kann ein Sicherungsprogramm die Möglichkeit anbieten, die Neuanlegung
von zusätzlichen
neuen Sicherungskopien einer Datei durch kennzeichnen einer Datei
als eine Speicher datei mit einer einzigen Instanz zu verhindern.
In solch einem Fall wird an Stelle von mehrfachen Sicherungskopien
nur eine einzelne Sicherungskopie der Datei erzeugt und aufrecht
erhalten. Die einzelne Sicherungskopie wird aktualisiert, um mit
Aktualisierungen an der Originaldatei übereinzustimmen, aber es werden
in zukünftigen
Sicherungsoperationen keine zusätzlichen
neuen Sicherungsversionen der Originaldatei erzeugt. Außerdem kann ein
Benutzer eine bestimmte Datei als eine von einer zukünftigen
Sicherung ausgeschlossene Datei kennzeichnen, um die Neuanlegung
von zusätzlichen
Sicherungskopien der Datei zukünftig
zu verhindern. Jedoch werden zuvor bereits existierende Sicherungskopien
von den Dateien, die erzeugt wurden, bevor der Benutzer die Datei
als eine Speicherdatei mit einer einzigen Instanz oder eine von
einer zukünftigen
Sicherung ausgeschlossene Datei gekennzeichnet hat, fortfahren im
Speicher auf der Festplatte zu existieren. Außerdem stellen gegenwärtig verfügbare Wiederherstellungsprogramme
keine Fähigkeit
dafür zur
Verfügung,
Sicherungskopien von einer oder mehreren ausgewählten Datei(en) von einer Sicherungsspeichervorrichtung
zu löschen,
ohne alle mit einem Satz von Sicherungen verbundenen Sicherungskopien
zu löschen.
-
Deshalb
sind die Gesichtspunkte der vorliegenden Erfindung auf ein Verfahren,
eine Vorrichtung und in einem Computer verwendbaren Programmcode
zur Wiedergewinnung des Speicherplatzes von Sicherungsdaten im Speicher
gerichtet. Das Verfahren empfängt
eine Kennzeichnung, um einen Satz von Speicherorten, die mit einem
Satz von Sicherungskopien einer ausgewählten Datei verbundenen sind,
wiederzugewinnen. Das Verfahren durchsucht eine Vielzahl von Speicherorten
nach dem Satz von Speicherorten, die dem Satz von Sicherungskopien zugeordnet
sind. Das Verfahren entfernt dann die Daten aus dem Satz von Speicherorten, die
dem Satz von Sicherungskopien zugeordnet sind, um einen Satz von
wiedergewonnenen Speicherorten zu bilden. Die wiedergewonnenen Speicherorte
sind unbesetzt durch Daten, die dem Satz von Sicherungskopien der
ausgewählten
Datei zugeordnet sind.
-
3 zeigt
ein Blockdiagramm, das den Datenfluss in einem Verfahren zur Wiedergewinnung des
Speicherplatzes von Sicherungsdaten in mindestens einem Speicherort
entsprechend einer beispielhaften Ausführungsform der vorliegenden
Erfindung veranschaulicht. Der Computer 300 ist eine EDV-Vorrichtung,
die nachfolgendes umfasst, aber nicht darauf beschränkt ist:
einen Server, einen Client, einen Personal Computer, einen Laptop,
einen Tablet Computer, einen persönlichen digitalen Assistenten (PDA),
ein Mobiltelefon oder jede andere in 1 und 2 dargestellte
EDV-Vorrichtung. Der Benutzer 310 verwendet den Computer 300,
um einen Satz von Speicherorten zur Wiedergewinnung auszuwählen, der
einem Satz von Sicherungskopien einer ausgewählten Datei zugeordnet ist.
-
Entsprechend
dieser veranschaulichenden Ausführungsform
wählt der
Benutzer 310 eine Datei aus einer Vielzahl von Dateien
aus, die mit Computer 300 in Beziehung stehen, um die ausgewählte Datei 315 auszuformen.
Die ausgewählte
Datei 315 ist jede Art von auf einer Speichervorrichtung,
wie zum Beispiel der Speichervorrichtung 320 gespeicherten
Datei. Die Speichervorrichtung 320 ist jede Art bekannter
oder verfügbarer
Einheit für
das Speichern von Daten einschließlich, aber nicht beschränkt auf
eine Festplatte, eine optische Platte wie zum Beispiel eine wieder
beschreibbare Compact Disc Rewritable (CD-R), oder eine wieder beschreibbare
Digital Video Disk Rewritable (DVD-R), eine Diskette, eine ZIP Platte,
ein Magnet band, ein Flashdatenspeicher, eine Speicherkarte, ein
Memory Stick, eine Netzwerkspeichervorrichtung oder jede andere
bekannte oder verfügbare
Vorrichtung, Komponente oder jedes Aufzeichnungsmedien zur Speicherung
von Daten.
-
Die
Speichervorrichtung 320 ist ein dauerhafter, nicht flüchtiger
Speicher. Mit anderen Worten, die auf der Speichervorrichtung 320 gespeicherten Daten
bleiben auf der Vorrichtung gespeichert, wenn die Stromversorgung
von der Speichervorrichtung 320 entfernt wird. In diesem
veranschaulichenden Beispiel befindet sich die Speichervorrichtung 320 auf
dem Computer 300. Jedoch wird die Speichervorrichtung 320 entsprechend
einer weiteren Ausführungsform
der vorliegenden Erfindung getrennt von Computer 300 angeordnet.
-
Die
Benutzerschnittstelle 330 ist eine Anwendung, die es dem
Benutzer 310 erlaubt, den Sicherungsspeichermanager 340 aufzurufen,
um Speicherplatz wiederzugewinnen, der belegt wird, um Sicherungskopien
der ausgewählten
Datei 315 zu speichern. Der Sicherungsspeichermanager 340 ist
eine Anwendung zur Wiedergewinnung von Speicherplatz in einer Speichervorrichtung,
die einer Sicherungskopie einer ausgewählten Datei, wie zum Beispiel
den Sicherungskopien 350 und 355 zugeordnet ist,
die sich auf einem Sicherungsspeicher, wie zum Beispiel der Sicherungsspeichervorrichtung 360 und
der dezentralen Sicherungsspeichervorrichtung, 370 befinden.
-
Die
Sicherungskopien 350 und 355 sind vorhandene Sicherungskopien
der ausgewählten
Datei 315. Die Sicherungsdatenspeichervorrichtung 360 ist eine
Speichervorrichtung wie zum Beispiel die mit dem Computer 300 verbundene
Speichervorrichtung 320. Die dezentrale Sicherungsdatenspeichervorrichtung 370 ist
jede Art der Speichervorrichtung, die sich nicht auf dem Computer 300 befindet.
Der Computer 300 greift über die Netzvorrichtung 380 durch eine
Netzwerkverbindung auf die dezentrale Speichervorrichtung 370 zu.
-
Die
Netzwerkvorrichtung 380 ist jede Art der Netzwerkzugriffssoftware,
die bekannt oder verfügbar
ist, um es dem Computer 300 zu ermöglichen, auf ein Netzwerk zuzugreifen.
Die Netzwerkvorrichtung 380 ist mit einer Netzwerkverbindung
wie zum Beispiel dem Netzwerk 102 gemäß 1 verbunden. Die
Netzwerkverbindung erlaubt den Zugriff auf jede Art von Netzwerk,
wie zum Beispiel ein Local Area Network (LAN), ein Wide Area Network
(WAN) oder das Internet.
-
In
diesem veranschaulichenden Beispiel wählt der Benutzer 310 eine
auf der Speichervorrichtung 320 gespeicherte Datei aus,
um eine ausgewählte
Datei zu bilden. Um eine Datei auszuwählen, zeigt der Sicherungsspeichermanager 340 dem
Benutzer 310 über
die Benutzerschnittstelle 330 eine Liste von Dateien an.
Der Benutzer wählt
eine Datei aus der Liste aus, um die ausgewählte Datei 315 zu bilden.
-
Der
Sicherungsspeichermanager 340 ermittelt die Sicherungskopie 350 der
ausgewählten
Datei 315, die der Sicherungsdatenspeichervorrichtung 360 zugeordnet
ist. In diesem veranschaulichenden Beispiel ist die Sicherungskopie 350 in
einem einer Festplatte auf dem Computer 300 zugeordneten Speicherort
gespeichert.
-
Der
Sicherungsspeichermanager 340 sucht über die Netzwerkvorrichtung 380 auch
die Sicherungskopie 355 der ausgewählten Datei 315, die
der dezentralen Sicherungsdatenspeichervorrich tung 370 zugeordnet
ist. Der Sicherungsspeichermanager 340 zeigt dem Benutzer 310 über die
Benutzerschnittstelle 330 eine Liste von Sicherungskopien 350 und 355,
die mit der ausgewählten
Datei 315 verbundenen sind. Der Benutzer 310 wählt eine
oder mehrere der der ausgewählten
Datei 315 zugeordnete bereits existierende Sicherungskopien
aus, die gelöscht
werden sollen, um Speicherplatz von Sicherungsdaten im Speicher
wiederzugewinnen. In diesem veranschaulichenden Beispiel wählt der
Benutzer 310 die Sicherungskopie 350 und die Sicherungskopie 355,
um diese aus den Speichervorrichtungen 360 und 370 zu
entfernen. Die Sicherungskopien 350 und 355 bilden
einen Satz von Sicherungskopien der ausgewählten Datei 315. Der
Speicherort oder der Speicherplatz, der den Sicherungskopien 350 und 355 zugeordnet
ist, formt einen Satz von Speicherorten für Sicherungskopien aus, die
der ausgewählten Datei 315 zugeordnet
sind.
-
Als
Antwort auf den Erhalt einer Kennzeichnung vom Benutzer 310 mit
dem Ziel, den Satz von Speicherorten wiederzugewinnen, der mit dem
Satz von Sicherungskopien einschließlich der Sicherungskopien 350 und 355 verbundenen
ist, löscht
der Sicherungsspeichermanager 340 die Sicherungskopie 350 und
die Sicherungskopie 355 von der Sicherungsdatenspeichervorrichtung 360 und
der dezentralen Sicherungsdatenspeichervorrichtung 370,
um Speicherplatz zur Verwendung durch andere Anwendungen und/oder
Programme auf der Sicherungsdatenspeichervorrichtung 360 und
der dezentralen Sicherungsdatenspeichervorrichtung 370 freizugeben.
-
Entsprechend
einer veranschaulichenden Ausführungsform
zeigt die Benutzerschnittstelle 330 dem Benutzer 310 eine
Vielzahl von Originaldateien an, die dem Computer 300 zugeordnet
sind.
-
Der
Benutzer 310 wählt
zwei oder mehr Dateien aus der Vielzahl von Dateien aus, um einen Satz
von ausgewählten
Dateien zu bilden. Der Sicherungsspeichermanager 340 erhält eine
Kennzeichnung von dem Benutzer, um einen Satz von Speicherorten
wiederzugewinnen, die mit einem Satz von Sicherungskopien jeder
Datei im Satz von ausgewählten
Dateien verbundenen sind. Auf diese Weise durchsucht der Sicherungsspeichermanager 340 die Vielzahl
von den mit dem Computer 300 verbundenen Speicherorten
nach Speicherorten, die eine oder mehrere Sicherungskopien jeder
Datei im Satz von ausgewählten
Dateien enthalten, um den Satz von Speicherorten zu bilden. Der
Benutzer 310 wählt
aus, einen Satz von Sicherungskopien zu entfernen, die mit dem ausgewählten Satz
von identifizierten Dateien verbunden sind. Der Sicherungsspeichermanager 340 entfernt
den Satz von Sicherungskopien aus dem Satz von Speicherorten, die
einer oder mehreren Speichervorrichtungen, wie zum Beispiel den
mit Computer 300 verbundenen Speichervorrichtungen 320, 360 und 370 zugeordnet
sind.
-
So
wie sie hierin verwendet wird, umfasst die Bezeichnung "Satz von ausgewählten Dateien" eine oder mehrere
auf einer oder mehreren Speichervorrichtungen gespeicherte Dateien.
Ebenso verweist ein Satz von Sicherungskopien auf eine einzelne
Sicherungskopie einer einzelnen Datei, zwei oder mehr Kopien einer
einzelnen Datei und/oder zwei oder mehr Kopien von zwei oder mehr
verschiedenen Dateien im Satz von Dateien.
-
So
wie es hierin verwendet wird, umfasst ein mit dem Computer 300 verbundener
oder dem Computer 300 zugeordneter Speicherort sowohl eine Speichervorrichtung,
die auf oder in dem Computer 300 angeordnet ist, wie zum
Beispiel die Speichervorrichtungen 320 und 360,
als auch eine dezentrale Speichervorrichtung, die getrennt von dem
Computer 300 angeordnet ist. Daher umfasst ein mit Computer 300 verbundener
Speicherort jeden Speicherort, der für den Computer 300 verfügbar oder
zugänglich
ist, einschließlich
Speicherorte, auf die von Computer 300 über eine Netzwerkverbindung
zugegriffen wird.
-
So
wie hierin verwendet, umfasst eine dem Computer 300 zugeordnete
Sicherungsdatenspeichervorrichtung sowohl Sicherungsdatenspeichervorrichtungen,
die sich am Ort des Computers 300 befinden, als auch dezentrale
Sicherungsdatenspeichervorrichtungen, auf die von Computer 300 über eine
Netzwerkverbindung zugegriffen wird.
-
Entsprechend
einer weiteren veranschaulichenden Ausführungsform der vorliegenden
Erfindung kennzeichnet der Benutzer 310 die ausgewählte Datei 315 als
eine von zukünftigen
Sicherungen ausgeschlossene Datei. Der Sicherungsspeichermanager 340 wird
während
zukünftiger
Sicherungsoperationen keine zusätzliche
neue Version der Sicherungskopie einer ausgewählten Datei erzeugen, die als
eine von zukünftigen
Sicherungen ausgeschlossene Datei gekennzeichnet ist.
-
Außerdem entfernt
der Sicherungsspeichermanager 340 alle Instanzen von Sicherungskopien einer
ausgewählten
Datei, die als eine von zukünftigen
Sicherungen ausgeschlossene Datei gekennzeichnet ist, von allen
Speichervorrichtungen, wie zum Beispiel den Sicherungsdatenspeichervorrichtungen 360 und 370.
Entsprechend einer weiteren Ausführungsform
der vorliegenden Erfindung entfernt der Sicherungsspeichermanager 340 nur
bereits existierende Sicherungskopien einer von zukünftigen
Sicherungen ausgeschlossene Datei, die von Benutzer 310 ausgewählt oder
identifiziert werden.
-
Entsprechend
einer weiteren Ausführungsform
kennzeichnet ein Benutzer die ausgewählte Datei 315 als
eine Datei mit einer einzigen Instanz. In solch einem Fall erzeugt
und pflegt der Sicherungsspeichermanager 340 eine einzige
Version einer Sicherungskopie einer als eine Speicherdatei mit einer einzigen
Instanz gekennzeichneten Datei. Die Sicherungskopie mit einer einzigen
Instanz wird von dem Sicherungsspeichermanager 340 wie
notwendig aktualisiert, um Änderungen
und/oder Aktualisierungen widerzuspiegeln, die von dem Benutzer 310 für die ausgewählte Datei 315 ausgeführt wurden.
Der Sicherungsspeichermanager erzeugt jedoch keine weiteren zusätzlichen
Instanzen einer Sicherungskopie der ausgewählten Datei 315 in
irgendeiner der Speichervorrichtungen. Außerdem löscht/entfernt der Sicherungsspeichermanager 340 mit
Ausnahme der gekennzeichneten Sicherungskopie mit einer einzigen
Instanz alle anderen Instanzen einer Sicherungskopie der ausgewählten Datei 315 aus
allen Speichervorrichtungen.
-
Entsprechend
einer weiteren Ausführungsform,
wenn der Benutzer wünscht,
dass der Sicherungsspeichermanager 340 die Erzeugung von
neuen Instanzen von Sicherungskopien der ausgewählten Datei zukünftig zulässt, kann
der Benutzer die Kennzeichnung der ausgewählten Datei in eine für zukünftige Sicherungen
freigegebene Datei ändern. Der
Sicherungsspeichermanager 340 lässt zusätzliche Instanzen einer zu
erzeugenden Sicherungskopie der ausgewählten Datei 315 in
einer oder mehreren Speichervorrichtungen zu, wenn die ausgewählte Datei 315 als
eine für
zukünftige
Sicherungen freigegebene Datei gekennzeichnet ist. Der Sicherungsspeichermanager 340 entfernt
keine anderen Instanzen einer Sicherungskopie der ausgewählten Datei 315 aus
irgendwelchen der Speichervorrichtungen.
-
Entsprechend
einer weiteren veranschaulichenden Ausführungsform der vorliegenden
Erfindung übergibt
der Sicherungsspeichermanager 340 dem Benutzer 310 eine
Liste aller Dateien, die als Speicherdateien einer einzigen Instanz
und von zukünftigen
Sicherungen ausgeschlossene Dateien gekennzeichnet sind. Der Benutzer
wählt eine
oder mehrere Originaldateien aus der Liste aus, um einen Satz von
ausgewählten
Dateien zu bilden. Der Sicherungsspeichermanager 340 sucht
in den mit dem Computer 300 verbundenen Sicherungsdatenspeichervorrichtungen
nach allen Sicherungskopien der identifizierten/ausgewählten Dateien.
Der Sicherungsspeichermanager löscht
alle Instanzen einer Sicherungskopie, die jeder der identifizierten/ausgewählten Dateien
zugeordnet ist, die als eine von zukünftigen Sicherungen ausgeschlossene
Datei gekennzeichnet sind. Der Sicherungsspeichermanager 340 löscht alle
Instanzen einer Sicherungskopie, die jeder der identifizierten/ausgewählten Dateien
zugeordnet ist, die als eine Speicherdatei einer einzigen Instanz
gekennzeichnet sind, mit Ausnahme einer mit jeder originalen Speicherdatei
einer einzigen Instanz verbundenen Sicherungskopie. Jede Sicherungskopie
mit einer einzigen Instanz wird wie notwendig aktualisiert, um mit
Aktualisierungen übereinzustimmen,
die an der originalen Speicherdatei einer einzigen Instanz durchgeführt wurden.
-
In
diesem veranschaulichenden Beispiel, sind die Sicherungskopien 350 und 355 in
Speicherorten gespeichert, die Sicherungsdatenspeichervorrichtungen
zugeordnet sind, die von der Speichervorrichtung 320 getrennte
Komponenten sind, auf der die ausgewählte Datei 315 gespeichert
ist. Jedoch können
entsprechend einer weiteren Ausführungsform
der vorliegenden Erfindung eine oder mehrere Sicherungskopien der
ausgewählten
Datei 315 auf derselben Speichervorrichtung wie die ausgewählte Datei 315 gespeichert
werden.
-
4 zeigt
ein Ablaufdiagramm, das einen beispielhaften Arbeitsablauf der vorliegenden
Erfindung umreißt,
wenn Speicherplatz entsprechend einer veranschaulichenden Ausführungsform
der vorliegenden Erfindung von Sicherungsdaten aus einem oder mehreren
Speicherorten wiedergewonnen wird. Der Prozess wird von einer Softwarekomponente, wie
zum Beispiel dem Sicherungsspeichermanager 340 gemäß 3 ausgeführt.
-
Der
Prozess stell fest, ob eine Kennzeichnung von einem Benutzer empfangen
worden ist, um eine identifizierte/ausgewählte Datei von zukünftigen Sicherungen
(Schritt 410) auszuschließen. Entsprechend einer Ausführungsform
der vorliegenden Erfindung kann ein Benutzer durch Kennzeichnen
einer Datei als eine von zukünftigen
Sicherungen ausgeschlossene Datei wählen, dass eine identifizierte
Datei von zukünftigen
Sicherungen ausgeschlossen wird. Wenn der Prozess feststellt, dass
keine Kennzeichnung empfangen wird, um die identifizierte Datei
von zukünftigen
Sicherungen auszuschließen, stellt
der Prozess fest, ob von einem Benutzer eine Kennzeichnung empfangen
worden ist, um die identifizierte Datei als eine Speicherdatei einer
einzigen Instanz (Schritt 420) zu kennzeichnen. Wenn der Prozess
feststellt, dass keine Kennzeichnung von einem Benutzer empfangen
worden ist, um die identifizierte Datei als eine Speicherdatei einer
einzigen Instanz zu kennzeichnen, endet der Prozess.
-
Jetzt
zu Schritt 420 zurückkehrend,
löscht der
Prozess als Antwort auf eine Feststellung, dass eine Kennzeichnung
empfangen worden ist, um die identifizierte Datei als eine Speicher datei
einer einzigen Instanz zu kennzeichnen, jede Instanz einer Sicherungskopie
der identifizierten Datei mit Ausnahme einer einzelnen Instanz der
identifizierten Datei (Schritt 430), die wie notwendig
gepflegt und aktualisiert wird. Danach endet der Prozess.
-
Jetzt
zu Schritt 410 zurückkehrend,
bestimmt der Prozess, wenn eine Kennzeichnung empfangen worden ist,
um eine identifizierte Datei von zukünftigen Sicherungen auszuschließen, ob
eine Kennzeichnung empfangen worden ist, um Daten für jegliche
bereits existierende Sicherungsversionen der identifizierten Datei
(Schritt 440) zu entfernen. Als Antwort auf eine Feststellung,
dass keine Kennzeichnung empfangen worden ist, um alle Daten zu
entfernen, die allen bereits existierenden Sicherungsversionen der
identifizierten Datei zugeordnet sind, endet der Prozess.
-
Zu
Schritt 440 zurückkehrend,
bestimmt der Prozess, wenn eine Kennzeichnung empfangen worden ist,
um Daten für
bereits existierende Sicherungsversionen der identifizierten Datei
zu entfernen, ob eine Kennzeichnung empfangen worden ist, um alle
bereits existierenden Sicherungskopien der identifizierten Datei
zu entfernen (Schritt 450). Wenn eine Kennzeichnung empfangen
worden ist, um Daten für bereits
existierende Sicherungsversionen der identifizierten Datei zu entfernen,
entfernt oder löscht
der Prozess alle vorherigen/bereits existierenden Versionen von
Sicherungskopien (Schritt 460) der identifizierten Datei.
Der Prozess endet danach.
-
Jetzt
zu Schritt 450 zurückkehrend,
empfängt
der Prozess, wenn keine Kennzeichnung empfangen worden ist, um Daten
für irgendwelche
bereits existierenden Sicherungsversionen der identifi zierten Datei
zu entfernen, eine Kennzeichnung, die eine oder mehrere Instanzen
einer Sicherungskopie der identifizierten Datei kennzeichnet, die
von einer Speichervorrichtung (Schritt 470) zu entfernen/zu
löschen ist.
Der Prozess entfernt oder löscht
dann jede identifizierte Instanz einer Sicherungskopie (Schritt 480) die
gelöscht
werden soll. Der Prozess endet danach.
-
Das
Ablaufdiagramm und die Blockdiagramme in den Figuren veranschaulichen
die Architektur, die Funktionalität und den Betrieb von möglichen
Implementierungen von Verfahren, Vorrichtungen und Computerprogrammprodukten
entsprechend verschiedenen Ausführungsformen.
In dieser Hinsicht kann jeder Block in dem Ablaufdiagramm oder den Blockdiagrammen
ein Modul, ein Segment oder einen Teilbereich an Code darstellen,
der eine oder mehrere ablauffähige
Anweisungen umfasst, um die angegebene(n) logische(n) Funktion(en)
zu implementieren. Es sollte auch beachtet werden, dass in einigen
alternativen Implementierungen die im Block angemerkten Funktionen
außerhalb
der in den Figuren angemerkten Reihenfolge auftreten können. Zum Beispiel
können
zwei nacheinander gezeigte Blöcke in
der Tat im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können, abhängig von
der damit verbundenen Funktionalität, manchmal in der umgekehrten
Reihenfolge ausgeführt
werden. Es ist auch zu beachten, dass jeder Block der Blockdiagramme
und/oder der Veranschaulichung des Ablaufdiagramms und Kombinationen
von Blöcken
in den Blockdiagrammen und/oder den Veranschaulichungen der Ablaufdiagramme
mit Hilfe von speziellen, auf Hardware basierenden Anordnungen implementiert
werden können,
die die angegebenen Funktionen oder Wirkungen ausführen, oder
mit Hilfe von Kombinationen aus spezieller Hardware und Computeranweisungen.
-
Obwohl
bestimmte Beispiele dafür,
wie die verschiedenen Komponenten implementiert werden können, zur
Verfügung
gestellt worden sind, sind diese Beispiele nicht dazu bestimmt,
die Architektur einzuschränken,
in der die Gesichtspunkte der veranschaulichenden Ausführungsformen
verwendet werden können.
Die Erfindung kann die Form einer vollständig in Hardware ausgeführten Ausführungsform annehmen,
einer vollständig
in Software ausgeführten
oder eine Ausführungsform,
die sowohl Hardware- als auch Softwareelemente umfasst. In einer bevorzugten
Ausführungsform
ist die Erfindung in Software implementiert, die Firmware, speicherresidente
Software, Mikroprogrammcode usw. umfasst, ist aber nicht darauf
beschränkt.
-
Weiterhin
kann die Erfindung die Form eines Computerprogrammprodukts einnehmen,
auf das von einem von einem Computer verwendbaren oder von einem
Computer lesbaren Medium zugegriffen werden kann, das Programmcode
zur Verwendung durch einen oder in Verbindung mit einem Computer oder
einer beliebigen Anweisungsausführungsanordnung
zur Verfügung
stellt. Für
die Zwecke dieser Beschreibung, kann ein von einem Computer verwendbares
oder von einem Computer lesbares Medium jede Vorrichtung sein, die
das Programm enthalten, speichern, übertragen, verbreiten oder
transportieren kann für
die Verwendung durch oder in Verbindung mit der Anweisungsausführungsanordnung,
der Anweisungsausführungsvorrichtung
oder der Anweisungsausführungseinheit.
-
Das
Medium kann eine elektronische, magnetische, optische, elektromagnetische,
infrarote oder eine Halbleiteranordnung (oder Vorrichtung oder Gerät) sein
oder ein Übertragungsmedium.
Beispiele für
ein computerlesbares Medium umfassen einen Halb leiter- oder Festkörperspeicher,
ein Magnetband, eine entfernbare Computerdiskette, ein Random Access
Memory (RAM – Speicher
mit wahlfreiem Zugriff), ein Read Only Memory (ROM – Festwertspeicher),
eine magnetische Festplatte und eine optische Platte. Aktuelle Beispiele
für optische
Platten umfassen Compact Disk – Read
Only Memory (CD-ROM), Compact Disk – read/write (CD-R/W) und DVD.
-
Eine
Datenverarbeitungsanordnung, die für das Speichern und/oder das
Ausführen
des Programmcodes geeignet ist, umfasst mindestens einen durch einen
Systembus direkt oder indirekt mit den Speicherelementen verbundenen
Prozessor. Die Speicherelemente können während der tatsächlichen
Ausführung
des Programmcodes verwendeten lokalen Speicher, Massenspeicher und
Cache-Speicher umfassen, die eine temporäre Speicherung von mindestens
einem Teil des Programmcodes zur Verfügung stellen, um die Anzahl
von Malen zu reduzieren, die der Code während der Ausführung aus
dem Massenspeicher abgerufen werden muss.
-
Ein-/Ausgabe-(Input/Output-)
oder I/O-Vorrichtungen (umfassend Tastaturen, Anzeigen, Zeigevorrichtungen
usw., aber nicht darauf beschränkt) können entweder
direkt oder durch dazwischen liegende I/O Controller mit der Anordnung
verbunden sein.
-
Auch
Netzwerkadapter können
mit der Anordnung verbunden sein, um der Datenverarbeitungsanordnung
zu ermöglichen,
durch dazwischen liegende private oder öffentliche Netzwerke mit anderen
Datenverarbeitungsanordnungen oder dezentralen Druckern oder Speichervorrichtungen
verbunden zu werden. Modems, Kabelmodems und Ethernet-Karten sind
nur einige der gegenwärtig
verfügbaren
Arten von Netzwerkadaptern.
-
Die
Beschreibung der vorliegenden Erfindung ist zum Zweck der Veranschaulichung
und Beschreibung dargestellt worden und es ist nicht beabsichtigt,
dass diese erschöpfend
ist oder die Erfindung in der offenbarten Form einschränkt. Viele
Abänderungen
und Abwandlungen werden jenen mit gewöhnlicher Qualifikation in der
Technik offenkundig sein. Die Ausführungsform wurde gewählt und
beschrieben, um die Prinzipien der Erfindung und die praktische
Anwendung am besten zu erklären,
und um Anderen mit gewöhnlicher
Qualifikation in der Technik zu ermöglichen, die Erfindung in solchen
verschiedenen Ausführungsformen
mit verschiedenen Abänderungen
zu verstehen, wie diese für
die in Erwägung
gezogene Verwendung geeignet sind.