-
HINTERGRUND
-
Technisches Gebiet
-
Ausführungsformen der vorliegenden Erfindung betreffen allgemein eine Wiederherstellung von Datenquellen. Insbesondere betreffen Ausführungsformen ein Bootstrapping von Benutzerdaten, um gemeinsam genutzte Datenquellen wiederherzustellen.
-
Erörterung
-
Herkömmliche Datenbanksysteme können Protokolle erstellen, die Daten über Aktualisierungen und Änderungen der betreffenden Datenbank enthalten. Diese Protokolle zum Wiederherstellen der Datenbank bei Datenfehlern oder Systemausfällen können zwar verwendet werden, die Fähigkeit zum vollständigen Wiederherstellen einer Datenbank in ihren früheren Zustand kann jedoch von der Verfügbarkeit und Zuverlässigkeit der Protokolle abhängen. Zum Beispiel können bei einem katastrophalen Systemausfall, einem Plattenfehler oder einem schwerwiegenden Bedienfehler die Protokolle gelöscht und/oder unbrauchbar werden.
-
Die Druckschrift
JP 2008 - 033 778 A betrifft ein Verfahren zur Wiederherstellung einer Datenbank, wobei eine Sicherungskopie erstellt wird, wobei die Wiederherstellung keine Störungen der Datenbank und Inkonsistenzen der Daten der Datenbank verursacht.
-
Die Druckschrift
US 7 065 674 B2 betrifft ein Verfahren zur Verwendung von verteilten Informationen zur Fehlerbehebung für die Fehlerbehebung eines Zielcomputersystems. Das Verfahren umfasst: Speichern einer Mehrzahl von Identitäten von Quellcomputersystemen, die mit dem Zielcomputersystem interagiert haben, außerhalb des Zielcomputersystems, wobei die Mehrzahl von Identitäten von Quellcomputersystemen, die mit dem Zielcomputersystem interagiert haben, eine Identität von mindestens einem Proxy-Server beinhaltet, der Zielsystem-Fehlerbehebungsinformationen im Namen von mindestens einem Quellcomputer geloggt hat; Abrufen vorangehend geloggter Zielsystem-Fehlerbehebungsinformationen von einer Mehrzahl von Quellcomputersystemen auf Grundlage der gespeicherten Mehrzahl von Identitäten von Quellcomputersystemen, die mit dem Zielcomputersystem interagiert haben; und Verwenden der abgerufenen Zielsystem-Fehlerbehebungsinformationen zur Behebung eines Zielsystem-Fehlers.
-
KURZDARSTELLUNG
-
Der Erfindung liegt die Aufgabe zu Grunde ein verbessertes computergestütztes Verfahren zum Wiederstellen einer Datenquelle, die von mehreren Benutzern gemeinsam genutzt wird, sowie ein Computerprogrammprodukt, das einen durch einen Computer nutzbaren Code aufweist, zu schaffen. Der Code, wenn er durch einen Prozessor des Computers ausgeführt wird, veranlasst den Computer das obig genannte Verfahren auszuführen. Erfindungsgemäß wird die Aufgabe gelöst durch die Gegenstände der unabhängigen Patentansprüche 1 und 8. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
-
Bei einem computergestützten Verfahren wird ein erster Benutzer einer gemeinsam genutzten Datenquelle als Reaktion auf ein Erkennen eines Datenverlustes in Bezug auf die gemeinsam genutzte Datenquelle ermittelt. Ein oder mehrere weitere Benutzer der gemeinsam genutzten Datenquelle können auf der Grundlage von Daten ermittelt werden, die dem ersten Benutzer zugehörig sind. Das Verfahren kann auch für ein Wiederherstellen der gemeinsam genutzten Datenquelle zumindest teilweise auf der Grundlage von Daten sorgen, die dem einen oder den mehreren weiteren Benutzern zugehörig sind.
-
Ein Computerprogrammprodukt weist ein computerlesbares Speichermedium und einen durch Computer nutzbaren Code auf, der auf dem computerlesbaren Speichermedium gespeichert ist. Wenn der durch Computer nutzbare Code durch einen Prozessor ausgeführt wird, veranlasst der durch Computer nutzbare Code einen Computer, als Reaktion auf das Erkennen eines Datenverlustes in Bezug auf die gemeinsam genutzte Datenquelle einen ersten Benutzer einer gemeinsam genutzten Datenquelle zu ermitteln. Der durch Computer nutzbare Code kann einen Computer auch veranlassen, einen oder mehrere weitere Benutzer der gemeinsam genutzten Datenquelle auf der Grundlage von Daten zu ermitteln, die dem ersten Benutzer zugehörig sind, und die gemeinsam genutzte Datenquelle zumindest teilweise auf der Grundlage von Daten wiederherzustellen, die dem einen oder den mehreren weiteren Benutzern zugehörig sind.
-
Bei einem computergestützten Verfahren kann außerdem auf eine gemeinsam genutzte Datenquelle zugegriffen und eine der gemeinsam genutzten Datenquelle zugehörige Wiederherstellungsanforderung empfangen werden. Das Verfahren kann als Reaktion auf die Wiederherstellungsanforderung auch für ein Senden von Daten sorgen, die einem oder mehreren weiteren Benutzern der gemeinsam genutzten Datenquelle zugehörig sind.
-
Ein Computerprogrammprodukt weist ein computerlesbares Speichermedium und einen auf dem computerlesbaren Speichermedium gespeicherten, durch Computer nutzbaren Code auf, der bei Ausführen durch einen Prozessor einen Computer zum Zugreifen auf eine gemeinsam genutzte Datenquelle veranlasst. Der durch Computer nutzbare Code kann einen Computer auch veranlassen, eine Wiederherstellungsanforderung zu empfangen, die der gemeinsam genutzten Datenquelle zugehörig ist, und als Reaktion auf die Wiederherstellungsanforderung Daten zu senden, die dem einen oder den mehreren weiteren Benutzern der gemeinsam genutzten Datenquelle zugehörig sind.
-
Bei einem computergestützten Verfahren wird eine Netzwerkkomponente als Reaktion auf das Erkennen eines Datenverlustes in Bezug auf eine gemeinsam genutzte Datenquelle abgefragt. Von der Netzwerkkomponente kann eine Kennung eines ersten Benutzers der gemeinsam genutzten Datenquelle empfangen werden, wobei die Kennung eine Internetprotokolladresse und/oder eine Anmelde-ID und/oder eine eMail-Adresse beinhaltet, die dem ersten Benutzer zugehörig ist. Das Verfahren kann auch für ein Ermitteln eines oder mehrerer weiterer Benutzer der gemeinsam genutzten Datenquelle auf der Grundlage von Daten, die dem ersten Benutzer zugehörig sind, und für das Wiederherstellen der gemeinsam genutzten Datenquelle zumindest teilweise auf der Grundlage von Daten sorgen, die dem einen oder den mehreren weiteren Benutzern zugehörig sind. Darüber hinaus kann ein Vergleich zwischen der wiederhergestellten gemeinsam genutzten Datenquelle und einer vorherigen gemeinsam genutzten Datenquelle durchgeführt und auf der Grundlage des Vergleichs eine Benachrichtigung erstellt werden.
-
Figurenliste
-
Die verschiedenen Vorteile der Ausführungsformen der vorliegenden Erfindung werden dem Fachmann aus der Lektüre der folgenden Beschreibung und der beiliegenden Ansprüche und unter Bezugnahme auf die folgenden Zeichnungen offensichtlich, wobei:
- 1 ein Blockschaubild eines Beispiels der Architektur eines Datenverarbeitungssystems gemäß einer Ausführungsform ist;
- 2 ein Ablaufplan eines Beispiels für ein Verfahren zum Wiederherstellen einer gemeinsam genutzten Datenquelle gemäß einer Ausführungsform ist; und
- 3 ein Ablaufplan eines Beispiels für ein Verfahren zum Verarbeiten einer Wiederherstellungsanforderung gemäß einer Ausführungsform ist.
-
DETAILLIERTE BESCHREIBUNG
-
Dem Fachmann ist einsichtig, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt umgesetzt werden können. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte in sich vereinigt, die hierin sämtlich als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit einem darauf gespeicherten computerlesbaren Programmcode verkörpert ist.
-
Es kann jede beliebige Kombination eines oder mehrerer computerlesbarer Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder um ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine entsprechende Vorrichtung oder Einheit oder eine beliebige geeignete Kombination derselben handeln. Speziellere Beispiele (eine nicht erschöpfende Aufzählung) des computerlesbaren Speichermediums können Folgendes beinhalten: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen Lichtwellenleiter, einen tragbaren Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination derselben. In Verbindung mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein weitergeleitetes Datensignal mit einem darin verkörperten computerlesbaren Programmcode beinhalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches weitergeleitetes Signal kann eine Vielfalt von Formen annehmen, darunter, ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder eine beliebige geeignete Kombination derselben. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten oder transportieren kann.
-
Ein auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter, ohne darauf beschränkt zu sein, drahtlos, leitungsgebunden, Lichtwellenleiter, HF usw. oder eine beliebige geeignete Kombination derselben.
-
Ein Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer eines Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. Im letzteren Fall kann der ferne Computer durch einen beliebigen Typ von Netzwerk mit dem Computer des Benutzers verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwendung eines Internetdienstleisters).
-
Aspekte der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf Ablaufpläne und oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufpläne und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Anweisungen eines Computerprogramms umgesetzt werden können. Diese Anweisungen des Computerprogramms können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine derart zu erzeugen, dass die durch den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubildes angegebenen Funktionen/Aktionen erzeugen.
-
Diese Anweisungen des Computerprogramms können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten veranlasst, in einer bestimmten zu funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Fertigungsprodukt erzeugen, das die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Aktionen umsetzt.
-
Die Anweisungen des Computerprogramms können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, damit diese eine Folge auf dem Computer, der anderen programmierbaren Vorrichtung oder anderen Einheiten auszuführender Arbeitsschritte auslösen, um einen computergestützten Prozess derart zu erzeugen, dass die auf dem Computer oder einer anderen programmierbaren ausgeführten Anweisungen Prozesse zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans oder des Blockschaubildes angegebenen Funktionen /Aktionen bereitstellen.
-
1 zeigt eine Architektur 10, in der eine gemeinsam genutzte Datenquelle 12 wie beispielsweise eine gemeinsam genutzte Datenbank (z.B. eine relationale Datenbank, eine eMail-Datenbank usw.) oder eine Website durch Bootstrapping der Inhalte von zwei oder mehreren Benutzern der gemeinsam genutzten Datenquelle 12 wiederhergestellt werden kann. Bei dem dargestellten Beispiel kann die Benutzerausrüstung (UE) 14 (14a bis 14c) zum Zugreifen auf die gemeinsam genutzte Datenquelle 12 über ein Netzwerk 16 genutzt werden, wobei das Zugreifen auf die gemeinsam genutzte Datenquelle 12 dazu führt, dass die der gemeinsam genutzten Datenquelle 12 entsprechenden Inhalte 18, 20, 22 auf der UE 14 gespeichert werden. Die Inhalte 18, 20, 22 können einen Teil (z.B. eine Teilmenge) oder die Gesamtheit (z.B. ein komplettes Abbild) der gemeinsam genutzten Datenquelle 12 darstellen, wobei der veranschaulichte Ansatz für ein Kompilieren der neuesten Versionen der Inhalte 18, 20, 22 sorgen kann, um die gemeinsam genutzte Datenquelle 12 wiederherzustellen.
-
Bei der UE 14 kann es sich um einen Personal Computer (PC), einen Notebook-Computer, einen persönlichen digitalen Assistenten (PDA), ein mobiles Smartphone oder eine andere Einheit handeln, die über das Netzwerk 16 auf einen Server 24 oder eine andere Plattform zugreifen kann, die die gemeinsam genutzte Datenquelle 12 enthält. Wenn es sich bei der gemeinsam genutzten Datenquelle 12 zum Beispiel um eine eMail-Datenbank handelt, können die Inhalte 18, 20, 22 gegebenenfalls einzelne eMail-Nachrichten enthalten, die über das Netzwerk 16 entweder an die der betreffenden UE 14 zugehörigen Benutzer gesendet oder durch diese empfangen wurden. Wenn es sich bei der gemeinsam genutzten Datenquelle 12 hingegen um eine Website handelt, können die Inhalte 18, 20, 22 zwischengespeicherte Daten von den Webseiten enthalten, die über das Netzwerk 16 durch die Benutzer besucht wurden, die der betreffenden UE 14 zugehörig sind.
-
Wie bereits erwähnt, können die Inhalte 18, 20, 22 zum Wiederherstellen der gemeinsam genutzten Datenquelle 12 genutzt werden, wenn es zu einem Datenverlust in Bezug auf die gemeinsam genutzte Datenquelle 12 kommt (z.B. aufgrund eines Systemausfalls, eines Plattenfehlers, eines Bedienfehlers). Wenn der Datenverlust darüber hinaus auch einen Verlust von Daten bezüglich der UE 14 selbst oder einen Verlust der Identitäten des der betreffenden UE 14 zugehörigen Benutzers beinhaltet oder wenn solche Identitäten und/oder Daten nicht gespeichert werden (wenn es sich bei der Quelle z.B. um eine offene Datenbank oder einen offenen Web-Server handelt), ist die veranschaulichte Architektur 10 in der Lage, nach den Inhalten 18, 20, 22 zu suchen und die gemeinsam genutzte Datenquelle 12 auf der Grundlage der Inhalte 18, 20, 22 wiederherzustellen. Insbesondere kann das Netzwerk 16 Komponenten beinhalten, die in der Lage sind, einen oder mehrere Benutzer der gemeinsam genutzten Datenquelle 12 und/oder der solchen Benutzern zugehörigen UE 14 zu ermitteln. Zum Beispiel kann das veranschaulichte Netzwerk 16 eine beliebige geeignete Kombination von Servern, Zugriffspunkten, Leitwegrechnern wie beispielsweise der Leitwegrechner 26, Basisstationen, Mobilfunk-Vermittlungszentralen, Komponenten des öffentlichen Telefonnetzwerks (PSTN) usw. beinhalten, um einen Datenaustausch zwischen der UE 14 und dem Server 24 zu ermöglichen, wobei diese Netzwerkkomponenten Daten speichern können, die beim Wiederherstellungsprozess von Nutzen sind.
-
Bei einem Beispiel stellt der Leitwegrechner 26 eine Netzwerkkomponente dar, die eine oder mehrere Kennungen 28 beinhaltet, die mindestens einer der Einheiten UE 14 zugehörig sind, wobei die Kennung 28 auf dem Leitwegrechner 26 gespeichert ist und vor oder nach dem Erkennen des Datenverlustes gespeichert sein kann, damit ein Zugriff auf die gemeinsam genutzte Datenquelle 12 möglich ist. Zum Beispiel kann es sich bei der Kennung 28 um eine Internetprotokoll- (IP-) Adresse der UE 14a, eine Anmelde-ID, die einem Benutzer der UE 14a zugehörig ist, oder eine eMail-Adresse handeln, die einem Benutzer der UE 14a zugehörig ist. Demgemäß können Netzwerk-Leitwegrechner so konfiguriert werden, dass er IP-Adressen von Netzwerkpaketen als Datei und/oder Protokoll im Speicher sammelt. Zum Beispiel unterstützen Leitwegrechner der Baureihen 1841, 2800 und 3800 von Cisco Systems, Inc., San Jose, Kalifornien, USA, ein Erfassen des IP-Verkehrs. Auch andere Nutzerdaten wie beispielsweise HTTP- (Übertragungsprotokoll-für-Hypertext) Kopfdaten, eMail-Adressen und HTTP-POST-Daten (z.B. Warenkorbdaten) können aus weitergeleiteten Paketen gesammelt werden. Darüber hinaus können Kennungen anderer Benutzer der gemeinsam genutzten Datenquelle 12 von dem Leitwegrechner 26 und/oder weiteren Komponenten des Netzwerks gewonnen werden.
-
Bei dem dargestellten Beispiel beinhaltet der Server 24 eine Schaltlogik 30 zum Abfragen des Leitwegrechners 26 als Reaktion auf ein Erkennen des Datenverlustes in Bezug auf die gemeinsam genutzte Datenquelle 12 und zum Empfangen der Kennung 28, die der UE 14a zugehörig ist, von dem Leitwegrechner 26. Die Abfrage kann ein Übertragen der Identität des Servers 24 und/oder der gemeinsam genutzten Datenquelle 12 an das Netzwerk 16 und ein Anfordern von Daten von einer beliebigen Netzwerkkomponente umfassen, die über Daten verfügt, die Datenübertragungen an den oder von dem Server 24 und/oder der gemeinsam genutzten Datenquelle 12 betreffen. Alternativ kann der Leitwegrechner 26 so konfiguriert werden, dass er die Kennung 28 periodisch oder nach einem anderen Modus in einer Push-Operation an den Server 24 überträgt. Nach dem Empfangen der Kennung 28 von der UR 14a (und/oder deren zugehörigem Benutzer) von dem Leitwegrechner 26 verwendet die dargestellte Schaltlogik 30 die dem Benutzer/der UE 14a zugehörigen Daten zum Ermitteln eines oder mehrerer weiterer Benutzer der gemeinsam genutzten Datenquelle 12 wie beispielsweise von Benutzern der UE 14b und UE 14c.
-
Insbesondere kann die Schaltlogik 30 auf dem Server 24 Daten mit einer Schaltlogik 32 austauschen, die auf der UE 14a installiert ist, um Kennungen (z.B. IP-Adressen, Anmelde-IDs, eMail-Adressen usw.) zu gewinnen, die der UE 14b und der UE 14c zugehörig sind. Zum Beispiel kann die Schaltlogik 32 eine Kopie eines von der Schaltlogik 32 auf der UE 14a gespeicherten Adressbuchs anfordern, wobei die weiteren Benutzer in dem Adressbuch auffindbar sind. Darüber hinaus kann die Schaltlogik 30 die den UE 14b und 14c zugehörigen weiteren Benutzer auf der Grundlage der Inhalte 18 selbst ermitteln. Im Fall einer eMail-Datenbank können die Inhalte 18 einzelne eMails beinhalten, wobei die Schaltlogik 30 die einzelnen eMails analysieren kann, um die eMail-Adressen der weiteren Absender und/oder Empfänger zu ermitteln. Nachdem die weiteren Benutzer und/oder deren UE 14b, 14c ermittelt worden sind, können von den UE 14b, 14c die Inhalte 20 bzw. 22 abgerufen werden. Die Inhalte 20, 22 und die weiteren Benutzer solcher Inhalte 20, 22 wiederum können einen Mechanismus zum Ermitteln und Anwählen weiterer Benutzer der gemeinsam genutzten Datenquelle 12 bereitstellen. Der dargestellte Ansatz kann deshalb insofern als einzigartige „Bootstrapping“-Technik angesehen werden, als die einem einzelnen Benutzer zugehörigen Daten genutzt werden können, von anderen Benutzern Inhalte der Datenquelle zu gewinnen. Außerdem kann der dargestellte Ansatz für weitere Benutzer verwendet werden, die ursprünglich über Komponenten des Netzwerks 16 gekennzeichnet sind, was zu mehreren Knoten mit „Ausgangsverzweigung“ („fan out“) führen kann, die Wiederherstellungsdaten liefern, verteilt sind und möglicherweise sogar in keiner Beziehung zueinander stehen.
-
2 zeigt ein Verfahren 34 zum Wiederherstellen einer gemeinsam genutzten Datenquelle. Das Verfahren 34 kann in einer Schaltlogik 30 (1) umgesetzt werden, die einer Datenquelle wie beispielsweise einer Datenbank oder einer Website zugehörig ist. In Arbeitsschritt 36 wird ein Datenverlust in Bezug auf die gemeinsam genutzte Datenquelle erkannt. Wie bereits erwähnt, kann der Datenverlust das Ergebnis einer Vielfalt von Zuständen wie beispielsweise eines Systemausfalls, eines Plattenfehlers oder eines Bedienfehlers sein. Das Erkennen des Datenverlustes kann eine Anzahl von Handlungen zur Wiederherstellung der gemeinsam genutzten Datenquelle auslösen. Zum Beispiel können alle nicht mit der Wiederherstellung befassten Aktivitäten der Datenquelle verhindert sowie zu Prüfzwecken ein fortlaufender aktueller Zählerwert der Anzahl von Dokumenten, Dateien und/oder Datenbankzeilen und der Größe der Datenquelle erfasst werden. Diese Daten können getrennt von der gemeinsam genutzten Datenquelle gespeichert werden. Außerdem kann der Datenverlust gegebenenfalls eine Sicherung des nutzbaren Teils der Datenquelle in ihrem aktuellen Zustand auslösen, falls die Wiederherstellungsaktionen zu einer weiteren Beschädigung der Daten führen.
-
In Block 38 wird als Reaktion auf den Datenverlust ein erster Benutzer der gemeinsam genutzten Datenquelle ermittelt. Wie bereits erwähnt, kann das Ermitteln des ersten Benutzers ein Abfragen einer Netzwerkkomponente und ein Empfangen einer Kennung des ersten Benutzers von der Netzwerkkomponente beinhalten. Die Kennung kann eine IP-Adresse einer dem ersten Benutzer zugehörigen Einheit, eine dem ersten Benutzer zugehörige Anmelde-ID, eine dem ersten Benutzer zugehörige eMail-Adresse usw. beinhalten. In Block 38 können auch Inhalte, die der gemeinsam genutzten Datenquelle zugehörig sind, von einer Einheit/einem Computer gewonnen werden, die/der dem ersten Benutzer und/oder Kennungen eines oder mehrerer weiterer Benutzer der gemeinsam genutzten Datenquelle zugehörig sind. Die von der Einheit des ersten Benutzers empfangenen Inhalte können analysiert werden, um zu ermitteln, ob es sich um das neueste verfügbare Replikat oder eine teilweise Kopie der gemeinsam genutzten Datenquelle handelt. Tatsächlich kann Block 38 wiederholt werden, um mehrere „erste Benutzer“ zu ermitteln, die als Anordnung verteilter Ausgabeverzweigungsknoten dienen können, die möglicherweise sogar in keiner Beziehung zueinander stehen.
-
Die von der Einheit des ersten Benutzers gewonnen Inhalte und/oder Kennungen werden in Block 40 verwendet, einen oder mehrere weitere Benutzer der gemeinsam genutzten Datenquelle zu ermitteln. In Block 40 können auch Inhalte, die der gemeinsam genutzten Datenquelle zugehörig sind, von Einheiten/Computern, die den weiteren Benutzern zugehörig sind, sowie Kennungen eines oder mehrerer weiterer Benutzer der gemeinsam genutzten Datenquelle gewonnen werden. Somit kann Block 40 iterativ ausgeführt werden, bis alle bekannten Benutzer der gemeinsam genutzten Datenquelle ermittelt und ihre jeweiligen Kopien von Inhalten der Datenquelle abgerufen worden sind. In Block 42 wird die gemeinsam genutzte Datenquelle zumindest teilweise auf der Grundlage von Daten wiederhergestellt, die den weiteren Benutzern zugehörig sind. Zum Beispiel können die von den Einheiten weiterer Benutzer abgerufenen Inhalte verwendet werden, die gemeinsam genutzte Datenquelle wiederherzustellen, obwohl die Identitäten der weiteren Benutzer (oder deren Einheiten) nicht von den Netzwerkkomponenten abrufbar waren. Darüber hinaus können die wiederhergestellten Daten aktualisiert werden, um die neuesten Kopien aller Inhalte darzustellen, darunter während der Ausfallzeit erfolgte Löschungen.
-
In Block 42 können auch ein Vergleich zwischen der wiederhergestellten gemeinsam genutzten Datenquelle und einer vorherigen gemeinsam genutzten Datenquelle (z.B. der letzten Kopie vor dem Ausfall) durchgeführt und auf der Grundlage des Vergleichs eine oder mehrere Benachrichtigungen erstellt werden. Zum Beispiel können die neue Größe der Datenquelle und der Zählerwert der Anzahl von Dokumenten, Dateien und/oder Datenbankzeilen mit der Größe und dem Zählerwert der Kopie der Datenquelle vor dem Ausfall verglichen werden. Wenn die Größe und der Zählerwert übereinstimmen, kann die Wiederherstellung als abgeschlossen angesehen werden. Wenn der neue Zählerwert und/oder die neue Größe kleiner als bei der Kopie vor dem Ausfall sind, kann eine Benachrichtigung über einen möglichen Datenverlust erstellt werden. Wenn hingegen der neue Zählerwert und/oder die neue Größe größer als bei der Kopie vor dem Ausfall sind, kann dies bedeuten, dass einige Löschoperationen möglicherweise nicht aufgezeichnet worden sind. Wenn die Wiederherstellung abgeschlossen ist, kann die Datenquelle ihre Tätigkeit wieder aufnehmen, und die Benutzer können darüber in Kenntnis gesetzt werden.
-
3 zeigt ein Verfahren 44 zum Verarbeiten einer Wiederherstellungsanforderung. Das Verfahren 44 kann in der Schaltlogik 32 ( 1) einer Benutzereinheit umgesetzt werden, die zum Zugreifen auf eine gemeinsam genutzte Datenquelle wie beispielsweise eine Datenbank oder eine Website dient. In Block 46 wird auf die gemeinsam genutzte Datenquelle zugegriffen. Somit kann Block 46 ein Bearbeiten einer relationalen Datenbank, ein Senden oder Empfangen einer eMail-Nachricht, ein Durchsuchen einer Website usw. umfassen. Darüber hinaus kann in Block 46 die gemeinsam genutzte Datenquelle ganz oder teilweise lokal auf der Benutzereinheit gespeichert werden. In Block 48 kann eine Wiederherstellungsanforderung empfangen werden, die der gemeinsam genutzten Datenquelle zugehörig ist. Die Wiederherstellungsanforderung kann wie oben erörtert durch die Logik 30 (1) erstellt werden, die der gemeinsam genutzten Datenquelle zugehörig ist. In Block 50 werden als Reaktion auf die Wiederherstellungsanforderung Daten übertragen, die einem oder mehreren weiteren Benutzern zugehörig sind. Insbesondere können die übertragenen Daten Inhalte enthalten, die der gemeinsam genutzten Datenquelle entsprechen, wobei die Inhalte für die weiteren Benutzer kennzeichnend sind. Die übertragenen Daten können auch Kennungen (z.B. IP-Adressen, Anmelde-IDs, eMail-Adressen) der weiteren Benutzer enthalten. In Block 50 kann ein Benutzer der lokalen Einheit auch aufgefordert werden, eine Genehmigung zum Übertragen der Daten zu erteilen, die den weiteren Benutzern zugehörig sind.
-
Die obigen Techniken können deshalb zum Wiederherstellen einer breiten Vielfalt von gemeinsam genutzten Datenquellen ohne Zuhilfenahme von Protokollen oder Benutzerlisten verwendet werden. Darüber hinaus kommen die Techniken möglicherweise ohne Administratoren aus, um Sicherungskopien von Inhalten der Datenquelle zu erstellen, jedoch können Sicherungsdaten von Inhalten verwendet werden, wenn diese verfügbar sind. Demzufolge können die für Sicherungskopien benötigten Speicherkapazitäten, die Kosten und/oder die Komplexität des Gesamtsystems verringert werden.
-
Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Arbeitsweise möglicher Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Demgemäß kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. Zu beachten ist auch, dass bei einigen alternativen Ausführungsarten die in dem Block angegebenen Funktionen in einer von den Figuren abweichenden Reihenfolge vorkommen können. Zum Beispiel können je nach beabsichtigter Funktionalität zwei nacheinander dargestellte Blöcke in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können mitunter in der umgekehrten Reihenfolge ausgeführt werden. Ferner wird darauf hingewiesen, dass jeder Block in den Blockschaubildern und/oder dem Ablaufplan und Kombinationen von Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle Hardwaresysteme, die die angegebenen Funktionen oder Aktionen ausführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können. Außerdem können die Begriffe „erster“, „zweiter“ usw. hierin nur zum Erleichtern der Erörterung verwendet werden und weisen keine bestimmte zeitliche oder chronologische Bedeutung auf, sofern nicht anderweitig darauf hingewiesen wird.
-
Dem Fachmann ist aus der obigen Beschreibung einsichtig, dass umfassenden Techniken der Ausführungsformen der vorliegenden Erfindung in einer Vielfalt von Formen umgesetzt werden können. Obwohl die Ausführungsformen dieser Erfindung in Verbindung mit deren bestimmten Beispielen beschrieben wurden, sollte der wahre Schutzumfang der Ausführungsformen der Erfindung nicht darauf beschränkt sein, da dem Fachmann nach der Lektüre der Zeichnungen, der Beschreibung und der folgenden Ansprüche weitere Modifikationen offensichtlich sind.