-
GEBIET DER ERFINDUNG
-
Ausführungsformen der vorliegenden Erfindung beziehen sich im Allgemeinen auf den Datenschutz. Genauer beziehen sich zumindest einige Ausführungsformen der Erfindung auf Systeme, Hardware, Software, computerlesbare Medien und Verfahren zum Erleichtern der Einhaltung gesetzlicher Bestimmungen bei Datenverwaltungssystemen und -prozessen und zum Existenzbeweis bei Datenschutzsystemen.
-
HINTERGRUND
-
Der Umgang mit Benutzerdaten durch Speichersysteme und Datenverwaltungssysteme unterliegt zunehmend verschiedenen gesetzlichen Anforderungen, einschließlich solcher, die von Regierungen in Bezug auf Sicherheit und Privatsphäre festgelegt wurden, wie z.B. die Datenschutz-Grundverordnung (GDPR [General Data Protection Regulation]), die von der Europäischen Union (EU) erlassen wurde. Ebenso wird der Umgang mit Benutzerdaten zumindest in manchen Fällen durch Organisationen wie z.B. die Börsenaufsichtsbehörde (SEC [Securities and Exchange Commission]) geregelt. Wieder andere Gremien haben noch weitere Regeln und Vorschriften betreffend den Umgang mit Benutzerdaten erlassen.
-
Derartige gesetzliche Anforderungen können Unternehmen und andere Entitäten und Organisationen, die an der Erstellung und Bearbeitung von Daten beteiligt sind, vor Herausforderungen stellen. Außerdem variieren solche Anforderungen zwischen Industrien und Branchen, sind in jedem Land/Staat unterschiedlich und ändern sich kontinuierlich im Laufe der Zeit. Dadurch wird beispielsweise die Fähigkeit eines Unternehmens, die geltenden Vorschriften einzuhalten und die Einhaltung nachzuweisen, weiter erschwert.
-
Zur Veranschaulichung bewahren Datenschutzsysteme heutzutage mehrere Kopien der Daten auf. In vielen Fällen besteht aufgrund neuer Vorschriften wie zum Beispiel der GDPR die Nachweispflicht, dass Daten zu einem bestimmten Zeitpunkt nicht existierten oder dass Daten zu einem bestimmten Zeitpunkt existierten. Im Detail verlangen neue Vorschriften wie die GDPR, dass Datenverwaltungssysteme das unterstützen, was bisweilen als „das Recht auf Vergessen“ bezeichnet wird, das heißt, solche Systeme müssen in der Lage sein, nachzuweisen, d.h., zu beweisen, dass bestimmte Daten, wie zum Beispiel persönliche Datensätze eines Clients, gelöscht wurden. Derzeit ist es j edoch nicht möglich, einen solchen Nachweis zu erbringen.
-
Es ist auch nicht möglich, zu beweisen, dass Daten, wie z.B. eine Sicherungskopie, nicht manipuliert wurden. Eine Signatur kann beispielsweise beweisen, dass die Daten echt sind, der Zeitpunkt der Sicherung kann aber dennoch manipuliert oder geändert werden, und eine neue Sicherung mit geänderten Daten kann anstelle einer alten gespeichert werden. Wenn also der Anbieter, der die Daten wiederherstellt, Daten manipulieren möchte, kann er dies tun. Zum Beispiel im Falle eines Rechtsstreits muss ein Anbieter möglicherweise beweisen, dass bestimmte Daten unmittelbar nach Erteilung einer Anfrage gelöscht wurden. Es besteht derzeit jedoch keine Möglichkeit zu beweisen, dass die wiederhergestellten Daten nicht vom Anbieter manipuliert wurden und tatsächlich zum behaupteten Zeitpunkt erstellt wurden.
-
Figurenliste
-
Um die Art und Weise zu beschreiben, in der zumindest einige der Vorteile und Merkmale der Erfindung erzielt werden können, wird eine genauere Beschreibung von Ausführungsformen der Erfindung geliefert, wobei auf spezifische Ausführungsformen davon Bezug genommen wird, die in den beigefügten Zeichnungen dargestellt sind. Im Verständnis, dass diese Zeichnungen nur typische Ausführungsformen der Erfindung darstellen und daher nicht als ihren Umfang einschränkend anzusehen sind, werden Ausführungsformen der Erfindung mit zusätzlicher Spezifität und Detailgenauigkeit anhand der beigefügten Zeichnungen beschrieben und erläutert.
- 1 offenbart Aspekte einer beispielhaften Betriebsumgebung für einige Ausführungsformen der Erfindung.
- 2 offenbart Aspekte einer beispielhaften Host-Konfiguration.
- 3 ist ein Flussdiagramm, das einige allgemeine Aspekte eines beispielhaften Verfahrens zum Erstellen von Datensätzen offenbart, welches verwendet werden kann, um nachzuweisen, wann Daten gespeichert wurden und/oder wann bestimmte Daten existierten oder nicht existierten.
- 4 ist ein Flussdiagramm, das einige allgemeine Aspekte eines beispielhaften Verfahrens zur Verwendung von Blockchain-Datensätzen offenbart, um nachzuweisen, wann Daten gespeichert wurden und/oder wann bestimmte Daten existierten oder nicht existierten.
-
DETAILLIERTE BESCHREIBUNG EINIGER BEISPIELHAFTER AUSFÜHRUNGSFORMEN
-
Ausführungsformen der vorliegenden Erfindung beziehen sich im Allgemeinen auf den Datenschutz. Genauer beziehen sich zumindest einige Ausführungsformen der Erfindung auf Systeme, Hardware, Software, computerlesbare Medien und Verfahren zum Erleichtern der Einhaltung gesetzlicher Bestimmungen bei Datenverwaltungssystemen und -prozessen und zum Existenzbeweis bei Datenschutzsystemen.
-
Ausführungsbeispiele der Erfindung umfassen im Allgemeinen unter anderem die Integration der Blockchaintechnologie (Blockkettentechnologie) in Datenschutzsysteme, um zu jedem beliebigen Zeitpunkt (zu allen Zeitpunkten) den Nachweis der Existenz oder Nichtexistenz von Daten zu ermöglichen. Bei einigen Ausführungsformen kann zusätzlich oder alternativ die Integration der Blockchaintechnologie in Datenschutzsysteme zur Anwendung kommen, um den Nachweis zu ermöglichen, dass Daten nicht manipuliert oder anderweitig beeinträchtigt wurden. Ausführungsformen der Erfindung können mit Datenschutzsystemen, Hardware und Software, wie beispielsweise Dell-EMC-Datenschutzprodukten wie Avamar, Networker, Enterprise Copy Data Management (ECDM), Integrated Data Protection Appliance (IDPA) und PowerProtect, verwendet werden oder diese umfassen. Diese werden jedoch nur beispielhaft dargestellt, und generell können Ausführungsformen der Erfindung mit jedem anderen Datenschutzprodukt verwendet werden oder dieses umfassen.
-
In einigen Ausführungsbeispielen ermöglicht ein Plugin eines Datenverwaltungselements, wie z.B. eines Datenschutzprodukts, dass das Datenverwaltungselement als Knoten eines Blockchainnetzwerks, wie z.B. eines privaten Unternehmensblockchainnetzwerks, fungiert. Das Blockchainnetzwerk kann ein Hauptbuch (ledger) und einen Administrator umfassen. Wenn ein Datenschutzprozess, wie beispielsweise ein Sicherungsprozess, dadurch oder in Verbindung damit durchgeführt wird, wird ein Hash-Wert generiert, der den Inhalt beschreibt, d.h., die Daten und Metadaten bezüglich der Sicherung. Jeder passende Hashing-Algorithmus kann verwendet werden. Ein Beispiel ist der sha-1-Algorithmus. Der Hash-Wert, der in der Blockchain gespeichert wird, kann beispielsweise von dem Datenschutzelement generiert werden, das den Sicherungsvorgang vollführt. Ein Generator für globale Schlüssel erstellt in regelmäßigen Abständen einen Schlüssel, der ebenfalls in der Blockchain gespeichert wird. Durch das Speichern des Schlüssels, welcher der letzte vor der Sicherung erstellte Schlüssel war, in Verbindung mit dieser Sicherung wird der Beweis erbracht, dass die Sicherung erstellt wurde, nachdem der Schlüssel generiert wurde. Da die Schlüssel regelmäßig generiert werden können, zum Beispiel einmal pro Minute, ist es relativ einfach, beispielsweise minutengenau nachzuweisen, wann die Sicherung erstellt wurde. Da der Schlüssel in der Blockchain gespeichert ist, kann außerdem die Aufzeichnung des Zeitpunkts der Erstellung der Sicherung, die durch den Erstellungszeitpunkt des Schlüssels festgelegt wurde, nicht geändert werden.
-
Wenn also beispielsweise eine Partei behauptet, dass ihre Daten nicht aus einer Datenbank gelöscht wurden, kann die Partei, welche die Daten verwaltet, beweisen, dass die Daten tatsächlich dann gelöscht wurden, wie es die Partei behauptet. Dies kann durch Wiederherstellung von zwei Sicherungen erfolgen, der Sicherung, die vor der Aufforderung zum Entfernen personenbezogener Daten erstellt wurde, und der Sicherung, die nach der Aufforderung zum Entfernen der personenbezogenen Daten erstellt wurde.
-
Die erste wiederhergestellte Sicherung kann gehasht werden, und der resultierende Hash kann mit dem Hash verglichen werden, der in der Blockchain für diese erste Sicherung gespeichert wurde. Wenn die beiden Hashes übereinstimmen, kann mit Sicherheit gesagt werden, dass die wiederhergestellten Daten den Daten entsprechen, die gesichert wurden. Der gleiche Vorgang kann für die zweite Sicherung durchgeführt werden. Die beiden wiederhergestellten und verifizierten Sicherungen können dann miteinander verglichen werden, um daraufhin festzustellen, ob die personenbezogenen Daten tatsächlich gelöscht wurden oder nicht. Wenn dies der Fall ist, scheinen die personenbezogenen Daten in der ersten früheren Sicherung auf, jedoch nicht in der zweiten späteren Sicherung. Überdies können die relativen Zeitpunkte, zu denen die Sicherungen gespeichert wurden, leicht aus den Schlüsseln ermittelt werden, die in der Blockchain mit den Hashes gespeichert wurden.
-
Vorteilhafterweise können Ausführungsformen der Erfindung dann verschiedene Vorteile und Verbesserungen gegenüber herkömmlicher Hardware, herkömmlichen Systemen und herkömmlichen Verfahren bieten. Zur Veranschaulichung kann eine Ausführungsform der Erfindung ermöglichen, dass eine Partei, die Daten verwaltet, positiv feststellt, dass bestimmte Daten unter der Kontrolle dieser Partei gelöscht wurden, und den Zeitpunkt, zu dem die bestimmten Daten gelöscht wurden. Somit ist eine Ausführungsform der Erfindung ganz allgemein insofern vorteilhaft, als sie mit einem hohen Maß an Sicherheit feststellen kann, dass bestimmte Datenverwaltungstransaktionen stattgefunden haben oder nicht stattgefunden haben. Außerdem kann eine Ausführungsform ermöglichen, dass eine Partei feststellt, dass wiederhergestellte Daten nicht manipuliert oder anderweitig beeinträchtigt wurden. Ferner kann eine Ausführungsform der Erfindung effizient darin sein, die Integrität von Daten festzustellen und nachzuweisen, nachdem die Daten gespeichert wurden. Ausführungsformen der Erfindung können den Betrieb und den Wirkungsgrad bestehender Datenschutzsysteme, Verfahren, Hardware und Software verbessern, indem eine neue Datenintegritätsfunktionalität in diese Datenschutzsysteme, Verfahren, Hardware und Software integriert wird.
-
Es sollte beachtet werden, dass die vorstehenden vorteilhaften Aspekte verschiedener Ausführungsformen rein beispielhaft präsentiert werden und verschiedene andere vorteilhafte Aspekte von Ausführungsbeispielen der Erfindung aus dieser Offenbarung ersichtlich werden. Es ist ferner anzumerken, dass es nicht notwendig ist, dass irgendeine Ausführungsform einen dieser hierin offenbarten vorteilhaften Aspekte umsetzt oder ermöglicht.
-
A. Aspekte beispielhafter Betriebsumgebungen
-
Das Folgende ist eine Erörterung von Aspekten beispielhafter Betriebsumgebungen für verschiedene Ausführungsformen der Erfindung. Diese Erörterung soll den Umfang der Erfindung oder die Anwendbarkeit der Ausführungsformen keineswegs einschränken. Zusätzlich zu der nachstehenden Erörterung werden weitere Einzelheiten betreffend beispielhafte Betriebsumgebungen, in denen Ausführungsformen der Erfindung implementiert werden können, in den verwandten Anmeldungen offenbart.
-
Im Allgemeinen können Ausführungsformen der Erfindung in Verbindung mit Systemen, Software und Komponenten implementiert werden, die einzeln und/oder gemeinsam Datenverwaltungsvorgänge umsetzen und/oder deren Umsetzung bewirken. Solche Datenverwaltungsvorgänge können Datenlese-/-schreib-/-löschvorgänge, Datensicherungsvorgänge, Datenwiederherstellungsvorgänge, Datenklonvorgänge, Datenarchivierungsvorgänge und Notfallwiederherstellungsvorgänge umfassen, ohne darauf beschränkt zu sein. Obwohl die Erörterung hierin gemäß manchen Aspekten somit auf eine Erörterung von Datenschutzumgebungen und -vorgängen gerichtet sein kann, ist der Umfang der Erfindung nicht derart eingeschränkt. Allgemeiner umfasst der Umfang der Erfindung jede Betriebsumgebung, in der die offenbarten Konzepte nützlich sein können. Zur Veranschaulichung, jedoch nicht einschränkend, können Ausführungsformen der Erfindung in Verbindung mit Datensicherungs- und -wiederherstellungsplattformen wie den Plattformen Dell-EMC NetWorker und Avamar verwendet werden.
-
Eine Datenschutzumgebung kann die Form einer öffentlichen oder privaten Cloud-Speicherumgebung, einer lokalen Speicherumgebung sowie von hybriden Speicherumgebungen annehmen, die öffentliche und private Elemente umfassen, obwohl sich der Umfang der Erfindung auch auf jede andere Art von Datenschutzumgebung erstreckt. Jede dieser beispielhaften Speicherumgebungen kann teilweise oder vollständig virtualisiert sein. Die Speicherumgebung kann ein Datenzentrum umfassen oder daraus bestehen, das betriebsfähig ist, um Lese- und Schreiboperationen zu bedienen, die von einem oder mehreren Clients initiiert wurden.
-
Zusätzlich zu der Speicherumgebung kann die Betriebsumgebung auch eine oder mehrere Hostvorrichtungen umfassen, wie zum Beispiel Clients, die jeweils eine oder mehrere Anwendungen hosten. An sich kann ein bestimmter Client eine oder mehrere Instanzen jeder einzelnen von einer oder mehreren Anwendungen verwenden oder anderweitig damit verbunden sein. Im Allgemeinen sind die von den Clients verwendeten Anwendungen nicht auf irgendeine bestimmte Funktionalität oder Art von Funktionalität beschränkt. Einige beispielhafte Anwendungen und Daten umfassen beispielsweise E-Mail-Anwendungen wie MS Exchange, Dateisysteme sowie Datenbanken wie Oracle-Datenbanken und SQL-Server-Datenbanken. Die Anwendungen bei den Clients können neue und/oder modifizierte Daten generieren, deren Schutz wünschenswert ist.
-
Jede der hierin offenbarten Vorrichtungen oder Entitäten kann gemäß verschiedenen Ausführungsformen der Erfindung durch eine oder mehrere Datenschutzrichtlinien geschützt sein. Noch weitere Beispiele für Vorrichtungen, die gemäß Ausführungsformen der Erfindung durch eine Datenschutzrichtlinie geschützt sein können, umfassen Container und VMs, ohne darauf beschränkt zu sein.
-
Jede der Vorrichtungen, einschließlich der Clients, Server und Hosts, in der Betriebsumgebung kann die Form von Software, physischen Maschinen oder virtuellen Maschinen (VM) oder einer beliebigen Kombination davon annehmen, wobei jedoch für keine Ausführungsform eine besondere Geräteimplementierung oder -konfiguration erforderlich ist. Gleichermaßen können Datenschutzsystemkomponenten wie beispielsweise Datenbanken, Speicherserver, Speichervolumen (LUNs), Speicherplatten, Replikationsdienste, Sicherungsserver, Wiederherstellungsserver, Sicherungsclients und Wiederherstellungsclients ebenso die Form von Software, physischen Maschinen oder virtuellen Maschinen (VM) annehmen, wobei jedoch für keine Ausführungsform eine besondere Komponentenimplementierung erforderlich ist. Wenn VMs verwendet werden, kann ein Hypervisor oder ein anderer Virtual-Machine-Monitor (VMM) zum Erstellen und Steuern der VMs eingesetzt werden.
-
Wie hierin verwendet, soll der Begriff „Daten“ einen breiten Umfang haben. Somit umfasst dieser Begriff beispielhaft und nicht einschränkend Datensegmente, wie sie beispielsweise durch Datenstromsegmentierungsverfahren erzeugt werden können, Datenteile, Datenblöcke, atomare Daten, E-Mails, Objekte jeglicher Art, Dateien, Kontakte, Verzeichnisse, Unterverzeichnisse, Volumen und jedwede Gruppe aus einem oder mehreren des Vorstehenden.
-
Ausführungsbeispiele der Erfindung sind auf jedes System anwendbar, das in der Lage ist, verschiedene Arten von Objekten in analoger, digitaler oder anderer Form zu speichern und zu bearbeiten. Obwohl Begriffe wie Dokument, Datei, Block oder Objekt beispielhaft verwendet werden können, sind die Prinzipien der Offenbarung nicht auf eine bestimmte Form der Darstellung und Speicherung von Daten oder anderen Informationen beschränkt. Vielmehr sind solche Prinzipien gleichermaßen auf jedes Objekt anwendbar, das Informationen darstellen kann.
-
Mit besonderem Augenmerk auf 1 kann nun eine Betriebsumgebung 100 eine Datenschutzumgebung umfassen oder daraus bestehen. Die Datenschutzumgebung kann ein Unternehmensdatenzentrum oder ein Cloud-Datenzentrum oder beides umfassen. Die Datenschutzumgebung kann verschiedene Datenschutzprozesse unterstützen, einschließlich zum Beispiel Datenreplikation, Datendeduplizierung, Klonierung, Datensicherung und Datenwiederherstellung. Wie hierin verwendet, soll der Begriff Sicherungen weit ausgelegt werden und umfasst, ohne darauf beschränkt zu sein, Teilsicherungen, inkrementelle Sicherungen, vollständige Sicherungen, Klone, Snapshots, kontinuierliche Replikation und jede andere Art von Datenkopien sowie jede beliebige Kombination des Vorstehenden. Jedes des Vorstehenden kann dedupliziert werden oder auch nicht.
-
Im Allgemeinen offenbart die beispielhafte Konfiguration in 1 ein Unternehmensblockchainnetzwerk 200, das als verteiltes Hauptbuch fungiert, in dem ein oder mehrere Datensätze 204 gespeichert werden können. Im illustrativen Beispiel der 1 umfassen die Blockchaindatensätze, wie nachstehend erörtert, drei Datensätze 204a, 204b und 204c. Das Blockchainnetzwerk 200 verbindet verschiedene Datenverwaltungselemente 302, 304 und 306, wobei Beispiele hierfür Datenspeicher-, Datenschutz- und Datenverwaltungssysteme umfassen, ohne darauf beschränkt zu sein. Jedes der Datenverwaltungselemente (DME) 302, 304 und 306 kann einen jeweiligen Adapter 302a, 304a und 306a umfassen, der die Form eines Blockchain-Software-Plugins annehmen kann. Durch Einbeziehung der Adapter 302a, 304a und 306a wird es ermöglicht, dass die entsprechenden DMEs 302, 304 und 306 als Knoten des Blockchainnetzwerks 200 fungieren, und Kommunikationen zwischen den DMEs 302, 304 und 306 und Elementen des Blockchainnetzwerks können über die jeweiligen Adapter 302a, 304a und 306a erfolgen.
-
Im Allgemeinen können die DMEs 302, 304 und 306 jeweils so funktionieren, um irgendeine Art von Datenverwaltungsprozess umzusetzen, wie z.B. einen Datenschutzprozess, wobei Beispiele hierfür Sicherungsprozesse, Archivierungsprozesse und Wiederherstellungsprozesse umfassen. Andere beispielhafte Datenschutzprozesse werden an anderer Stelle hierin und in den verwandten Anmeldungen offenbart. An sich umfassen beispielhafte DMEs einen Sicherungsserver, einen Sicherungs- und Wiederherstellungsserver, einen Klonserver, einen Deduplizierungsserver und einen Archivserver, ohne darauf beschränkt zu sein. In manchen Fällen können mehrere Funktionen in einem einzigen DME kombiniert sein. Ein Sicherungsserver kann beispielsweise sowohl Datensicherungs- als auch Datendeduplizierungsprozesse durchführen. Um ihre j eweiligen Datenschutzfunktionen auszuführen, kann jedes der DMEs 302, 304 und 306 eine oder mehrere entsprechende Datenschutz (DP)-Anwendungen umfassen, wie z.B. DP1 302b, DP2 304b und DP3 306b. Somit kann DP1 302b beispielsweise eine Sicherungsanwendung oder eine Sicherungs- und Wiederherstellungsanwendung sein.
-
Zumindest in einigen Ausführungsformen kann ein oder können mehrere der DMEs 302, 304 und 306 mit einer Datenschutzumgebung in Form einer Speichereinrichtung 400 kommunizieren, wobei ein Beispiel hierfür ein Cloud-Datenzentrum ist. In einem Beispiel kann das DME 302 eine oder mehrere Sicherungen generieren, die dann an die Speichereinrichtung 400 übermittelt und gespeichert werden. Die Sicherungen können später von der Speichereinrichtung 400 zu einer oder mehreren Zieleinheiten wiederhergestellt werden, wie z.B. zu einem (nicht dargestellten) Client, mit dem das DME 302 kommuniziert und dessen Daten durch das DME 302 gesichert werden.
-
B. Allgemeine Aspekte einiger beispielhafter Operationen
-
Wie es angemerkt wurde, kann eines oder können mehrere der DMEs 302, 304 und 306 einen Knoten des Blockchainnetzwerks 200 bilden und kann bzw. können in Verbindung mit dem Blockchainnetzwerk 200 arbeiten.
-
Im Allgemeinen kann ein Blockchainnetzwerk, wie in der nachfolgenden Erörterung dargelegt, als verteiltes Hauptbuch dienen, das eine einheitliche Datenquelle für alle Datenverwaltungstransaktionen in der Organisation ist, und zwar zum Zwecke der Prüfung, der Bestätigung der Einhaltung gesetzlicher Bestimmungen und des Nachweises der Existenz oder Löschung von Daten. Wenn ein Benutzer beispielsweise behauptet, dass seine Daten nicht aus einer Datenbank gelöscht wurden, kann der Anbieter das Gegenteil beweisen, indem er zwei Sicherungen wiederherstellt, eine vor der Aufforderung zum Entfernen personenbezogener Daten und eine nach der Aufforderung zum Entfernen personenbezogener Daten. Dies beweist, dass der Anbieter die Daten zum behaupteten Zeitpunkt tatsächlich gelöscht hat, da die Blockchain zumindest in einigen Ausführungsformen öffentlich ist und nicht manipuliert werden kann.
-
Ausführungsformen der Erfindung umfassen auch Systeme und Verfahren, die auch verwendet werden können, um zu bestätigen, dass Sicherungskopien tatsächlich zu dem Zeitpunkt erstellt wurden, wie es behauptet wird, dass sie erstellt wurden, und unter Verwendung des Sicherungs-Hashs in der Blockchain beweist das System, dass eine Sicherungskopie erstellt wurde, bevor der Hash in der Blockchain gespeichert wurde. Mithilfe des Aggregatschlüssels, der in der Blockchain gespeichert wurde, kann das System beweisen, dass die Sicherung nach dem Einfügen des Schlüssels erstellt wurde, wodurch ein kleines Fenster für die Erstellung der Sicherung nachgewiesen wird.
-
Weiterhin unter Bezugnahme auf die Erörterung der 1 werden nun weitere Details zu Aspekten des Betriebs eines DME, wie z.B. der DMEs 302, 304 und 306, in Verbindung mit einem Blockchainnetzwerk wie dem beispielhaften Blockchainnetzwerk 200 geliefert. Unter anderem stellen das Blockchainnetzwerk 200 und zugehörige Prozesse, die hierin und in den verwandten Anmeldungen offenbart sind, einen Mechanismus bereit, durch den eine Entität Konformitätsinformationen bezüglich der Datenverwaltung erhalten und speichern kann.
-
Unter anderem können beispielhafte Operationen, die in Verbindung mit den offenbarten Betriebsumgebungen und Entitäten durchgeführt werden, Operationen umfassen, welche die Existenz oder Nichtexistenz bestimmter Daten oder Datensätze beweisen. Auch das Vorhandensein oder Nichtvorhandensein bestimmter Daten oder Datensätze zu einem bestimmten Zeitpunkt kann festgestellt werden. Es kann zum Beispiel nachgewiesen werden, dass bestimmte Daten zu einem bestimmten Zeitpunkt existierten oder nicht existierten.
-
Zunächst kann ein DME wie beispielsweise ein Sicherungsserver eine Sicherungsanwendung nutzen, um eine Sicherung von Client- und/oder anderen Daten zu erstellen. Das Erstellen der Sicherung kann auch das Erstellen von Metadaten betreffend die Sicherung umfassen, wobei Beispiele hierfür in den verwandten Anmeldungen offenbart sind. Der Begriff „Metadaten“ soll weit gefasst sein und umfasst nicht nur Metadaten über die Sicherungsdaten selbst, sondern umfasst auch Transaktionsmetadaten, d.h., Informationen über eine bestimmte Transaktion, die beispielsweise eine Sicherung umfasst, wie z.B. die Erstellung der Sicherung.
-
Es könnte zu einem bestimmten Zeitpunkt nützlich sein, feststellen zu können, wann die Sicherung gespeichert wurde, und den Inhalt der Sicherung zu ermitteln. Unter Berücksichtigung des erstgenannten Punktes können Ausführungsformen der Erfindung die regelmäßige Generierung von Schlüsseln umfassen, wie z.B. die Generierung eines Schlüssels einmal pro Minute oder auf einer anderen Basis. Die Schlüssel können durch das Blockchainnetzwerk, das DME oder jede andere geeignete Entität generiert werden. Die generierten Schlüssel können als jeweilige Blöcke in der vom Blockchainnetzwerk verwalteten Blockchain gespeichert werden.
-
Nachdem eine Sicherung durch ein DME erstellt wurde, kann der Adapter oder ein anderes Element dieses DME einen Hash der Sicherungsdaten generieren. Der Adapter kann die Blockchain auch untersuchen, um den neuesten Schlüssel in der Blockchain zu identifizieren. Der Adapter kann dann diese verschiedenen Informationen, d.h., den Hash der Sicherungsdaten, den neuesten Schlüssel und die Sicherungsmetadaten, nutzen, um einen Gesamt-Hash-Wert zu generieren, der dann als Block in der Blockchain gespeichert wird.
-
In einigen Ausführungsformen werden der Hash der Sicherungsdaten und die Erstellung/Speicherung des Aggregatschlüssels automatisch und unmittelbar nach der Erstellung der Sicherung durchgeführt. Es besteht somit Gewissheit, dass der Aggregatschlüssel die Sicherungserstellungszeit genau widerspiegelt. Außerdem können die obengenannten Prozesse so umgesetzt werden, dass ihre Ausführung weder direkt noch indirekt durch einen menschlichen Benutzer verzögert oder anderweitig gestört werden kann. Dieser Ansatz kann zur Integrität des Gesamtprozesses und der Prozessausgaben beitragen, indem dabei geholfen wird, sicherzustellen, dass der Aggregatschlüssel die Sicherungserstellungszeit genau widerspiegelt.
-
Auf diese Art und Weise wird somit ein Datensatz in Form des Gesamt-Hashs erstellt, der die Daten in der Sicherung, den Zeitpunkt der Erstellung der Sicherung und die Metadaten bezüglich der Sicherung identifiziert. Da Informationen in der Blockchain nicht geändert werden können, ist der Datensatz ein unveränderlicher Beweis für den Inhalt der Sicherung und auch ein Beweis für den Zeitpunkt der Erstellung der Sicherung.
-
Es sollte beachtet werden, dass unter dem Gesichtspunkt der Leistung mehrere Sicherungstransaktionen basierend auf konfigurierbaren Parametern zu einem einzigen Blockchaindatenblock zusammengefasst werden können. Beispiele für solche Zusammenfassungen und Parameter werden in den verwandten Anmeldungen offenbart.
-
Das obenstehend dargelegte beispielhafte Verfahren kann bei jedem Datenschutzprozess zur Anwendung kommen und kann nach Bedarf für mehrere Instanzen eines Datenschutzprozesses wiederholt werden, wie zum Beispiel für mehrere unterschiedliche Sicherungen. Durch Wiederherstellung von Sicherungen, die den jeweiligen Datensätzen der Blockchain entsprechen, kann eine Entität, welche die Daten verwaltet, sowohl den Inhalt der gespeicherten Daten als auch den Zeitpunkt der Datensicherung nachweisen. Außerdem kann die Entität nachweisen, wann bestimmte Daten existierten und wann bestimmte Daten gelöscht wurden.
-
Zur Veranschaulichung können erste und zweite Sicherungen unter Verwendung ihrer jeweiligen in der Blockchain gespeicherten Gesamt-Hashes wiederhergestellt werden. Die erste wiederhergestellte Sicherung kann gehasht werden, und der resultierende Hash kann mit dem in der Blockchain für diese erste Sicherung gespeicherten Hash verglichen werden. Es wird anhand einer Übereinstimmung zwischen den beiden Hashes festgestellt, dass die wiederhergestellten Daten den gesicherten Daten entsprechen, da die Hashes nicht übereinstimmen würden, wenn sich die wiederhergestellten Daten von den gesicherten Daten unterschieden. Das heißt, man kann sich die Hashes ähnlich Fingerabdrücken vorstellen, da jeder Hash eindeutig dem besonderen Datensatz entspricht, von dem der Hash abgeleitet wurde. Der gleiche Vorgang kann für die zweite Sicherung durchgeführt werden. Es wurde an diesem Punkt somit bestätigt, dass die Inhalte der beiden unterschiedlichen Sicherungen mit den beiden wiederhergestellten Sicherungen übereinstimmen. Somit hat die Datenverwaltungseinheit festgestellt, dass die jeweiligen Daten der beiden Sicherungen seit dem Zeitpunkt ihrer Speicherung nicht geändert wurden.
-
Ausführungsformen der Erfindung sind jedoch nicht auf das Herstellen von Datenintegrität beschränkt. Somit können die beiden wiederhergestellten und verifizierten Sicherungen dann miteinander verglichen werden, um festzustellen, ob bestimmte Daten tatsächlich gelöscht wurden oder nicht. Im Falle der Bestätigung durch die Datenverwaltungseinheit, dass die speziellen Daten von Interesse zu einem bestimmten Zeitpunkt gelöscht wurden, scheinen diese Daten in der Sicherung vor diesem bestimmten Zeitpunkt auf, jedoch scheinen diese Daten nicht in der Sicherung auf, die nach diesem bestimmten Zeitpunkt erstellt wurde. Auf diese Art und Weise kann die Datenverwaltungseinheit feststellen, ob bestimmte Daten zu dem behaupteten Zeitpunkt existierten oder nicht.
-
Überdies kann der spezifische Zeitpunkt/können die spezifischen Zeitpunkte der Existenz oder Nichtexistenz bestimmter Daten mit Ausführungsformen der Erfindung ebenfalls ermittelt werden. Somit kann eine Datenverwaltungseinheit positiv feststellen, dass zu einem bestimmten Zeitpunkt bestimmte Daten entweder existierten oder nicht existierten. Diese Gewissheit wird durch die zeitbasierten Schlüssel erzielt, die in der Blockchain gespeichert wurden. Da jeder Schlüssel einen Zeitstempel oder andere Metadaten aufweisen kann, die angeben, wann der Schlüssel erstellt und gespeichert wurde, können die den beiden Sicherungen jeweils entsprechenden Gesamt-Hashes verwendet werden, um relativ und/oder absolut festzustellen, wann die beiden Sicherungen erstellt wurden. Wenn beispielsweise die erste Sicherung mit bestimmten Daten zum Zeitpunkt T1 erstellt wurde und die zweite Sicherung ohne diese Daten später zu einem späteren Zeitpunkt T2 erstellt wurde, kann die Datenverwaltungseinheit feststellen, dass die fraglichen Daten zum Zeitpunkt T2 nicht existierten und daher irgendwann zwischen T1 und T2 gelöscht wurden.
-
Indem für die Auswahl eines angemessenen Zeitintervalls zwischen der Erstellung aufeinanderfolgender Schlüssel gesorgt wird, können Ausführungsformen der Erfindung auch genaue Bestimmungen darüber ermöglichen, wann zum Beispiel Daten existierten oder nicht existierten. Wenn also, um dies zu verdeutlichen, der Schlüssel, welcher der zum Zeitpunkt T1 erstellten Sicherung entspricht, eine Minute nach dem Schlüssel erstellt wurde, welcher der zum Zeitpunkt T2 erstellten Sicherung entspricht, kann minutengenau bestimmt werden, wann die Daten, die sich in der Sicherung von T1 befanden, gelöscht wurden, da bekannt ist, dass solche Daten nicht in der zum Zeitpunkt T2 erstellten Sicherung enthalten waren und daher irgendwann zwischen T1 und T2 gelöscht wurden.
-
Wie in der vorliegenden Offenbarung somit verdeutlicht, kann das Blockchainnetzwerk 200 als einheitliche Datenquelle für alle Datenverwaltungstransaktionen in der Organisation zum Zwecke der Bestätigung der Einhaltung gesetzlicher Bestimmungen und/oder für andere Zwecke dienen. Außerdem werden beim Speichern der Datenschutzvorgänge am Blockchainnetzwerk 200 die Blockchainkapazitäten als Implementierung einer verteilten Hauptbuchtechnologie genutzt, die sicher, verschlüsselt, unveränderlich, d.h. nicht bearbeitbar, und transparent ist.
-
C. Beispielhafte Host- und Serverkonfigurationen
-
Nunmehr kurz auf 2 bezugnehmend kann jedes oder können mehrere von dem Blockchainnetzwerk 200, den Datenverwaltungselementen 302 ... 306, den Adaptern 302a...306a, den Anwendungen 302b...306b und dem Speicher 400 die Form einer physischen Rechenvorrichtung annehmen oder eine solche einschließen oder auf einer solchen implementiert werden oder durch eine solche gehostet werden, wobei ein Beispiel hierfür mit 500 bezeichnet ist. Wenn eines der obengenannten Elemente eine virtuelle Maschine (VM) umfasst oder daraus besteht, kann diese VM ebenso eine Virtualisierung einer beliebigen Kombination der in 2 offenbarten physischen Komponenten darstellen.
-
Im Beispiel der 2 umfasst die physische Rechenvorrichtung 500 einen Speicher 502, der einen, einige oder alle von einem Direktzugriffsspeicher (RAM), einem nichtflüchtigen Direktzugriffsspeicher (NVRAM) 504, einem Nur-Lese-Speicher (ROM) und einem Dauerspeicher, einen oder mehrere Hardwareprozessoren 506, nicht-transitorische Speichermedien 508, ein UI-Gerät 510 und einen Datenspeicher 512 umfassen kann. Eine oder mehrere der Speicherkomponenten 502 der physischen Rechenvorrichtung 500 kann bzw. können die Form eines Solid-State-Device-Speichers (SSD-Speichers) annehmen. Es wird außerdem eine oder es werden mehrere Anwendungen 514 bereitgestellt, die ausführbare Anweisungen umfassen. Derartige ausführbare Anweisungen können verschiedene Formen annehmen, einschließlich beispielsweise Anweisungen, die ausführbar sind, um ein beliebiges hierin offenbartes Verfahren oder einen Teil davon auszuführen, und/oder die von/an einer beliebigen Speicherstätte ausführbar sind, ob vor Ort bei einem Unternehmen oder einer Cloud-Speicherstätte, einem Client, Datenzentrum, Sicherungsserver, Blockchainnetzwerk oder Blockchainnetzwerkknoten, um Funktionen auszuführen, die hierin offenbart sind. Außerdem können solche Anweisungen ausführbar sein, um jeden beliebigen der anderen hierin offenbarten Vorgänge auszuführen, einschließlich, ohne darauf beschränkt zu sein, Lese-, Schreib-, Sicherungs- und Wiederherstellvorgängen und/oder eines beliebigen anderen Datenschutzvorgangs, Prüfungsvorgängen, eines Cloud-Dienst-Betriebs, Blockchainoperationen, Datenverwaltungselementoperationen, Blockchainknotenoperationen und Blockchain-Hauptbuchoperationen.
-
D. Beispielhafte Verfahren
-
Nunmehr auf 3 bezugnehmend werden Aspekte beispielhafter Verfahren offenbart. Ein bestimmtes Verfahren wird allgemein mit 600 bezeichnet und betrifft die Erstellung von Datensätzen, die verwendet werden können, um nachzuweisen, wann Daten gespeichert wurden und/oder wann bestimmte Daten existierten oder nicht existierten. Ausführungsformen des Verfahrens können auch verwendet werden, um die Integrität gespeicherter Daten aufzuzeigen. Das Verfahren 600 kann gemeinsam von mehreren Entitäten durchgeführt werden, wie z.B. einem DME und einem zugehörigen Adapter, einem Generator für globale Schlüssel und einem Blockchainnetzwerk. Die in 3 angegebene funktionelle Zuordnung wird j edoch nur beispielhaft bereitgestellt, und in anderen Ausführungsformen können die offenbarten Funktionen unterschiedlich den verschiedenen Entitäten zugewiesen werden.
-
Es sollte auch beachtet werden, dass wie bei den anderen hierin und/oder in den verwandten Anmeldungen offenbarten Verfahren und Prozessen die Reihenfolge der verschiedenen Prozesse in dem Verfahren 600 anders sein kann als die angegebene Reihenfolge und die offenbarten Prozesse nicht in der in den Abbildungen angegebenen Reihenfolge ausgeführt werden müssen. Zur Veranschaulichung kann ein Schlüssel erhalten werden, bevor die Sicherung gehasht wird, und nicht danach, wie derzeit in 3 angegeben. Schließlich kann jeder der offenbarten Prozesse als Reaktion auf die Durchführung eines oder mehrerer vorhergehender Prozesse ausgeführt werden. Beispielsweise kann die Erstellung von Metadaten als Reaktion auf die Erstellung einer Sicherung erfolgen.
-
Das Verfahren kann bei 602 beginnen, wenn ein Datenverwaltungselement eine Datensicherung erstellt. In Verbindung mit der Erstellung der Sicherung 602 kann das Datenverwaltungselement auch Metadaten 604 bezüglich des Inhalts der Sicherung und bezüglich Informationen wie der Identität der Entität, die beispielsweise die Sicherung und eine Transaktionskennung erstellt hat, erstellen. Ungefähr gleichzeitig und/oder zu einem oder mehreren anderen Zeitpunkten kann ein Generator für globale Schlüssel in regelmäßigen Abständen Schlüssel 603 generieren, die dann als jeweilige Blöcke in einer Blockchain eines Blockchainnetzwerks gespeichert werden 605. Die Schlüssel können gehasht werden oder auch nicht, bevor sie in der Blockchain gespeichert werden. In einigen Ausführungsformen werden die Schlüssel in einem regelmäßigen, wiederkehrenden Zeitintervall generiert 603, wie zum Beispiel ein Schlüssel pro Minute. Kürzere oder längere Zeitintervalle können jedoch verwendet werden.
-
Nachdem die Sicherung erstellt wurde 602 und entsprechende Metadaten generiert wurden 604, wird die Sicherung gehasht 606. Der resultierende Hash identifiziert eindeutig die Daten der Sicherung. Das Verfahren 600 schreitet dann zu 608 fort, wo eine Kopie des zuletzt beobachteten Schlüssels der Blockchain erhalten wird. Die Kopie des Schlüssels kann vom Blockchainnetzwerk bereitgestellt werden 610.
-
Ein Gesamt-Hash wird dann basierend auf dem Sicherungs-Hash, den Metadaten und dem zuletzt beobachteten Schlüssel generiert 612. Ein Hash kann beispielsweise aus der folgenden Kombination von Elementen generiert werden: Sicherungs-Hash + Metadaten + zuletzt beobachteter Schlüssel. Nachdem der Gesamt-Hash generiert wurde 612, kann er zur Speicherung als Block in der Blockchain an das Blockchainnetzwerk übermittelt werden 614. Zumindest in einigen Ausführungsformen werden die Prozesse 606, 608, 612 und 614 in einer möglichst kurzen Zeitspanne gemeinsam durchgeführt.
-
Nunmehr auf 4 bezugnehmend werden Aspekte weiterer beispielhafter Verfahren offenbart. Ein besonderes Verfahren wird allgemein mit 700 bezeichnet und betrifft die Verwendung von Blockchain-Datensätzen, die in Form von Gesamt-Hashes vorliegen können, um nachzuweisen, wann Daten gespeichert wurden und/oder wann bestimmte Daten existierten oder nicht existierten. Ausführungsformen des Verfahrens können auch verwendet werden, um die Integrität gespeicherter Daten nachzuweisen, d.h., um festzustellen, dass die Daten nach ihrer Speicherung nicht manipuliert oder anderweitig beeinträchtigt wurden. Das Verfahren 700 kann gemeinsam von mehreren Entitäten durchgeführt werden, wie z.B. einem DME und einem zugehörigen Adapter, einer Sicherungs- und Wiederherstellungsanwendung, einem Hash-Generator, einem Generator für globale Schlüssel und einem Blockchainnetzwerk. Die in 4 angegebene funktionelle Zuordnung wird jedoch nur beispielhaft bereitgestellt, und in anderen Ausführungsformen können die offenbarten Funktionen unterschiedlich den verschiedenen Entitäten zugewiesen werden.
-
Das Verfahren 700 kann als Reaktion auf eine Prüfung oder eine andere Anfrage an eine Datenverwaltungseinheit beginnen, um zum Beispiel die Integrität von Daten nachzuweisen, bzw. ob bestimmte Daten gelöscht wurden und/oder wann bestimmte Daten gelöscht wurden. Bei 702 können mehrere unterschiedliche Sicherungen beispielsweise von einer Speichereinrichtung wiederhergestellt werden. Nur zu Veranschaulichungszwecken wird angenommen, dass erste und zweite Sicherungen wiederhergestellt werden 702. Zumindest in einigen Ausführungsformen ist die erste wiederhergestellte Sicherung die letzte Sicherung, die vor einer Aufforderung zum Löschen bestimmter Daten erstellt wurde, und die zweite wiederhergestellte Sicherung ist die erste Sicherung, die nach dieser Aufforderung erstellt wurde. Die Zeitspanne zwischen der Erstellung der beiden Sicherungen kann beliebig groß sein.
-
Die wiederhergestellten Sicherungen werden dann jeweils beispielsweise mittels eines Hashing-Algorithmus und/oder eines Hash-Generators gehasht 704. Die beiden so erstellten Hashes 704 werden dann jeweils mit den Sicherungs-Hashes verglichen 706, auf denen die Gesamt-Hashes der beiden Sicherungen beruhen. Wenn zum Beispiel festgestellt wird 708, dass der neu erstellte Hash 704 der ersten Sicherung nicht mit dem Sicherungs-Hash übereinstimmt, auf dem der Gesamt-Hash für die erste Sicherung beruht, dann schlägt die Prüfung fehl 710. Das heißt, die Prüfung ist fehlgeschlagen 710, da die wiederhergestellten Daten nicht mit den gesicherten Daten übereinstimmen. Aus diesem Ergebnis kann der Schluss gezogen werden, dass die gesicherten Daten an der Speichereinrichtung zu irgendeinem Zeitpunkt nach Erstellung der Sicherung manipuliert oder anderweitig beeinträchtigt wurden. Der Bestimmungsprozess 708 kann auch für die zweite Sicherung durchgeführt werden.
-
Wenn andererseits festgestellt wird 708, dass der neu erstellte Hash der wiederhergestellten Sicherung mit dem Hash übereinstimmt, auf dem der Gesamt-Hash in der Blockchain beruht, dann besteht Gewissheit, dass die gesicherten Daten seit ihrer Speicherung nicht manipuliert wurden. Wenn für beide wiederhergestellte Sicherungen eine Übereinstimmung der Hashes erhalten wird, können die wiederhergestellten Sicherungen miteinander verglichen werden 712, um festzustellen, welche Änderungen, wenn überhaupt, zwischen dem Zeitpunkt der Erstellung der ersten Sicherungen und dem Zeitpunkt der Erstellung der zweiten Sicherung stattgefunden haben. Ein solcher Vergleichsprozess 712 kann nützlich sein, um festzustellen, ob bestimmte Daten, die in der ersten Sicherung enthalten sind, zu irgendeinem Zeitpunkt vor Erstellung der zweiten Sicherung gelöscht wurden oder nicht.
-
Als Ergebnis des Vergleichsprozesses 712 kann eine Bestimmung erfolgen 714, ob bestimmte Daten in der ersten Sicherung in der zweiten Sicherung fehlen. Wenn der Vergleich 712 also zum Beispiel zeigt, dass die bestimmten Daten in beiden Sicherungen vorhanden sind, schlägt bei Durchführung einer Prüfung die Prüfung fehl 710, da die Datenverwaltungseinheit nicht nachgewiesen hat, dass die speziellen fraglichen Daten zum behaupteten Zeitpunkt, d.h., zwischen dem Zeitpunkt der Erstellung der ersten Sicherung und dem Zeitpunkt der Erstellung der zweiten Sicherung, gelöscht wurden.
-
Wenn andererseits festgestellt wird 714, dass die Daten von Interesse, wie z.B. Personendaten, Finanzdaten oder beliebige andere Daten, in der ersten Sicherung vorhanden sind, in der zweiten Sicherung jedoch nicht vorhanden sind, ist bei Durchführung einer Prüfung die Prüfung erfolgreich 716, da die Datenverwaltungseinheit nachgewiesen hat, dass die speziellen fraglichen Daten zum behaupteten Zeitpunkt oder zumindest irgendwann zwischen dem Zeitpunkt der Erstellung der ersten Sicherung und dem Zeitpunkt der Erstellung der zweiten Sicherung gelöscht wurden.
-
Schließlich kann der bestimmte Zeitpunkt oder zumindest der Zeitrahmen, in dem die fraglichen Daten gelöscht wurden, bestimmt werden 718. Dies kann beispielsweise erfolgen, indem die jeweiligen Aggregatschlüssel verwendet werden, um einen Erstellungszeitpunkt T1 der ersten Sicherung und einen Erstellungszeitpunkt T2 der zweiten Sicherung zu identifizieren. Da die fraglichen Daten bei T1 vorhanden waren, bei T2 jedoch nicht vorhanden waren, kann der Schluss gezogen werden, dass die Daten irgendwann zwischen T1 und T2 gelöscht wurden. Wenn Sicherungen regelmäßig, wie zum Beispiel stündlich, erstellt werden, ist es möglich, relativ genaue Feststellungen zu treffen, wann die Daten gelöscht wurden.
-
E. Beispielhafte Rechenvorrichtungen und zugehörige Medien
-
Die hierin offenbarten Ausführungsformen können die Verwendung eines Spezial- oder Allzweckcomputers umfassen, der verschiedene Computer-Hardware- oder Softwaremodule enthält, wie es nachstehend ausführlicher erörtert wird. Ein Computer kann einen Prozessor und Computerspeichermedien umfassen, die Anweisungen tragen, welche, wenn sie von dem Prozessor ausgeführt werden und/oder ihre Ausführung durch den Prozessor bewirkt wird, eines oder mehrere der hierin offenbarten Verfahren ausführen.
-
Wie obenstehend angegeben, umfassen Ausführungsformen innerhalb des Umfangs der vorliegenden Erfindung auch Computerspeichermedien, wobei es sich um physische Medien zum Tragen oder Speichern von computerausführbaren Anweisungen oder Datenstrukturen handelt. Solche Computerspeichermedien können beliebige verfügbare physische Medien sein, auf die ein Allzweck- oder Spezialcomputer zugreifen kann.
-
Als Beispiel und nicht einschränkend können solche Computerspeichermedien Hardwarespeicher umfassen, wie z.B. Solid State Disk/Device (SSD), RAM, ROM, EEPROM, CD-ROM, Flash-Speicher, Phasenwechselspeicher („PCM“) oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder beliebige andere Hardware-Speichervorrichtungen, die zum Speichern von Programmcode in Form von computerausführbaren Anweisungen oder Datenstrukturen verwendet werden können, auf die ein Allzweck- oder Spezialcomputersystem zugreifen kann und die von einem solchen ausgeführt werden können, um die offenbarte Funktionalität der Erfindung umzusetzen. Kombinationen des Obengenannten sollten ebenfalls im Umfang von Computerspeichermedien enthalten sein. Solche Medien sind auch Beispiele für nicht-transitorische Speichermedien, und nicht-transitorische Speichermedien umfassen auch Cloud-basierte Speichersysteme und -strukturen, obwohl der Umfang der Erfindung nicht auf diese Beispiele von nichttransitorischen Speichermedien beschränkt ist.
-
Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die einen Allzweckcomputer, einen Spezialcomputer oder eine Spezialverarbeitungsvorrichtung veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für strukturelle Merkmale und/oder methodische Handlungen spezifisch ist, versteht es sich, dass der in den beigefügten Ansprüchen definierte Gegenstand nicht zwangsläufig auf die obenstehend beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr werden die hierin offenbarten spezifischen Merkmale und Handlungen als beispielhafte Formen der Umsetzung der Ansprüche offenbart.
-
Wie hierin verwendet, kann sich der Begriff „Modul“ oder „Komponente“ auf Softwareobjekte oder -routinen beziehen, die auf dem Computersystem ablaufen. Die verschiedenen hierin beschriebenen Komponenten, Module, Maschinen und Dienste können als Objekte oder Prozesse implementiert werden, die auf dem Computersystem beispielsweise als separate Threads ablaufen. Während das hierin beschriebene System und die hierin beschriebenen Verfahren in Software implementiert werden können, sind Implementierungen in Hardware oder einer Kombination aus Software und Hardware ebenfalls möglich und werden in Erwägung gezogen. In der vorliegenden Offenbarung kann eine „Computereinheit“ ein beliebiges Computersystem, wie zuvor hierin definiert, oder ein beliebiges Modul oder eine beliebige Kombination von Modulen sein, die auf einem Computersystem ablaufen.
-
Zumindest in manchen Fällen wird ein Hardwareprozessor bereitgestellt, der betriebsfähig ist, um ausführbare Anweisungen zum Durchführen eines Verfahrens oder Prozesses, wie z.B. der hierin offenbarten Verfahren und Prozesse, auszuführen. Der Hardwareprozessor kann ein Element einer anderen Hardware umfassen oder auch nicht, wie z.B. die hierin offenbarten Rechenvorrichtungen und -systeme.
-
In Bezug auf Computerumgebungen können Ausführungsformen der Erfindung in Client-Server-Umgebungen, egal ob Netzwerk- oder lokale Umgebungen, oder in jeder anderen geeigneten Umgebung ausgeführt werden. Geeignete Betriebsumgebungen für zumindest einige Ausführungsformen der Erfindung umfassen Cloud-Computerumgebungen, in denen eines oder mehrere von einem Client, Server oder einer anderen Maschine in einer Cloud-Umgebung liegen und arbeiten kann bzw. können.
-
Die vorliegende Erfindung kann in anderen spezifischen Formen ausgeführt werden, ohne von ihrem Geist oder ihren wesentlichen Eigenschaften abzuweichen. Die beschriebenen Ausführungsformen sind in jeder Hinsicht nur als veranschaulichend und nicht als einschränkend zu betrachten. Der Umfang der Erfindung wird daher eher durch die beigefügten Ansprüche als durch die vorstehende Beschreibung angegeben. Alle Änderungen, die im Sinne und im Bereich der Äquivalenz der Ansprüche liegen, sollen in deren Umfang aufgenommen werden.