[go: up one dir, main page]

DE602004002858T2 - Vorrichtung und Verfahren zur Datenarchivierung in einem Clustersystem - Google Patents

Vorrichtung und Verfahren zur Datenarchivierung in einem Clustersystem Download PDF

Info

Publication number
DE602004002858T2
DE602004002858T2 DE602004002858T DE602004002858T DE602004002858T2 DE 602004002858 T2 DE602004002858 T2 DE 602004002858T2 DE 602004002858 T DE602004002858 T DE 602004002858T DE 602004002858 T DE602004002858 T DE 602004002858T DE 602004002858 T2 DE602004002858 T2 DE 602004002858T2
Authority
DE
Germany
Prior art keywords
application
archiving
cluster
client
node
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
DE602004002858T
Other languages
English (en)
Other versions
DE602004002858D1 (de
Inventor
Fabrice Helliker
Simon Chappell
Lawrence Verwood BH31 6TY Barnes
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.)
Quest Software Inc
Original Assignee
Bakbone Software 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 Bakbone Software Inc filed Critical Bakbone Software Inc
Publication of DE602004002858D1 publication Critical patent/DE602004002858D1/de
Application granted granted Critical
Publication of DE602004002858T2 publication Critical patent/DE602004002858T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Circuits Of Receivers In General (AREA)
  • Hardware Redundancy (AREA)

Description

  • FACHGEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein die Archivierung von Computerdaten. Insbesondere betrifft die vorliegende Erfindung die Archivierung von Computerdaten in einer Cluster-Netzwerkumgebung.
  • HINTERGRUND DER ERFINDUNG
  • Seit einigen Jahrzehnten ist Information zwischen Computern in vielen verschiedenen Formen ausgetauscht worden. Eine beliebte Form, die den Informationsaustausch unterstützt, ist als das Client/Server-Modell bekannt, das im allgemeinen als ein Client/Server-Netzwerk verwirklicht wird. In einem Client/Server-Netzwerk ist eine Serveranwendung ein Software-Programm (das sich in einem oder mehreren Teilen der Computerhardware befindet) und Anforderungen von einer beliebigen Anzahl von Client-Anwendungen erwartet und erfüllt. Serveranwendungen wickeln häufig die Speicherung von Daten ab, auf die eine oder mehrere Client-Anwendungen einen sicheren Zugriff haben.
  • In dem Maße, wie das Client/Server-Netzwerk an Beliebtheit zunahm, hat sich auch die Technologie weiterentwickelt, um einer großen Anzahl von Client-Anwendungen den Zugriff auf eine einzelne Serveranwendung zu ermöglichen. Diese Fähigkeit erhöhte auch die Abhängigkeit von der Serveranwendung und den Bedarf, Serverausfälle zu verringern. Die Technologie hat sich weiter entwickelt, um die nahtlose Aktivierung eines Sekundär-Serversystems im Fall eines Ausfalls des Haupt-Serversystems zu ermöglichen. Dieser nahtlose Aktivierungsprozess übergibt alle aktiven Anwendungen vom Haupt-Serversystem an das Sekundär-Serversystem, ohne dass der Client etwas davon merkt. Dieser Übergabeprozess ist normalerweise in der Technik als "Ausfallsicherung" oder "Übergabe bei Ausfall" bekannt, was im US-Patent Nr. 6360331 mit dem Titel "Method and System for Transparently Failing Over Application Configuration Information in a Server Cluster" gelehrt wird. Die Anwendungen, die dafür konfiguriert sind, bei einem Ausfall von einem Haupt-Serversystem auf ein Sekundär-Serversystem (oder von einem ersten Knoten auf einen zweiten Knoten) überzugehen, sind in der Fachwelt als "Cluster-Anwendungen" bekannt. Eine Cluster-Anwendung ist dafür konfiguriert, als eine gemeinsam genutzte Ressource mit einer virtuellen Internetprotokoll-("IP"-)Adresse zugeordnet zu werden. Die virtuelle IP-Adresse ändert sich nicht und hängt nicht vom physischen Standort ab, was eine fortgesetzte Client-Kommunikation mit einer Cluster-Anwendung trotz des Auftretens eines Betriebsausfalls ermöglicht.
  • Der Prozess der Übergabe bei einem Ausfall erhöht die Schwierigkeit, Daten genau zu archivieren und wiederherzustellen. Während des Archivierungsprozesses plant das Archivierungssystem das, was in der Fachwelt als ein "Sicherungsauftrag" bekannt ist, was eine bestimmte Anwendung, ein Dateisystem, ein Laufwerk oder dergleichen zur Archivierung angibt. Wenn ein Sicherungsauftrag aktiviert wird, muss das Archivierungssystem Kenntnis vom physischen Standort und der spezifischen Konfiguration der zu archivierenden Anwendung haben. Deshalb schlägt ein Archivierungsauftrag fehl, wenn der Sicherungsauftrag aktiviert wird, um eine Anwendung auf dem Knoten A zu archivieren, und die Anwendung bei Ausfall auf den Knoten B übergeht, weil die Anwendung nicht länger auf dem Knoten A aktiv ist.
  • Dementsprechend besteht Bedarf an einem Datenarchivierungssystem und -verfahren, das die Archivierung von Cluster-Anwendungen ermöglicht.
  • In der Erläuterung des Hintergrundes beschreibt US 2003/120751 die Verwendung mehrerer Speichervorrichtungen bzw. -medien als eine virtuelle Speichervorrichtung, die an ein Computernetzwerk angeschlossen ist. Jedes/jede Speichermedium/vorrichtung speichert einige Daten. Der verbleibende freie Platz jedes/jeder Speichermediums/vorrichtung wird zu einem gemeinsam genutzten Speicherlaufwerk zusammengefasst, das dann von jedem Computer im Netzwerk angemeldet werden kann. Dies kann nach Art eines Peer-to-Peer-Systems implementiert werden, so dass der freie Platz in den Speichervorrichtungen oder den Speichermedien in jedem Computer verwendet wird, um ein gemeinsam genutztes Speicherlaufwerk zu erzeugen. Es werden Vorkehrungen getroffen, um mehrere Kopien jedes Teils der Daten auf dem gemeinsam genutzten Speicherlaufwerk über mehrere Computer zu speichern. Dies bringt Redundanz in das System. Wenn ein Laufwerk ausfällt, das Bestandteil des gemeinsam genutzten Laufwerks ist, dann werden die gemeinsam genutzten Daten, die auf diesem Laufwerk gespeichert wurden, stattdessen von einer der Kopien abgerufen.
  • "High-Availability Clustering Capabilities" (Kosacek et al; Power Solutions, (online), Mai 2003 (2003-05), Seite 51–55) beschreibt die Verwendung von Microsoft Windows Server 2003, wenn er auf Clustern von Dell-"Power Edge"-Servern läuft. Die in dem Artikel beschriebenen Verbesserungen weisen die höhere Verfügbarkeit auf, die erreicht wird, indem Anwendungen oder Dienste von einem ausgefallenen Knoten zu einem anderen Knoten im Cluster verschoben werden. Eine andere beschriebene Verbesserung ist die größere Skalierbarkeit, die durch eine erhöhte Anzahl von Knoten pro Cluster ermöglicht wird. Außerdem beschreibt der Artikel die Verbesserung, dass zur gleichen Zeit ein Cluster von Knoten statt eines einzelnen Knotens verwaltet werden kann, um einfachere Verwaltungsmöglichkeiten bereitzustellen.
  • Der Microsoft-Clusterdienst, der beschrieben wird, ermöglicht einem virtuellen Server, bei einem Ausfall zwischen mehreren physischen Servern überzugehen, auf denen der Clusterdienst läuft. Durch die Verwendung einer virtuellen IP-Adresse kann der verwendete physische Knoten bei Ausfall an andere Knoten übergeben werden, ohne dass der Endanwender beeinträchtigt wird. Manuelle "Ausfallübergabe" kann verwendet werden, um bei Bedarf die Wartung der Knoten zu ermöglichen.
  • Außerdem werden die Sicherungs- und Wiederherstellungskonfigurationen beschrieben, die durch die Hardware/Software-Kombination ermöglicht werden. Das Sicherungs-Hilfsprogramm kann die Cluster-Konfiguration sichern und diese Konfiguration sowohl lokal als auch auf allen Cluster-Knoten wiederherstellen. Auch können Cluster-Knoten automatisch wiederhergestellt werden, wenn ihre lokale Cluster-Datenbasis beschädigt ist oder wenn das Systemlaufwerk versagt oder fehlerhaft wird. Dieser automatische Prozess kann auch dabei helfen, gemeinsam benutzte Laufwerke wiederherzustellen.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung umfassen ein Verfahren zur Archivierung von Daten für eine Cluster-Anwendung nach Anspruch 1 und ein entsprechendes System nach Anspruch 8 und ein Computerprogramm-Erzeugnis nach Anspruch 10.
  • Ein praktisches Datenarchivierungssystem gemäß der vorliegenden Erfindung weist mindestens eine Archivierungs-Clientanwendung, mindestens eine entsprechende Archivierungs-Serveranwendung und mindestens eine entsprechende virtuelle Client-Anwendung auf. Insbesondere nutzt das Archivierungssystem eine virtuelle Client-Anwendung, die die Konfiguration und den Prozess unterstützt, in denen die Archivierung für eine spezifische Cluster-Anwendung durchgeführt wird. Die Verwendung einer virtuellen Client-Anwendung für eine Cluster-Anwendung befähigt die Cluster-Anwendung, bei Ausfall auf einen neuen Knoten überzugehen, während die Fähigkeit bewahrt wird, die nach dem Ausfall übergegangene Cluster-Anwendung zu archivieren. In der Praxis erzeugt der Einrichtungsprozess des Archivierungssystems die virtuelle Client-Anwendung, so dass die virtuelle Client-Anwendung eine virtuelle IP-Adresse enthält, auf die durch jede Archivierungs-Clientanwendung im Archivierungssystem Bezug genommen werden kann.
  • Die oben genannten und weitere Aspekte der vorliegenden Erfindung können in einer Form durch ein Verfahren zur Archivierung von Daten für eine Cluster-Anwendung in einer Cluster-Netzwerkumgebung ausgeführt werden. Das Verfahren umfasst: Erzeugen einer Standortanfrage für die Cluster-Anwendung, wobei die Standortanfrage eine symbolische Kennung für die Cluster-Anwendung aufweist; Erlangen einer Kennung des physischen Standorts für die Cluster-Anwendung als Antwort auf die Standortanfrage; Zugreifen auf Archivierungs-Konfigurationsdateien für die Cluster-Anwendung; und Archivieren von Daten für die Cluster-Anwendung gemäß den Archivierungs-Konfigurationsdateien.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Ein vollständigeres Verständnis der vorliegenden Erfindung kann durch Bezugnahme auf die ausführliche Beschreibung und die Ansprüche abgeleitet werden, wenn sie in Verbindung mit den folgenden Figuren betrachtet werden, in denen gleiche Bezugszeichen überall in den Figuren gleichartige Elemente bezeichnen, wobei diese folgendes zeigen:
  • 1 ist eine schematische Darstellung einer beispielhaften Cluster-Netzwerkumgebung;
  • 2 ist eine schematische Darstellung eines Abschnitts eines beispielhaften Archivierungssystems, das in einer Cluster-Netzwerkumgebung eingesetzt werden kann;
  • 3 ist eine schematische Darstellung einer beispielhaften Serverkomponente, die in einem Archivierungssystem genutzt werden kann;
  • 4 ist eine schematische Darstellung einer beispielhaften virtuellen Client-Anwendung, die in einem Archivierungssystem genutzt werden kann;
  • 5 ist eine schematische Darstellung einer beispielhaften Client-Anwendung, die in einem Archivierungssystem genutzt werden kann; und
  • 6 ist ein Ablaufplan eines Sicherungsprozesses für Cluster-Anwendungen, der durch ein Archivierungssystem durchgeführt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die vorliegende Erfindung kann hierin anhand von Funktionsblock-Komponenten und verschiedenen Verarbeitungsschritten beschrieben werden. Man sollte anerkennen, dass solche Funktionsblöcke durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmware-Komponenten verwirklicht werden können, die dafür konfiguriert sind, die festgelegten Funktionen durchzuführen. Zum Beispiel kann die vorliegende Erfindung verschiedene integrierte Schaltkreiskomponenten, Speicherkomponenten, Logikkomponenten, Verweistabellen und dergleichen verwenden, die eine Vielfalt von Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können. Außerdem wird der Fachmann anerkennen, dass die vorliegende Erfindung in Verbindung mit einer beliebigen Anzahl von praktischen Computerhardware- Implementierungen in die Praxis umgesetzt werden kann und dass die hierin beschriebene besondere Systemarchitektur nur eine beispielhafte Anwendung für die Erfindung ist.
  • Man sollte anerkennen, dass die hierin gezeigten und beschriebenen besonderen Implementierungen zur Veranschaulichung der Erfindung und ihrer besten Ausführung dienen und nicht dazu bestimmt sind, den Schutzbereich der Erfindung anderweitig auf irgendeine Weise zu begrenzen. Allerdings kann es der Kürze halber sein, dass herkömmliche Methoden und Aspekte von Computervorrichtungen, Computernetzwerken, Datenübertragung, Datenarchivierung, Datenkommunikation und -speicherung und anderen funktionellen Aspekten der Systeme (und der einzelnen Betriebskomponenten der Systeme) hierin nicht ausführlich beschrieben werden. Außerdem sind die Verbindungslinien, die in den hierin enthaltenen verschiedenen Figuren gezeigt werden, dazu bestimmt, beispielhafte funktionale Beziehungen und/oder physische Kopplungen zwischen den verschiedenen Elementen darzustellen. Man beachte, dass in einer praktischen Ausführungsform viele alternative oder zusätzliche funktionale Beziehungen oder physische Verbindungen vorhanden sein können.
  • 1 ist eine schematische Darstellung einer beispielhaften Cluster-Netzwerkumgebung 100, die die vorliegende Erfindung aufnehmen kann. Zur Erleichterung der Darstellung stellt die Cluster-Netzwerkumgebung 100 eine vereinfachte Architektur dar; eine praktische Architektur kann zusätzliche und/oder alternative physische und logische Elemente haben. Die Cluster-Netzwerkumgebung 100 weist grundsätzlich ein Archivierungs-Serversystem 102, eine Anzahl von Client-Komponenten 104, 106, 108, 110, 112 und 114 und eine Anzahl von Speichermedienvorrichtungen 116, 118, 120 und 122 auf. Eine oder mehrere der Speichermedienvorrichtungen können einem Netzwerkspeicher ("NAS") 124 zugeordnet sein. Alternativ (oder zusätzlich) können eine oder mehrere der Speichermedienvorrichtungen einem Speichernetzwerk ("SAN") 126 zugeordnet sein. Wie bei herkömmlichen SAN-Anordnungen nutzen die Client-Komponente 110 und die Client-Komponente 112 Speicherressourcen über einen FC-Switch 128 gemeinsam.
  • In 1 stellen das Archivierungs-Serversystem 102, die Client-Komponenten und die Speichermedienvorrichtungen physische Hardwarekomponenten dar. Das Archivierungs-Serversystem 102 ist ein Computer, der dafür konfiguriert ist, die hierin beschriebenen Aufgaben der Archivierungs-Serveranwendung (und möglicherweise andere Aufgaben) durchzuführen, während die Client-Komponenten Computer sind, die dafür konfiguriert sind, Aufgaben durchzuführen, die irgendeiner Anzahl von Cluster-Anwendungen zugeordnet sind, die eine Datenarchivierung (Sicherung) erfordern. Die Client-Komponenten können ebenfalls dafür konfiguriert sein, die hierin beschriebenen Aufgaben der Archivierungs-Serveranwendung (und möglicherweise andere Aufgaben) durchzuführen. Zum Beispiel kann die Client-Komponente 104 der primäre Knoten für eine Cluster-Email-Serveranwendung sein, die Client-Komponente 106 kann ein Ausfallübergabeknoten für die Cluster-Email-Serveranwendung sein, und das Archivierungs-Serversystem 102 kann für die Sicherungs- und Wiederherstellungsprozeduren für die Cluster-Email-Serveranwendung verantwortlich sein. Eine einzelne Cluster-Anwendung kann durch eine beliebige Anzahl von Client-Komponentenknoten unterstützt werden, jedoch hat in den meisten praktischen Anordnungen jede Cluster-Anwendung einen für sie bestimmten primären Knoten und einen für sie bestimmten Ausfallübergabeknoten. Für die Zwecke der hierin beschriebenen beispielhaften Ausführungsform befinden sich keine Cluster-Anwendungen im Archivierungs-Serversystem 102. Eine praktische Ausführungsform muss jedoch nicht derartig begrenzt sein.
  • Wie hierin verwendet, bezeichnet ein "Knoten" einen physischen Verarbeitungsstandort in der Netzwerkumgebung. Dabei kann ein Knoten ein Computer oder irgendeine andere Vorrichtung sein, wie etwa ein Drucker. In praktischen Netzwerken hat jeder Knoten eine eindeutige Netzwerkadresse, die manchmal als Datenverbindungssteuerungs-(DLC-)Adresse oder als Medienzugriffssteuerungs-(MAC-)Adresse bezeichnet wird.
  • Ein "Server" wird oft als eine Rechenvorrichtung oder -system bezeichnet, die dafür konfiguriert ist, eine beliebige Anzahl von Funktionen und Betriebsabläufen durchzuführen, die mit der Verwaltung, Verarbeitung, Recherche und/oder Zustellung von Daten verbunden sind, insbesondere in einer Netzwerkumgebung. Alternativ kann ein "Server" oder eine "Serveranwendung" Software bezeichnen, die solche Prozesse, Verfahren und/oder Methoden durchführt. Wie in den meisten kommerziell erhältlichen Mehrzweckservern kann eine praktische Serverkomponente, die das Archivierungssystem der Erfindung unterstützt, dafür konfiguriert werden, auf jedem geeigneten Betriebssystem zu laufen, wie etwa Unix, Linux, dem Betriebssystem des Apple Macintosh oder irgendeiner Variante von Microsoft Windows, und es kann eine beliebige Anzahl von Mikroprozessorvorrichtungen verwenden, zum Beispiel die Pentium-Prozessorfamilie von Intel oder die Prozessorvorrichtungen, die von Advanced Micro Devices, IBM, Sun Microsystems oder Motorola kommerziell erhältlich sind.
  • Die Serverprozessoren kommunizieren mit einem Systemspeicher (zum Beispiel einem geeigneten Umfang an Direktzugriffsspeicher) und einem angemessenen Umfang an Speichervorrichtung oder "Langzeitspeicher". Der Langzeitspeicher kann eine oder mehrere Festplatten, Disketten, CD-ROM, DVD-ROM, Magnetbänder, Wechselmedien, Festkörper-Speichervorrichtungen oder Kombinationen davon aufweisen. Gemäß bekannten Methoden befinden sich die Betriebssystemprogramme und die Server-Anwendungsprogramme im Langzeitspeicher, und Abschnitte davon können während des Betriebs in den Systemspeicher geladen werden. Gemäß der Gepflogenheiten von Fachleuten auf dem Gebiet der Computerprogrammierung wird die vorliegende Erfindung nachstehend mit Bezug auf symbolische Darstellungen von Betriebsabläufen beschrieben, die durch die verschiedenen Serverkomponenten oder die Client-Komponenten durchgeführt werden können. Solche Betriebsabläufe werden mitunter als computerausführbar, computerisiert, software-implementiert oder computer-implementiert bezeichnet. Man wird anerkennen, dass Betriebsabläufe, die symbolisch dargestellt sind, die durch die verschiedenen Mikroprozessorvorrichtungen erfolgende Manipulation an elektrischen Signalen einschließen, die Datenbits an Speicherstellen im Systemspeicher darstellen, sowie andere Verarbeitung von Signalen. Die Speicherstellen, wo Datenbits aufbewahrt werden, sind physische Standorte, die bestimmte elektrische, magnetische, optische oder organische Eigenschaften haben, die den Datenbits entsprechen.
  • Wenn sie in Software implementiert werden, sind verschiedene Elemente der vorliegenden Erfindung (die sich in den Client-Vorrichtungen oder im Archivierungs-Serversystem 102 befinden können) im wesentlichen die Codesegmente, die die verschiedenen Aufgaben durchführen. Die Programm- oder Codesegmente können in einem prozessorlesbaren Medium gespeichert oder durch ein Computerdatensignal übertragen werden, das in einer Trägerwelle über ein Übertragungsmedium oder einen Kommunikationsweg verkörpert wird. Das "prozessorlesbare Medium" oder das "maschinenlesbare Medium" können jedes Medium einschließen, das Information speichern oder übermitteln kann. Beispiele für das prozessorlesbare Medium weisen eine elektrische Schaltung, eine Halbleiter-Speichervorrichtung, einen ROM, einen Flashspeicher, einen löschbaren ROM (EROM), eine Diskette, eine CD-ROM, ein optische Speicherplatte, eine Festplatte, ein Glasfasermedium, eine Funkfrequenz-(RF-)Übertragungsstrecke oder dergleichen auf Das Computersignal kann jedes Signal aufweisen, das sich über ein Übertragungsmedium, wie etwa elektronische Netzwerkkanäle, optische Fasern, Luft, elektromagnetische Wege oder RF-Übertragungsstrecken ausbreiten kann. Die Codesegmente können über Computernetzwerke, wie etwa das Internet, ein Intranet, ein LAN oder dergleichen heruntergeladen werden.
  • In praktischen Anwendungen können das Archivierungs-Serversystem und die Client-Komponenten gemäß jeder bekannten Computerplattform konfiguriert sein, zum Beispiel Compaq Alpha Tru64, FreeBSD, HP-UX, IBM AIX, Linux, NCR MP-RAS, SCO OpenServer, SCO Unixware, SGI Irix, Solaris (Sparc), Solaris (Intel), Windows 2000, Windows NT und Novell Netware. In praktischen Anwendungen können die Speichermedienvorrichtungen gemäß jeder bekannten Bandtechnologie (DLT, 8 mm, 4-mm-DAT, DTF, LTO, AIT-3, SuperDLT, DTF2 und M2) oder jeder bekannten optischen Speicherplattentechnologie (DVD-RAM, CD oder dergleichen) konfiguriert sein. In praktischen Anwendungen kann die Cluster-Netzwerkumgebung 100 eine Anzahl von SAN/NAS-Vorrichtungen, zum Beispiel Ancor, Brocade, Chaparral, Crossroads, EMC, FalconStor, Gadzoox, Network Appliance und Vixel, unterstützen. Der Kürze halber werden diese herkömmlichen Vorrichtungen und Plattformen hierin nicht beschrieben.
  • Wie in herkömmlichen Cluster-Netzwerkumgebungen sind die Betriebssysteme des Archivierungs-Serversystems 102 und die Client-Komponenten imstande, Cluster-Anwendungen zu verwalten. Mit anderen Worten, eine Cluster-Anwendung kann bei Ausfall von einem Client-Knoten auf einen anderen Client-Knoten übergehen (angenommen, dass der Ausfallübergabeknoten diese Cluster-Anwendung unterstützt), und die Cluster-Anwendung wird durch eine symbolische Kennung, die sich nicht mit ihrem physischen Standort ändert, eindeutig gekennzeichnet. In praktischen Anwendungen ist diese symbolische Kennung eine virtuelle IP-Adresse, die der Cluster-Anwendung zugewiesen ist, und diese virtuelle IP-Adresse kennzeichnet die bestimmte Cluster-Anwendung unabhängig von ihrem physischen Standort. "IP-Adresse" wird hierin in ihrem herkömmlichen Sinn verwendet, nämlich, dass eine IP-Adresse eine Kennung für einen Computer oder eine Vorrichtung in einem TCP/IP-kompatiblen Netzwerk ist. Nachrichten werden innerhalb solcher Netzwerke unter Verwendung der IP-Adresse des erwünschten Bestimmungsorts weitergeleitet. Gemäß den gegenwärtigen Standards ist das Format einer IP-Adresse eine numerische Adresse von 32 Bits, die als vier durch Punkte voneinander getrennte Zahlen geschrieben wird, wobei jede Zahl 0 bis 255 sein kann. Zum Beispiel könnte 1.234.56.789 eine IP-Adresse sein.
  • 2 ist eine schematische Darstellung eines Abschnitts eines beispielhaften Archivierungssystems 200, das in einer Cluster-Netzwerkumgebung verwendet werden kann. Der in 2 gezeigte Abschnitt stellt die Funktionskomponenten dar, die die Archivierung einer einzelnen Cluster-Anwendung 202 unterstützen, die durch mindestens zwei Client-Komponentenknoten unterstützt wird: Knoten A (Bezugszeichen 204) und Knoten B (Bezugszeichen 206). Die folgende Beschreibung des Archivierungssystems 200 kann ausgeweitet werden, um eine beliebige Anzahl von kompatiblen Client- Knoten in Betracht zu ziehen. Außerdem kann eine praktische Implementierung eine beliebige Anzahl von unterschiedlichen Cluster-Anwendungen unterstützen.
  • Das Archivierungssystem 200 weist im allgemeinen ein Archivierungs-Serversystem 208, einen Client-Knoten 204 und einen Client-Knoten 206 auf, die alle miteinander zur Datenkommunikation gemäß bekannten Standards und Protokollen verbunden sind. In einer praktischen Ausführungsform ist das Archivierungssystem 200 mit der Internetprotokoll-(IP-)Suite von Protokollen zur Kommunikation zwischen dem Archivierungs-Serversystem 208 und den Client-Knoten 204/206 und zwischen dem Client-Knoten 204 und dem Client-Knoten 206 kompatibel. Natürlich können das Archivierungssystem 200 und/oder die Cluster-Netzwerkumgebung zusätzliche oder alternative Kommunikationsmethoden, -protokolle oder -verfahren für die Archivierung oder andere Zwecke nutzen.
  • In der beispielhaften Ausführungsform ist das Archivierungs-Serversystem 208 auf einem physischen Knoten implementiert. Das Archivierungs-Serversystem 208 weist eine Archivierungs-Serveranwendung 210 und eine virtuelle Client-Anwendung 212 für die Cluster-Anwendung 202 auf. Das Archivierungs-Serversystem 208 weist vorzugsweise ein oder mehrere geeignet konfigurierte Speichermedien-Elemente (siehe 1) auf, die archivierte Daten zusätzlich zu anderen durch das System genutzten Daten speichern können, oder kommuniziert mit ihnen. Die Archivierungs-Serveranwendung 210 ist geeignet konfiguriert, um mit den verschiedenen Archivierungs-Clientanwendungen zu kommunizieren und ansonsten die hierin beschriebenen Archivierungsaufgaben abzuwickeln. Wie nachstehend ausführlicher beschrieben, kann ein praktisches Archivierungs-Serversystem 208 eine Vielzahl von virtuellen Client-Anwendungen für eine ähnliche Vielzahl von Cluster-Anwendungen aufweisen. In der beispielhaften Ausführungsform wird für jede unterschiedliche durch das Archivierungs-Serversystem 208 versorgte Cluster-Anwendung eine andere virtuelle Client-Anwendung erzeugt.
  • Für die Zwecke dieses Beispiels wird der Client-Knoten 204 als der "primäre" oder "normale" Betriebsknoten für die Cluster-Anwendung 202 betrachtet, während der Client-Knoten 206 als Ausfallübergabeknoten betrachtet wird. Mit anderen Worten, die Cluster-Anwendung 202a wird normalerweise auf dem Client-Knoten 204 ausgeführt, und die Cluster-Anwendung 202b wird in der Ausfallübergabe-Betriebsart auf dem Client-Knoten 206 ausgeführt. Gemäß bekannten Cluster-Methoden kann die Cluster-Anwendung 202 redundant auf beiden Client-Knoten 204/206 installiert sein, und bei Feststellung einer Ausfallübergabe kann die Cluster-Anwendung 202b aktiviert werden. Im Kontext des hierin beschriebenen Archivierungssystems können die Client-Knoten 204/206 in Konfiguration und Funktion identisch sein.
  • Der Client-Knoten 204 weist eine Archivierungs-Clientanwendung 214 auf, die geeignet konfiguriert ist, um Archivierungs-, Sicherungs- und Wiederherstellungsfunktionen in Verbindung mit dem Archivierungs-Serversystem 208 durchzuführen. Dazu ist die Archivierungs-Clientanwendung 214 speziell dafür konfiguriert, die Archivierungs-, Sicherungs- und Wiederherstellungsbedürfnisse der Cluster-Anwendung 202 zu unterstützen. Außerdem ist die Archivierungs-Clientanwendung 214 imstande, eine beliebige Anzahl von unterschiedlichen Cluster-Anwendungen zu unterstützen. Als Antwort auf eine Ausfallübergabe der Cluster-Anwendung 202a wird der Client-Knoten 206 zum aktiven Knoten, und die Cluster-Anwendung 202b wird auf dem Client-Knoten 206 aktiviert. An dieser Stelle wickelt die Archivierungs-Clientanwendung 214 nicht länger die Archivierungs-, Sicherungs- und Wiederherstellungsbedürfnisse der Cluster-Anwendung 202 ab. Stattdessen übernimmt eine Archivierungs-Clientanwendung 216, die sich auf dem Client-Knoten 206 befindet, die Verantwortung für diese Bedürfnisse. Wie nachstehend ausführlicher beschrieben wird, kann die Archivierungs-Clientanwendung 216 auf dem Client-Knoten 206 vorinstalliert und zur Aktivierung bei einer Ausfallübergabe bereit sein. Alternativ kann die Archivierungs-Clientanwendung 216 als Antwort auf die Ausfallübergabe "fliegend" von jedem geeigneten Standort in der Cluster-Netzwerkumgebung aus installiert werden. Die Verwendung von unterschiedlichen Archivierungs-Clientanwendungen ist erwünscht, damit das Archivierungssystem 200 Archivierungsaufträge mit den Archivierungs-Clientanwendungen unabhängig vom physischen Standort der Cluster-Anwendung 202 durchführen kann und damit das Archivierungssystem 200 auf modulare Art und Weise eingesetzt werden kann. Gemäß bekannten Cluster-Methoden und -Prozeduren kann die Cluster-Anwendung 202 bei einem Ausfall jederzeit (auch während eines Sicherungs- oder Wiederherstellungsprozesses) zwischen den Client-Knoten 204/206 übergeben und zurückübergeben.
  • In der beispielhaften Ausführungsform kann die Archivierungs-Serveranwendung 210 oder die virtuelle Client-Anwendung 212 Archivierungs-Clientanwendungen auf jedem Knoten installieren oder aktivieren, der eine Cluster-Anwendung aufnehmen kann die durch das Archivierungssystem 200 unterstützt wird. Die virtuelle Client-Anwendung 212 und/oder die Archivierungs-Serveranwendung 210 unterstützt die Speicherung und Verwaltung der Archivierungs-Konfigurationsdateien durch das Archivierungs-Serversystem 208. Die Archivierungs-Konfigurationsdateien werden der jeweiligen Cluster-Anwendung zugeordnet (die Archivierungs-Konfigurationsdateien für eine Cluster-Anwendung schreiben die Art und Weise vor, in der diese Cluster-Anwendung durch das Archivierungssystem 200 archiviert oder gesichert wird). Außerdem unterstützt die virtuelle Client-Anwendung 212 und/oder die Archivierungs-Serveranwendung 210 die Speicherung und Verwaltung der Daten der Cluster-Anwendung, das heißt, der tatsächlich zu archivierenden und/oder wiederherzustellenden Daten. Die tatsächliche Archivierung, Sicherung und Wiederherstellung der Daten der Cluster-Anwendung wird durch die Archivierungs-Serveranwendung 210 verwaltet und durch die entsprechende Archivierungs-Clientanwendung gemäß den jeweiligen Archivierungs-Konfigurationsdateien ausgeführt, auf die die virtuelle Client-Anwendung 212 zugreift.
  • Wenn ein Archivierungsauftrag aktiviert wird, erlangt die Archivierungs-Serveranwendung 210 die symbolische Kennung für die spezifische Cluster-Anwendung 202 von der virtuellen Client-Anwendung 212. Das Archivierungs-Serversystem 200 sendet dann eine Standortanforderung für die Cluster-Anwendung 202. In praktischen Ausführungsformen weist diese Standortanforderung die symbolische Kennung der spezifischen Cluster-Anwendung 202 auf. Da die symbolische Kennung sich mit der Cluster-Anwendung bewegt, ist die Archivierungs-Clientanwendung, die auf die Standortanforderung antwortet, diejenige Archivierungs-Clientanwendung, die sich am gleichen physischen Standort wie die Cluster-Anwendung 202 befindet. Das Archivierungssystem 200 bewirkt dann, dass die entsprechende Archivierungs-Clientanwendung gespeicherte Konfigurationsdateien für die Cluster-Anwendung nutzt, wodurch der Bedarf beseitigt wird, zu bestimmen, ob sich der aktuelle Client-Knoten geändert hat oder ob eine Ausfallübergabe stattgefunden hat.
  • In dem in 2 gezeigten Beispiel befindet sich das Archivierungssystem 208 auf einem physischen Rechenknoten, während sich die Cluster-Anwendung gegenwärtig auf dem Knoten 204 befindet, der für den normalen Betrieb der Cluster-Anwendung 202 konfiguriert ist. Die Cluster-Anwendung 202 ist imstande, bei Ausfall auf einen dritten physischen Knoten 206 überzugehen, der für den Ausfallübergabe-Betrieb der Cluster-Anwendung 202 konfiguriert ist. Während der erstmaligen Konfigurierung des Archivierungssystems 200 erzeugt die Archivierungs-Serveranwendung 210 die virtuelle Client-Anwendung 212 entsprechend der Cluster-Anwendung 202. Wie nachstehend ausführlicher beschrieben wird, enthält die virtuelle Client-Anwendung 212 vorzugsweise einen Namen des virtuellen Clients, den Namen der Cluster-Anwendung 202, eine Namensgebungsadresse, die der Cluster-Anwendung 202 zugewiesen ist, und eine Liste der verfügbaren Ausfallübergabeknoten für die Cluster-Anwendung 202. In praktischen Ausführungsformen ist die virtuelle Client-Anwendung 212 eine relativ "schlanke" Anwendung, und sie muss nicht dafür konfiguriert werden, die tatsächlichen Archivierungs- und Wiederherstellungsaufgaben abzuwickeln, die ansonsten durch die Archivierungs-Clientanwendungen 214/216 ausgeführt werden. Vielmehr wird die virtuelle Client-Anwendung 212 vorrangig dafür genutzt, die Speicherung von Daten für das Archivierungssystem zu verwalten und den physischen Standort der entsprechenden Cluster-Anwendung zu überwachen.
  • Die Archivierungs-Serveranwendung 210 konfiguriert die Archivierungs-Clientanwendung 2l4 auf dem Knoten 204 und die Archivierungs-Clientanwendung 216 auf dem Knoten 206. Mit anderen Worten, die entsprechenden Archivierungs-Clientanwendungen werden auf ihren Client-Knoten installiert oder aktiviert. Das Archivierungssystem 200 kann außerdem eine Liste der konfigurierten Archivierungs-Clientanwendungen aktualisieren, die in der virtuellen Client-Anwendung 212 enthalten ist. Sobald der Sicherungsauftrag konfiguriert ist, kann die Archivierungs-Serveranwendung 210 mit der virtuellen Client-Anwendung 212 kommunizieren, die wiederum versucht, den aktuellen physischen Standort der Cluster-Anwendung 202 zu bestimmen. Wenn die Archivierungs-Clientanwendung, die sich auf dem gleichen Knoten wie die Cluster-Anwendung 202 befindet, eine geeignete Nachricht empfängt, die als Antwort auf eine Sicherungsauftrag-Anforderung erzeugt wurde, antwortet sie der Archivierungs-Serveranwendung 210 mit Information in bezug auf ihren physischen Standort.
  • Wie oben beschrieben, ist die virtuelle Client-Anwendung 212 zweckmäßig dafür konfiguriert, von einem der verfügbaren Client-Knoten eine Kennung des physischen Standorts (zum Beispiel den dem Knoten zugeordneten Maschinennamen, eine physische IP-Adresse für den Knoten oder irgendeine andere eindeutige Kennung für den Knoten) für die Cluster-Anwendung 202 zu erlangen. Danach kann die virtuelle Client-Anwendung 212 auf die Archivierungs-Konfigurationsdateien (und möglicherweise andere Information) für die Cluster-Anwendung zugreifen. Dieses Verfahren befähigt die Archivierungs-Serveranwendung 210, den physischen Standort des Knotens der Cluster-Anwendung 202 herauszufinden, ohne ständig eine Überwachung in bezug auf eine Änderung des physischen Standorts des Knotens oder eine Ausfallübergabe durchführen zu müssen. Genauer gesagt, kommuniziert die Archivierungs-Serveranwendung 210 mit der virtuellen Client-Anwendung 212, die den physischen Knoten der Cluster-Anwendung 212 auflöst, so dass in dem Fall, wo der Knoten 204 ausfällt und die Cluster-Anwendung 202 auf den Knoten 206 übergeht, das Archivierungs-Serversystem 208 nicht beeinträchtigt wird.
  • 3 ist eine schematische Darstellung eines beispielhaften Archivierungs-Serversystems 300, das im Archivierungssystem 200 genutzt werden kann oder in der Cluster-Netzwerkumgebung 100 genutzt werden kann. Wie oben in Verbindung mit dem Archivierungs-Serversystem 208 beschrieben wurde, weist das System 300 eine Archivierungs-Serveranwendung 302 auf, die die hierin beschriebenen Archivierungs-, Sicherungs- und Wiederherstellungsfunktionen abwickelt. In einer praktischen Implementierung kann ein einzelnes Archivierungssystem flexibel konfiguriert sein, um eine beliebige Anzahl von Cluster-Anwendungen (und Nicht-Cluster-Anwendungen) zu unterstützen. Dementsprechend ist das Archivierungs-Serversystem 300 mit einer Vielzahl von virtuellen Client-Anwendungen 304 dargestellt. In einer beispielhaften Ausführungsform unterstützt das Archivierungs-Serversystem 300 N unterschiedliche Cluster-Anwendungen mit N unterschiedlichen Client-Anwendungen 304, und jede virtuelle Client-Anwendung 304 ist geeignet für das Zusammenwirken mit nur einer Cluster-Anwendung konfiguriert. Eine solche Auslegung ermöglicht einen skalierbaren Betrieb in kleinen oder großen Umgebungen, erleichtert eine modulare Verteilung der Archivierungs-Clientanwendungen und erleichtert die Kommunikation zwischen einer Cluster-Anwendung und ihrer virtuellen Client-Anwendung (die in praktischen Ausführungsformen einen gemeinsamen Namen tragen).
  • Das Archivierungs-Serversystem 300 weist auch einen Netzwerkmanager 306 und einen Medienmanager 308 auf. Der Netzwerkmanager 306 wickelt die Kommunikation mit anderen Systemen, Teilsystemen und Komponenten in der Cluster-Netzwerkumgebung über eine(n) oder mehrere Netzwerkwege, Kommunikationsübertragungsstrecken und dergleichen ab. Netzwerkmanager sind dem Fachmann bekannt und Einzelheiten ihrer Arbeitsweise werden hierin nicht angesprochen. Der Medienmanager 308 verwaltet die verschiedenen Medienspeichervorrichtungen in der Cluster-Netzwerkumgebung. Zum Beispiel überwacht und/oder verwaltet der Medienmanager 308 die Verfügbarkeit der Speichervorrichtungen, die Art der durch die Vorrichtungen genutzten Speichermedien, den physischen Standort der Speichervorrichtungen, welche Client-Knoten Zugriff auf die Speichervorrichtungen haben und wie die Daten der Cluster-Anwendungen am besten tatsächlich zu speichern sind. Diese Elemente können durch die Archivierungs-Serveranwendung 302 und/oder durch das Betriebssystem gesteuert werden, die bzw. das sich auf dem Knoten befindet, auf dem das Archivierungs-Serversystem 300 installiert ist.
  • 4 ist eine schematische Darstellung einer beispielhaften virtuellen Client-Anwendung 400, die in einem Archivierungssystem wie etwa dem System 200 genutzt werden kann. Für die Zwecke dieser Beschreibung ist die virtuelle Client-Anwendung 400 dazu vorgesehen, nur eine Cluster-Anwendung in der Netzwerkumgebung zu unterstützen. Wie oben erwähnt, befindet sich die virtuelle Client-Anwendung 400 vorzugsweise am gleichen Knotenstandort wie die entsprechende Archivierungs-Serveranwendung. Die virtuelle Client-Anwendung 400 führt eine Vielfalt von Funktionen virtueller Clients 401 durch, wie sie hierin beschrieben werden. Zum Beispiel speichert die virtuelle Client-Anwendung 400 den Namen der Cluster-Anwendung, speichert die symbolische IP-Adresse der Cluster-Anwendung, speichert Information bezüglich der Cluster-Anwendung (wie etwa die Art der Cluster-Anwendung), speichert eine Liste der Knoten, auf denen Archivierungs-Clientanwendungen installiert sind, und ist imstande, intelligent über gespeicherte Daten zu berichten.
  • Die virtuelle Client-Anwendung 400 weist eine Tabelle oder Liste 402 der Client-Knoten auf, die mit einer mit dem Archivierungssystem kompatiblen Archivierungs-Clientanwendung konfiguriert wurden, verwaltet sie oder greift auf sie zu. Die Liste 402 kann eine beliebige Anzahl von Einträgen haben, und sie kann eine statische Liste sein, die zum Zeitpunkt der Installation/Einrichtung erzeugt wurde, eine dynamische Liste, die erzeugt und aktualisiert wird, wenn Archivierungs-Clientanwendungen als Antwort auf einen Sicherungs-/Wiederherstellungsauftrag "fliegend" installiert werden, oder eine Kombination aus beidem. Zum Beispiel ist der Client-Knoten A eindeutig durch eine physische IP-Adresse und/oder einen ersten Maschinennamen gekennzeichnet und Client-Knoten B ist eindeutig durch eine andere physische IP-Adresse und/oder einen zweiten Maschinennamen gekennzeichnet. Die Liste 402 befähigt die virtuelle Client-Anwendung 400, den physischen Knoten für eine Cluster-Anwendung auf der Grundlage der physischen IP-Adresse oder des Maschinennamens des Knotens herauszufinden.
  • Die virtuelle Client-Anwendung 400 kann auch andere durch das Archivierungssystem genutzte Information, Daten, Dateien und/oder Kennungen aufweisen, verwalten oder darauf zugreifen. Zum Beispiel können die folgenden Elemente in geeigneter Form der virtuellen Client-Anwendung 400 zugeordnet sein: ein Name des virtuellen Clients 404, eine Kennung des virtuellen Clients (zum Beispiel eine IP-Adresse) 406, der Name 408 der entsprechenden Cluster-Anwendung, eine symbolische Kennung (zum Beispiel eine IP-Adresse) 410 für die jeweilige(n) Cluster-Anwendung, Anwendungsdaten und/oder Dateikennungen, die archivierte Daten/Dateien für die Cluster-Anwendung (Bezugszeichen 412) darstellen, und Archivierungs-Konfigurationsdateien 414 für die Cluster-Anwendung. Der Name des virtuellen Clients 404 kann ein einfacher alphanumerischer Name für den virtuellen Client 400 sein, zum Beispiel ein Wort oder eine Wortgruppe, das bzw. die den virtuellen Client 400 eindeutig kennzeichnet. Die Kennung des virtuellen Clients 406 ist eine Kennung auf einer niederen Ebene, zum Beispiel eine IP-Adresse, die für die Kompatibilität mit den in der Cluster-Netzwerkumgebung verwendeten Kommunikationsprotokollen formatiert ist. Die Kennung des virtuellen Clients 406 befähigt die Archivierungs-Clientanwendungen in der Cluster-Netzwerkumgebung, die richtige virtuelle Client-Anwendung herauszufinden und mit ihr zu kommunizieren (eine einzelne Archivierungs-Clientanwendung kann eine beliebige Anzahl von Cluster-Anwendungen unterstützen und darum mit einer beliebigen Anzahl von virtuellen Client-Anwendungen kommunizieren). Wie oben beschrieben kann die symbolische Kennung 410 eine virtuelle IP-Adresse sein, die die Cluster-Anwendung eindeutig kennzeichnet. Die virtuelle Client-Anwendung 400 nutzt die symbolische Kennung 410, um den physischen Standort der entsprechenden Cluster-Anwendung zu bestimmen. Der Name 408 und/oder die symbolische Kennung 410 der Cluster-Anwendung befähigen außerdem eine einzelne Archivierungs-Clientanwendung, mit einer Vielzahl von virtuellen Client-Anwendungen zu kommunizieren.
  • Die Archivierungs-Konfigurationsdateien für die Cluster-Anwendung 414 geben die Art und Weise vor, in der die Daten der Cluster-Anwendung gesichert und/oder wiederhergestellt werden, beschreiben Protokolle zur Durchführung der Sicherung/Wiederherstellung, geben den Status der letzten Sicherung und/oder Wiederherstellung an und können anderer in der Fachwelt bekannten üblichen Funktionalität zugeordnet sein. In der Praxis sind einige der Sicherungskonfigurationsdateien 414 von statischem Charakter, während andere von dynamischem Charakter sind, weil sie jedes Mal modifiziert werden, wenn das Archivierungssystem einen Auftrag durchführt. Letztendlich sind die Daten der Cluster-Anwendung die Information, die durch das Archivierungssystem archiviert und/oder wiederhergestellt wird. Die virtuelle Client-Anwendung 400 unterstützt bei Bedarf die physische Speicherung und Wiederherstellung der Daten der Cluster-Anwendung, wie sie durch die Archivierungs-Serveranwendung abgewickelt wird.
  • 5 ist eine schematische Darstellung einer beispielhaften Archivierungs-Clientanwendung 500, die in einem Archivierungssystem genutzt werden kann, wie hierin beschrieben. In praktischen Anwendungen muss sich eine aktive Archivierungs-Clientanwendung 500 auf dem gleichen Knoten befinden, auf dem sich die Cluster-Anwendung befindet. Dementsprechend kann in einer beispielhaften Anordnung die Archivierungs-Clientanwendung 500 anfangs auf jedem primären oder "normalen" Betriebsknoten für jede durch das Netzwerk unterstützte Cluster-Anwendung und auf jedem potentiellen Ausfallübergabeknoten für diese Cluster-Anwendungen installiert werden. Alternativ ist es möglich, dass die Archivierungs-Clientanwendung 500 nur bei Bedarf dynamisch installiert oder zu einem Knoten "geschoben" wird. In bevorzugten praktischen Ausführungsformen befindet sich die Archivierungs-Clientanwendung 500 auf einem anderen Knoten als die entsprechende Archivierungs-Serveranwendung. Die Archivierungs-Clientanwendung 500 führt eine Vielfalt von Archivierungsclient-Funktionen 502 durch, wie sie hierin beschrieben sind. Zum Beispiel kann die Archivierungs-Clientanwendung 500 mit anderen Anwendungen oder Prozessen im Archivierungssystem kommunizieren, zur Unterstützung der Archivierungsprozeduren mit spezifischen Anwendungen, Betriebssystemen und Hardware kommunizieren, Daten von spezifischen Anwendungen, Betriebssystemen oder Hardware an einen Geräte-Handler übergeben und Einzelheiten von Sicherungsaufträgen an einen Auftragsmanager melden, der im Archivierungs-Serversystem geführt wird.
  • Die Archivierungs-Clientanwendung 500 weist eine Tabelle oder Liste 504 von Namen virtueller Clients 506 und der entsprechender Kennungen der virtuellen Clients 508 auf, verwaltet sie oder greift darauf zu. Die Liste 504 kann eine beliebige Anzahl von Einträgen haben, und sie kann eine statische Liste sein, die zum Zeitpunkt der Installation bzw. Einrichtung erzeugt wurde, eine dynamische Liste, die erzeugt und aktualisiert wird, wenn virtuelle Clientanwendungen durch das Archivierungssystem erzeugt werden, oder eine Kombination aus beidem. Zum Beispiel ist der virtuelle Client 1 durch eine erste IP-Adresse eindeutig gekennzeichnet, der virtuelle Client 2 ist durch eine zweite IP-Adresse eindeutig gekennzeichnet und so weiter. Die Liste 504 befähigt eine Archivierungs-Clientanwendung 500, die richtige virtuelle Client-Anwendung für die auf ihr befindlichen Cluster-Anwendungen herauszufinden und mit ihr zu kommunizieren.
  • Ein Name des virtuellen Clients 506 kann ein einfacher alphanumerischer Name für die jeweilige virtuelle Client-Anwendung sein, zum Beispiel ein Wort oder eine Wortgruppe, das bzw. die die virtuelle Client-Anwendung eindeutig kennzeichnet. Die Kennung des virtuellen Clients 508 ist eine Kennung auf einer niederen Ebene, zum Beispiel eine IP-Adresse, die für die Kompatibilität mit den in der Cluster-Netzwerkumgebung verwendeten Kommunikationsprotokollen formatiert ist. Die Kennung des virtuellen Clients 508 befähigt die Archivierungs-Clientanwendung 500, die richtige virtuelle Client-Anwendung herauszufinden und mit ihr zu kommunizieren (wie oben erwähnt, kann eine Archivierungs-Clientanwendung eine beliebige Anzahl von Cluster-Anwendungen unterstützen und darum mit einer beliebigen Anzahl von virtuellen Client-Anwendungen kommunizieren).
  • Die Archivierungs-Clientanwendung 500 weist auch einen Netzwerkmanager 510 auf, der die Kommunikation mit anderen Systemen, Teilsystemen und Komponenten in der Cluster-Netzwerkumgebung über eine(n) oder mehrere Netzwerkwege, Kommunikationsübertragungsstrecken oder dergleichen abwickelt. Zum Beispiel unterstützt der Netzwerkmanager 510 die Kommunikation zwischen der Archivierungs-Clientanwendung 500 und der Archivierungs-Serveranwendung, dem Betriebssystem des Archivierungs-Serverknotens, den virtuellen Client-Anwendungen und dergleichen. Netzwerkmanager sind dem Fachmann bekannt, und Einzelheiten ihrer Arbeitsweise werden hierin nicht angesprochen.
  • 6 ist ein Ablaufplan eines Sicherungsprozesses für eine Cluster-Anwendung 600, der durch ein Archivierungssystem durchgeführt werden kann, wie hierin beschrieben. Die verschiedenen in Verbindung mit dem Prozess 600 durchgeführten Aufgaben werden durch Software, Hardware, Firmware oder jedwede Kombination daraus durchgeführt. In praktischen Ausführungsformen können Abschnitte des Prozesses 600 durch unterschiedliche Elemente des Archivierungssystems durchgeführt werden, zum Beispiel durch die Archivierungs-Serveranwendung, die virtuelle Client-Anwendung, die Archivierungs-Clientanwendung, die Betriebssysteme der jeweiligen Knoten und dergleichen. Man sollte anerkennen, dass der Prozess 600 eine beliebige Anzahl von zusätzlichen oder alternativen Aufgaben einschließen kann, dass die in 6 gezeigten Aufgaben nicht in der dargestellten Reihenfolge durchgeführt werden müssen und dass der Prozess 600 in einen umfassenderen Archivierungsprozess oder ein Programm mit zusätzlicher, hierin nicht ausführlich beschriebener Funktionalität einbezogen sein kann.
  • Die folgende Beschreibung des Prozesses 600 geht davon aus, dass die zu archivierende Cluster-Anwendung als Cluster-Anwendung AA bezeichnet wird, was sie von anderen Cluster-Anwendungen im Netzwerk unterscheidet. Die folgende Beschreibung geht außerdem davon aus, dass die Archivierungs-Serveranwendung auf einem geeigneten Netzwerkknoten installiert wird und dass eine virtuelle Client-Anwendung erzeugt und für die Cluster-Anwendung AA konfiguriert worden ist.
  • Der Sicherungsprozess für die Cluster-Anwendung 600 kann mit einer Aufgabe 602 beginnen, die einen Sicherungsauftrag für die Cluster-Anwendung AA anfordert. Die ursprüngliche Sicherungsanforderung kann durch ein geeignetes Zeitplanungsprogramm, das durch das Archivierungssystem verwaltet wird, oder als Antwort auf eine Benutzereingabe erzeugt werden. In der praktischen Ausführungsform fordert die Archivierungs-Serveranwendung den Sicherungsauftrag an, und die Anforderung identifiziert die Cluster-Anwendung AA. Als Antwort auf die Auftragsanforderung können Einzelheiten des Sicherungsauftrags von einem passenden Speicherstandort abgerufen werden (Aufgabe 604). Solche Information wird schließlich durch die antwortende Archivierungs-Clientanwendung verwendet, wenn sie den Sicherungsauftrag durchführt.
  • Schließlich erzeugt die Archivierungs-Serveranwendung oder die virtuelle Client-Anwendung für die Cluster-Anwendung AA eine Standortanforderung, die die symbolische Kennung oder die virtuelle IP-Adresse für die Cluster-Anwendung AA aufweist (Aufgabe 606). Die Standortanforderung kann auch die während der Aufgabe 604 abgerufenen Einzelheiten des Sicherungsauftrags, den Namen der Cluster-Anwendung AA und/oder den Namen des entsprechenden virtuellen Clients enthalten. In dieser Hinsicht sind die Archivierungs-Serveranwendung, die jeweilige virtuelle Client-Anwendung und ihre entsprechenden Software-Elemente, einzeln oder in Kombination, beispielhafte Mittel zur Erzeugung einer Standortanforderung für die Cluster-Anwendung AA. In der Praxis kann diese Standortanforderung durch ein herkömmliches Programm gemäß bekannten Methodiken für Cluster-Netzwerke erzeugt werden. Diese Standortanforderung stellt einen Versuch durch die virtuelle Client-Anwendung dar, den gegenwärtigen physischen Standort der Cluster-Anwendung AA zu bestimmen.
  • Angenommen, dass die Cluster-Anwendung AA sich tatsächlich irgendwo im Netzwerk befindet, dann empfängt der Client-Knoten, auf dem sich die Cluster-Anwendung AA befindet, die Standortanforderung, und die auf diesem Knoten befindliche Archivierungs-Clientanwendung antwortet auf die Anforderung (Aufgabe 608). In der beispielhaften Ausführungsform kann Aufgabe 608 durch das Betriebssystem des Client-Knotens oder durch die auf dem Client-Knoten befindliche Archivierungs-Clientanwendung durchgeführt werden. Die Antwort oder Bestätigung vom Client-Knoten gibt den physischen Standort des Client-Knotens an, der wiederum den gegenwärtigen Standort der Cluster-Anwendung AA angibt. In der praktischen Ausführungsform verwendet das Archivierungssystem eine Namensgebungsvereinbarung, die den verschiedenen Knoten innerhalb der Netzwerkumgebung unterschiedliche "Maschinennamen" zuweist. Dementsprechend weist die Antwort vom Client-Knoten den eindeutigen Maschinennamen für diesen bestimmten Knoten auf. Der bzw. die Netzwerkmanager und/oder andere Komponenten des Systems können die Übersetzung eines Maschinennamens in eine Adresskennung (zum Beispiel eine IP-Adresse), die mit dem Netzwerk oder den Betriebssystemen kompatibel ist, abwickeln. Die Antwort vom Client-Knoten wird an die entsprechende virtuelle Client-Anwendung unter Verwendung der IP-Adresse der virtuellen Client-Anwendung zurückgesendet. Dies befähigt die virtuelle Client-Anwendung, den physischen Standort der Cluster-Anwendung AA (Aufgabe 610) zu erlangen. In dieser Hinsicht sind die Archivierungs-Serveranwendung, die jeweilige virtuelle Client-Anwendung, die jeweilige Archivierungs-Clientanwendung, der jeweilige Client-Knoten und ihre entsprechenden Software-Elemente und Betriebssysteme, einzeln oder in Kombination, beispielhafte Mittel zum Erlangen einer Kennung des physischen Standorts für die Cluster-Anwendung AA.
  • Wie oben in Verbindung mit 4 beschrieben, verwaltet jede virtuelle Client-Anwendung eine Liste der Client-Knoten mit aktiven Archivierungs-Clientanwendungen. In der praktischen Ausführungsform muss sich eine aktive Archivierungs-Clientanwendung auf dem physischen Client-Knoten befinden, bevor die tatsächliche Datenarchivierung beginnen kann. Dementsprechend kann das Archivierungssystem eine Anfrageaufgabe 612 durchführen, um zu bestimmen, ob zur Zeit eine Archivierungs-Clientanwendung auf diesem Knoten aktiv ist, und/oder um zu bestimmen, ob sich auf diesem Client-Knoten eine ruhende Archivierungs-Clientanwendung befindet. In der praktischen Ausführungsform wird die Anfrageaufgabe 612 durch die jeweilige virtuelle Client-Anwendung durchgeführt. Wenn die Anfrageaufgabe 612 bestimmt, dass sich auf dem Knoten keine aktive Archivierungs-Clientanwendung befindet, dann löst das Archivierungssystem eine Aufgabe 614 aus. Während der Aufgabe 614 kann das Archivierungssystem eine aktive Archivierungs-Clientanwendung auf dem Client-Knoten installieren (wenn sich keine solche Anwendung auf dem Knoten befindet) oder eine ruhende Archivierungs-Clientanwendung aktivieren, die bereits auf dem Client-Knoten installiert ist. In der Praxis kann die Archivierungs-Serveranwendung "Schiebe"-Methoden verwenden, um die Archivierungs-Clientanwendung je nach Bedarf dynamisch zu installieren, oder sie kann eine geeignete Nachricht erzeugen, um die ruhende Archivierungs-Clientanwendung auf dem Knoten zu aktivieren.
  • Nach der Aufgabe 614 oder wenn die Anfrageaufgabe 612 bestimmt, dass sich auf dem Client-Knoten eine aktive Archivierungs-Clientanwendung befindet, kann das Archivierungssystem mit den tatsächlichen Sicherungs-/Archivierungsprozeduren fortfahren. Insbesondere greift das Archivierungssystem auf die Archivierungs-Konfigurationsdateien zu (Aufgabe 616), die der Cluster- Anwendung AA entsprechen. In der Praxis speichert das Archivierungssystem die Archivierungs-Konfigurationsdateien, so dass diese Dateien bei Bedarf den Archivierungs-Clientanwendungen vorgelegt werden können (unabhängig vom physischen Standort der Cluster-Anwendung AA). In dieser Hinsicht sind die Archivierungs-Serveranwendung, die jeweilige virtuelle Client-Anwendung, die jeweilige Archivierungs-Clientanwendung, der jeweilige Client-Knoten und ihre entsprechenden Software-Elemente und Betriebssysteme, einzeln oder in Kombination, beispielhafte Mittel für den Zugriff auf die Archivierungs-Konfigurationsdateien.
  • Die Konfigurationsdateien geben die tatsächlichen Sicherungsprozeduren vor. In der beispielhaften Ausführungsform greift die Archivierungs-Serveranwendung auf diese Konfigurationsdateien mittels der virtuellen Client-Anwendung zu. Diese Konfigurationsdateien wurden oben in Verbindung mit 4 beschrieben.
  • Eine Funktion der Archivierungs-Konfigurationsdateien besteht darin, das Archivierungssystem zu befähigen, mindestens eine Speichermedienvorrichtung zur Speicherung der Sicherungsdaten anzugeben (Aufgabe 618). Zum Beispiel kann die Archivierungs-Serveranwendung ein spezifisches Bandlaufwerk angeben, das sich in unmittelbarer physischer Nähe zum Client-Knoten befindet, oder sie kann ein Bandlaufwerk angeben, das einen großen Betrag an verfügbarem Speicherraum hat. Danach führt das Archivierungssystem eine Sicherung (Aufgabe 620) der aktuellen Datei (oder Dateien) auf einer geeigneten Speichermedienvorrichtung, zum Beispiel einer der in Aufgabe 618 angegebenen Medienvorrichtungen, durch. Dabei sind die Archivierungs-Serveranwendung, die jeweilige virtuelle Client-Anwendung, die jeweilige Archivierungs-Clientanwendung, der jeweilige Client-Knoten und ihre entsprechenden Software-Elemente und Betriebssysteme, einzeln oder in Kombination, beispielhafte Mittel zur Abwicklung der Archivierung der Daten für die Cluster-Anwendung AA gemäß den Archivierungs-Konfigurationsdateien.
  • Die tatsächliche Sicherungs- oder Archivierungsprozedur speichert Daten für die Cluster-Anwendung AA gemäß den Archivierungs-Konfigurationsdateien, die durch die virtuelle Client-Anwendung verwaltet werden. Das Archivierungssystem kann an diesem Punkt des Prozesses eine beliebige Anzahl der Dateien archivieren. Im hierin ausführlich beschriebenen beispielhaften Prozess 600 werden die Dateien der Cluster-Anwendung AA jedoch einzeln archiviert, so dass die Sicherungsaufträge auch dann ausgeführt werden können, wenn die Cluster-Anwendung AA bei Ausfall übergeht. Dieses Merkmal ist höchst wünschenswert, weil ein Archivierungsauftrag im Fall einer Ausfallübergabe der Cluster-Anwendung nicht zurückgesetzt oder wiederholt werden muss.
  • Der Sicherungsprozess für die Cluster-Anwendung 600 kann eine Anfrageaufgabe 622 aufweisen, die prüft, ob noch mehr Dateien für die Cluster-Anwendung AA zu sichern sind. Wenn nicht, dann ist der Archivierungsprozess für diese Wiederholung abgeschlossen, und der Prozess 600 endet. Wenn ja, dann wird der Prozess 600 in Aufgabe 606 wiederaufgenommen, so dass eine andere Standortanforderung erzeugt werden kann. Auf diese Weise kann der Großteil des Prozesses 600 für jede einzelne Datei wiederholt werden (oder alternativ wiederholt werden, nachdem eine beliebige Anzahl von Daten gesichert worden ist). Mit anderen Worten, der Prozess 600 bestätigt periodisch den aktuellen physischen Standort der Cluster-Anwendung AA und ist imstande, die Daten für die Cluster-Anwendung AA unabhängig von ihrem tatsächlichen physischen Standort zu sichern. Somit kann, wenn der aktualisierte physische Standort der gleiche wie der letzte physische Standort ist, die Archivierungsprozedur den gleichen Satz von Konfigurationsdateien verwenden. Wenn sich hingegen der physische Standort verändert hat, dann kann die Archivierungsprozedur einen neuen Satz von Konfigurationsdateien nutzen, um die aktuellen Daten zu sichern, oder den gleichen Satz von Konfigurationsdateien nutzen, aber für eine andere Archivierungs-Clientanwendung, die auf einem anderen Knoten installiert ist.
  • Die vorliegende Erfindung ist oben mit Bezug auf eine bevorzugte Ausführungsform beschrieben worden. Jedoch wird der Fachmann, nachdem er diese Offenbarung gelesen hat, erkennen, dass Änderungen und Modifikationen an der bevorzugten Ausführungsform möglich sind, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Es ist beabsichtigt, dass diese und andere Veränderungen oder Modifikationen in den Schutzbereich der vorliegenden Erfindung eingeschlossen sind, wie er in den beigefügten Ansprüchen ausgedrückt ist.

Claims (10)

  1. Verfahren zur Archivierung von Daten für eine Cluster-Anwendung (202) in einer Cluster-Netzwerkumgebung, wobei das Verfahren die folgenden Schritte umfasst: Erzeugen (606) einer Standortanfrage für die Cluster-Anwendung (202), wobei die Standortanfrage eine symbolische Kennung (410) für die Cluster-Anwendung aufweist; Erlangen (610) einer Kennung des physischen Standorts für die Cluster-Anwendung (202) als Antwort auf die Standortanfrage; Zugreifen (616) auf Archivierungs-Konfigurationsdateien für die Cluster-Anwendung; und Archivieren (620) von Daten für die Cluster-Anwendung gemäß den Archivierungs-Konfigurationsdateien.
  2. Verfahren nach Anspruch 1, wobei die Kennung des physischen Standorts einen Maschinennamen für einen Knoten in der Cluster-Netzwerkumgebung umfasst.
  3. Verfahren nach Anspruch 2, wobei die symbolische Kennung (410) eine virtuelle IP-Adresse umfasst, die für die Cluster-Anwendung eindeutig ist.
  4. Verfahren nach Anspruch 1, wobei die Kennung des physischen Standorts einen Knoten (204, 206) in der Cluster-Netzwerkumgebung bezeichnet.
  5. Verfahren nach Anspruch 4, ferner mit den folgenden Schritten: Bestimmen (612) als Antwort auf die Kennung des physischen Standorts, dass auf dem Knoten keine aktive Archivierungsclient-Anwendung läuft; und als Antwort auf den Bestimmungsschritt, Installieren (614) einer aktiven Archivierungsclient-Anwendung (500) auf dem Knoten vor dem aktive Archivierungsschritt.
  6. Verfahren nach Anspruch 4, ferner mit den folgenden Schritten: Bestimmen (612) als Antwort auf die Kennung des physischen Standorts, dass eine aktive Archivierungsclient-Anwendung (500) auf dem Knoten im Ruhezustand ist; und als Antwort auf den Bestimmungsschritt, Aktivieren (614) der Archivierungsclient-Anwendung auf dem Knoten.
  7. Verfahren nach Anspruch 1, wobei der Archivierungsschritt mindestens eine Speichermedienvorrichtung für die Daten identifiziert.
  8. System zur Archivierung von Daten für eine Cluster-Anwendung in einer Cluster-Netzwerkumgebung, wobei das System umfasst: Mittel (200) zur Erzeugung einer Standortanfrage für die Cluster-Anwendung (202), wobei die Standortanfrage eine symbolische Kennung für die Cluster-Anwendung aufweist; Mittel (214, 216) zur Erlangung einer Kennung des physischen Standorts für die Cluster-Anwendung (202) als Antwort auf die Standortanfrage; Mittel (212) zum Zugriff auf Archivierungs-Konfigurationsdateien für die Cluster-Anwendung; und Mittel (210) zur Abwicklung der Archivierung von Daten für die Cluster-Anwendung gemäß den Archivierungs-Konfigurationsdateien.
  9. System nach Anspruch 8, wobei die Mittel zur Erzeugung, die Mittel zur Erlangung, die Mittel zum Zugriff und die Mittel zur Abwicklung in Software implementiert sind.
  10. Computerprogramm-Erzeugnis mit durch einen Prozessor ausführbaren Anweisungen, die betriebsfähig sind, einem oder mehreren Computern zu ermöglichen, das Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen.
DE602004002858T 2004-05-13 2004-07-29 Vorrichtung und Verfahren zur Datenarchivierung in einem Clustersystem Expired - Lifetime DE602004002858T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US845734 1986-03-28
US10/845,734 US20050267920A1 (en) 2004-05-13 2004-05-13 System and method for archiving data in a clustered environment

Publications (2)

Publication Number Publication Date
DE602004002858D1 DE602004002858D1 (de) 2006-11-30
DE602004002858T2 true DE602004002858T2 (de) 2007-05-31

Family

ID=35426656

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002858T Expired - Lifetime DE602004002858T2 (de) 2004-05-13 2004-07-29 Vorrichtung und Verfahren zur Datenarchivierung in einem Clustersystem

Country Status (4)

Country Link
US (1) US20050267920A1 (de)
EP (1) EP1615131B1 (de)
AT (1) ATE343174T1 (de)
DE (1) DE602004002858T2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124171B1 (en) * 2002-05-23 2006-10-17 Emc Corporation In a networked computing cluster storage system and plurality of servers sharing files, in the event of server unavailability, transferring a floating IP network address from first server to second server to access area of data
US8224786B2 (en) * 2004-06-01 2012-07-17 Inmage Systems, Inc. Acquisition and write validation of data of a networked host node to perform secondary storage
US8055745B2 (en) * 2004-06-01 2011-11-08 Inmage Systems, Inc. Methods and apparatus for accessing data from a primary data storage system for secondary storage
US7979656B2 (en) 2004-06-01 2011-07-12 Inmage Systems, Inc. Minimizing configuration changes in a fabric-based data protection solution
US7676502B2 (en) * 2006-05-22 2010-03-09 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US9209989B2 (en) * 2004-06-01 2015-12-08 Inmage Systems, Inc. Causation of a data read operation against a first storage system by a server associated with a second storage system according to a host generated instruction
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7698401B2 (en) * 2004-06-01 2010-04-13 Inmage Systems, Inc Secondary data storage and recovery system
US8868858B2 (en) * 2006-05-19 2014-10-21 Inmage Systems, Inc. Method and apparatus of continuous data backup and access using virtual machines
US7434218B2 (en) * 2005-08-15 2008-10-07 Microsoft Corporation Archiving data in a virtual application environment
US8601225B2 (en) * 2005-09-16 2013-12-03 Inmage Systems, Inc. Time ordered view of backup data on behalf of a host
US8683144B2 (en) * 2005-09-16 2014-03-25 Inmage Systems, Inc. Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery
US7464151B1 (en) * 2006-01-25 2008-12-09 Sprint Communications Company L.P. Network centric application failover architecture
US7761595B1 (en) 2006-01-25 2010-07-20 Sprint Communications Company L.P. Dynamic server addition using virtual routing
US8321377B2 (en) 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US8554727B2 (en) * 2006-05-19 2013-10-08 Inmage Systems, Inc. Method and system of tiered quiescing
US8838528B2 (en) * 2006-05-22 2014-09-16 Inmage Systems, Inc. Coalescing and capturing data between events prior to and after a temporal window
US8527721B2 (en) * 2008-12-26 2013-09-03 Rajeev Atluri Generating a recovery snapshot and creating a virtual view of the recovery snapshot
US8527470B2 (en) 2006-05-22 2013-09-03 Rajeev Atluri Recovery point data view formation with generation of a recovery view and a coalesce policy
US7634507B2 (en) * 2006-08-30 2009-12-15 Inmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
US8060709B1 (en) * 2007-09-28 2011-11-15 Emc Corporation Control of storage volumes in file archiving
US8326805B1 (en) * 2007-09-28 2012-12-04 Emc Corporation High-availability file archiving
US8918603B1 (en) 2007-09-28 2014-12-23 Emc Corporation Storage of file archiving metadata
US9583130B2 (en) * 2007-10-05 2017-02-28 Imation Corp. Methods for control of digital shredding of media
US8250088B2 (en) * 2007-10-05 2012-08-21 Imation Corp. Methods for controlling remote archiving systems
US8103616B2 (en) * 2007-10-05 2012-01-24 Imation Corp. Methods for implementation of information audit trail tracking and reporting in a storage system
US8615491B2 (en) * 2007-10-08 2013-12-24 International Business Machines Corporation Archiving tool for managing electronic data
US8078649B2 (en) * 2008-04-07 2011-12-13 Installfree, Inc. Method and system for centrally deploying and managing virtual software applications
US8305706B2 (en) 2008-07-11 2012-11-06 Imation Corp. Disk library system including array of removable disk cartridges and movable connector system
US8028194B2 (en) * 2008-07-25 2011-09-27 Inmage Systems, Inc Sequencing technique to account for a clock error in a backup system
US8069227B2 (en) * 2008-12-26 2011-11-29 Inmage Systems, Inc. Configuring hosts of a secondary data storage and recovery system
US8290912B1 (en) * 2010-01-29 2012-10-16 Symantec Corporation Endpoint virtualization aware backup
US9817739B1 (en) * 2012-10-31 2017-11-14 Veritas Technologies Llc Method to restore a virtual environment based on a state of applications/tiers
US10432703B2 (en) * 2012-11-26 2019-10-01 Facebook, Inc. On-demand session upgrade in a coordination service
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US10339016B2 (en) 2017-08-10 2019-07-02 Rubrik, Inc. Chunk allocation
US10819656B2 (en) * 2017-07-24 2020-10-27 Rubrik, Inc. Throttling network bandwidth using per-node network interfaces
WO2019055628A1 (en) 2017-09-15 2019-03-21 Iron Mountain Incorporated PROTECTION AND RECOVERY OF SECURE DATA

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5435003A (en) * 1993-10-07 1995-07-18 British Telecommunications Public Limited Company Restoration in communications networks
WO1996032685A1 (en) * 1995-04-11 1996-10-17 Kinetech, Inc. Identifying data in a data processing system
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
US5852724A (en) * 1996-06-18 1998-12-22 Veritas Software Corp. System and method for "N" primary servers to fail over to "1" secondary server
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6363497B1 (en) * 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6101508A (en) * 1997-08-01 2000-08-08 Hewlett-Packard Company Clustered file management for network resources
US7082553B1 (en) * 1997-08-25 2006-07-25 At&T Corp. Method and system for providing reliability and availability in a distributed component object model (DCOM) object oriented system
US6173420B1 (en) * 1997-10-31 2001-01-09 Oracle Corporation Method and apparatus for fail safe configuration
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6243825B1 (en) * 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
US6789114B1 (en) * 1998-08-05 2004-09-07 Lucent Technologies Inc. Methods and apparatus for managing middleware service in a distributed system
EP1030494B1 (de) * 1999-02-17 2006-06-28 Sony Deutschland GmbH Kommunikationseinheit und Kommunikationsverfahren mit Profilverwaltung
US6523130B1 (en) * 1999-03-11 2003-02-18 Microsoft Corporation Storage system having error detection and recovery
US6192417B1 (en) * 1999-03-30 2001-02-20 International Business Machines Corporation Multicast cluster servicer for communicating amongst a plurality of nodes without a dedicated local area network
US6446218B1 (en) * 1999-06-30 2002-09-03 B-Hub, Inc. Techniques for maintaining fault tolerance for software programs in a clustered computer system
US6374297B1 (en) * 1999-08-16 2002-04-16 International Business Machines Corporation Method and apparatus for load balancing of web cluster farms
US6895400B1 (en) * 1999-10-05 2005-05-17 Veritas Operating Corporation Dynamic symbolic link resolution
US7210147B1 (en) * 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
US6934269B1 (en) * 2000-04-24 2005-08-23 Microsoft Corporation System for networked component address and logical network formation and maintenance
US7010617B2 (en) * 2000-05-02 2006-03-07 Sun Microsystems, Inc. Cluster configuration repository
US6854069B2 (en) * 2000-05-02 2005-02-08 Sun Microsystems Inc. Method and system for achieving high availability in a networked computer system
US6718383B1 (en) * 2000-06-02 2004-04-06 Sun Microsystems, Inc. High availability networking with virtual IP address failover
US6687849B1 (en) * 2000-06-30 2004-02-03 Cisco Technology, Inc. Method and apparatus for implementing fault-tolerant processing without duplicating working process
US6865591B1 (en) * 2000-06-30 2005-03-08 Intel Corporation Apparatus and method for building distributed fault-tolerant/high-availability computed applications
US6675199B1 (en) * 2000-07-06 2004-01-06 Microsoft Identification of active server cluster controller
US6973491B1 (en) * 2000-08-09 2005-12-06 Sun Microsystems, Inc. System and method for monitoring and managing system assets and asset configurations
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
EP1323040A4 (de) * 2000-09-08 2005-08-03 Goahead Software Inc System und verfahren zur verwaltung von clustern mit mehreren knoten
US7426566B2 (en) * 2001-01-17 2008-09-16 International Business Machines Corporation Methods, systems and computer program products for security processing inbound communications in a cluster computing environment
JP4131781B2 (ja) * 2001-03-30 2008-08-13 株式会社東芝 分散処理型データベース管理システム
US6976039B2 (en) * 2001-05-25 2005-12-13 International Business Machines Corporation Method and system for processing backup data associated with application, querying metadata files describing files accessed by the application
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6948038B2 (en) * 2001-07-24 2005-09-20 Microsoft Corporation System and method for backing up and restoring data
US6934880B2 (en) * 2001-11-21 2005-08-23 Exanet, Inc. Functional fail-over apparatus and method of operation thereof
US7139809B2 (en) * 2001-11-21 2006-11-21 Clearcube Technology, Inc. System and method for providing virtual network attached storage using excess distributed storage capacity
US7124171B1 (en) * 2002-05-23 2006-10-17 Emc Corporation In a networked computing cluster storage system and plurality of servers sharing files, in the event of server unavailability, transferring a floating IP network address from first server to second server to access area of data
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
US20040107199A1 (en) * 2002-08-22 2004-06-03 Mdt Inc. Computer application backup method and system
US20040059735A1 (en) * 2002-09-10 2004-03-25 Gold Russell Eliot Systems and methods for enabling failover in a distributed-object computing environment
US7194652B2 (en) * 2002-10-29 2007-03-20 Brocade Communications Systems, Inc. High availability synchronization architecture
US7076689B2 (en) * 2002-10-29 2006-07-11 Brocade Communication Systems, Inc. Use of unique XID range among multiple control processors
US20040193953A1 (en) * 2003-02-21 2004-09-30 Sun Microsystems, Inc. Method, system, and program for maintaining application program configuration settings
US7451208B1 (en) * 2003-06-28 2008-11-11 Cisco Technology, Inc. Systems and methods for network address failover
US7526549B2 (en) * 2003-07-24 2009-04-28 International Business Machines Corporation Cluster data port services for clustered computer system
US7234075B2 (en) * 2003-12-30 2007-06-19 Dell Products L.P. Distributed failover aware storage area network backup of application data in an active-N high availability cluster
US7246256B2 (en) * 2004-01-20 2007-07-17 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
US20050283636A1 (en) * 2004-05-14 2005-12-22 Dell Products L.P. System and method for failure recovery in a cluster network
US20060015773A1 (en) * 2004-07-16 2006-01-19 Dell Products L.P. System and method for failure recovery and load balancing in a cluster network
US7320088B1 (en) * 2004-12-28 2008-01-15 Veritas Operating Corporation System and method to automate replication in a clustered environment
US7668962B2 (en) * 2005-02-07 2010-02-23 Symantec Operating Corporation System and method for connection failover using redirection
JP2008140221A (ja) * 2006-12-04 2008-06-19 Hitachi Ltd ストレージシステム及び管理方法並びに管理装置

Also Published As

Publication number Publication date
ATE343174T1 (de) 2006-11-15
EP1615131B1 (de) 2006-10-18
EP1615131A1 (de) 2006-01-11
DE602004002858D1 (de) 2006-11-30
US20050267920A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
DE602004002858T2 (de) Vorrichtung und Verfahren zur Datenarchivierung in einem Clustersystem
DE69904190T2 (de) Verfahren und programm zum verarbeiten der verwaltungsanfragen einer verteilten netzwerkanwendung in einer gruppierten rechnerumgebung
DE10134492B4 (de) Ausfallübernahme des Dateimanagementsystems in einem Rechnercluster
DE602004008028T2 (de) Verfahren zum dynamischen Transferieren zwischen Servern für virtuelle Dateiserver
DE69728178T2 (de) Vorrichtung und verfahren zur fernen datenrückgewinnung
DE60316783T2 (de) Erkennung von Speichermangel und Feinabschaltung
DE60018803T2 (de) Verfahren und apparat zur verwaltung von information der speicheraktivitäten von datenspeichersystemen
DE60308700T2 (de) Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage
DE69918467T2 (de) Servervorrichtung und Verfahren deren Verwendung
US7441024B2 (en) Method and apparatus for applying policies
DE10124482B4 (de) Fehlertolerante Systemressource mit niedriger Latenzzeit, mit übergeordneter Protokollierung von Systemressourcentransaktionen und serverübergreifend gespiegelter Protokollierung von übergeordneten Systemressourcentransaktionen
DE60220263T2 (de) Server-duplexverfahren und geduplextes serversystem
DE69021122T2 (de) Verfahren und Gerät zur ununterbrochenen Versorgung von Anwendungen in einem Rechnernetzwerk.
DE69614383T2 (de) Kontinuierlich verfügbarer datenbankserver mit mehreren knotengruppen mit sich minimal überschneidenden sätzen von datenbankteilkopien
DE69410671T2 (de) Datensicherung in einer Datenverarbeitungsanlage
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
EP1194865B1 (de) Verfahren zur datenpflege in einem netzwerk teilweise replizierter datenbanksysteme
DE69508431T2 (de) Verfahren und vorrichtung für die einfache und sichere verwaltung von entfernten servern
DE102004027672A1 (de) Speicherplattenarraysystem
US20030158933A1 (en) Failover clustering based on input/output processors
US8316110B1 (en) System and method for clustering standalone server applications and extending cluster functionality
DE10124514A1 (de) Fehlertolerante, gemeinsam genutzte Systemressource mit einem Hochverfügbarkeitskommunikationen bereitstellenden Kommunikationsdurchgang
EP0807883B1 (de) Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE10113577A1 (de) Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems
DE10393771T5 (de) Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R074 Re-establishment allowed

Ref document number: 1615131

Country of ref document: EP

R074 Re-establishment allowed

Ref document number: 1615131

Country of ref document: EP

Effective date: 20120820

R081 Change of applicant/patentee

Ref document number: 1615131

Country of ref document: EP

Owner name: QUEST SOFTWARE, INC., US

Free format text: FORMER OWNER: BAKBONE SOFTWARE INC., SAN DIEGO, US

Effective date: 20120919