DE112018004008B4 - Auf dateisysteminhalten beruhende sicherheit - Google Patents

Auf dateisysteminhalten beruhende sicherheit Download PDF

Info

Publication number
DE112018004008B4
DE112018004008B4 DE112018004008.9T DE112018004008T DE112018004008B4 DE 112018004008 B4 DE112018004008 B4 DE 112018004008B4 DE 112018004008 T DE112018004008 T DE 112018004008T DE 112018004008 B4 DE112018004008 B4 DE 112018004008B4
Authority
DE
Germany
Prior art keywords
file system
processor
file
synchronized
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112018004008.9T
Other languages
English (en)
Other versions
DE112018004008T5 (de
Inventor
Anbazhagan Mani
Sandeep Ramesh Patil
Sasikanth Eda
Dileep Dixith
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112018004008T5 publication Critical patent/DE112018004008T5/de
Application granted granted Critical
Publication of DE112018004008B4 publication Critical patent/DE112018004008B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1787Details of non-transparently synchronising file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

Verfahren, das aufweist:Senden eines Dateisystembefehls, der auf ein zweites Objekt eines zweiten Dateisystems gerichtet ist, durch einen ersten Prozessor und zum Synchronisieren durch einen zweiten Prozessor, wobei das zweite Objekt mit einem ersten Objekt eines ersten Dateisystem synchronisiert wird; undSenden eines Ausdrucks an das zweite Dateisystem durch den ersten Prozessor und zur Berechtigungsprüfung durch den zweiten Prozessor, wobei der Ausdruck auf Grundlage eines dritten Objekts des ersten Dateisystems erzeugt wird, wobei das dritte Objekt mit einem vierten Objekt des zweiten Dateisystems synchronisiert wird.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft Dateisysteme und insbesondere Verwenden von Dateien zur Unterstützung von Dateisynchronisationssicherheit.
  • HINTERGRUND
  • Eine Dateisynchronisation kann in Wirtschaftsunternehmen dazu dienen, von einer Vielfalt geografischer Standorte auf Dateien zuzugreifen. Dateisynchronisation kann in privatem Rahmen dazu dienen, Endbenutzern auf einer Mehrzahl von Einheiten oder durch eine Vielzahl von Clients Zugriff auf Dateien zu verschaffen. Dateisynchronisation kann für medizinische Zwecke verwendet werden, um Archive und Sicherungen kritischer Patienteninformationen bereitzustellen. Dateisynchronisation kann in Situationen der Wiederherstellung nach einem Störfall genutzt werden, um Daten standortübergreifend zu verwalten, wenn ein Standort von einem Tornado, einem Erdbeben, einer Überschwemmung oder einer anderen Naturkatastrophe betroffen ist.
  • Die WO 2017/ 165 656 A1 betrifft ein computer-implementiertes Verfahren, das umfasst: Empfangen von Informationen über eine elektronische Datei, die auf einem primären Cloud-Laufwerk eines Benutzers gespeichert ist; Empfangen eines oder mehrerer benutzerdefinierter Attribute, die mit der elektronischen Datei verknüpft sind, wobei das eine oder die mehreren benutzerdefinierten Attribute ein Home-Netzwerk angeben, das mit der elektronischen Datei verknüpft ist; Erzeugen, auf Grundlage des einen oder der mehreren benutzerdefinierten Attribute, eines Sicherheitstokens, das so konfiguriert ist, dass es den Zugriff auf die elektronische Datei steuert, je nachdem, ob der Zugriff von innerhalb oder außerhalb des Home-Netzwerks erfolgt; und Speichern einer Kopie der elektronischen Datei auf einem sekundären Cloud-Laufwerk, das von dem primären Cloud-Laufwerk getrennt ist, wobei die Kopie der elektronischen Datei auf dem sekundären Cloud-Laufwerk in Verknüpfung mit dem Sicherheitstoken gespeichert wird.
  • Die US 2015 / 0 249 647 A1 betrifft ein computer-implementiertes Verfahren, das umfasst: Empfangen eines gemeinsamen geheimen Schlüssels, der mit einem gemeinsamen Ordner verknüpft ist, an einem ersten Client-Gerät von einem Content-Management-System; Erzeugen, über mindestens einen Prozessor, einer sicheren Kennung auf Grundlage des gemeinsamen geheimen Schlüssels; und Übermittlung der sicheren Kennung an mindestens ein zweites Client-Gerät.
  • KURZDARSTELLUNG
  • Der Erfindung liegt die Aufgabe zugrunde ein Verfahren, ein System und ein Computerprogrammprodukt zum Synchronisieren von Objekten in Dateisystemen mit verbesserter Sicherheit zu schaffen. Die der Erfindung zugrunde liegende Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Ausführungen sind in den abhängigen Patentansprüchen angegeben.
  • Gemäß Aspekten der vorliegenden Erfindung werden ein Verfahren, ein System und ein Computerprogrammprodukt bereitgestellt. Ein Dateisystembefehl wird von einem ersten Prozessor und zum Synchronisieren von einem zweiten Prozessor gesendet. Der Dateisystembefehl ist auf ein zweites Objekt eines zweiten Dateisystems gerichtet, das mit einem ersten Objekt eines ersten Dateisystems synchronisiert wird. Ein Ausdruck wird vom ersten Prozessor an das zweite Dateisystem und zur Berechtigungsprüfung vom zweiten Prozessor gesendet. Der Ausdruck wird auf Grundlage eines dritten Objekts des ersten Dateisystems erzeugt, das mit einem vierten Objekt des zweiten Dateisystems synchronisiert wird.
  • Auch können Aspekte gemäß Ausführungsformen der vorliegenden Offenbarung ein Tiering-Dateisystem (Dateisystem mit gestufter Dateiablage) beinhalten. Das Tiering-Dateisystem weist einen ersten Hauptspeicher, eine erste Speichereinheit und einen ersten Prozessor auf. Die erste Speichereinheit enthält ein erstes Dateisystem mit einem oder mehreren Erstdateisystemobjekten. Der erste Prozessor ist datenaustauschmäßig mit dem ersten Hauptspeicher und der ersten Speichereinheit verbunden. Der erste Prozessor empfängt einen ersten Dateisystembefehl. Der erste Prozessor erkennt, dass der erste Dateisystembefehl auf ein erstes Objekt des ersten Dateisystems gerichtet ist, das mit einem zweiten Objekt eines zweiten Dateisystems synchronisiert wird. Der erste Prozessor ruft einen oder mehrere Berechtigungsnachweise auf Grundlage des Erkennens ab. Der erste Prozessor erkennt, dass der erste Dateisystem-Zugriffsbefehl ein Löschbefehl ist. Der erste Prozessor erzeugt einen sprachlichen Ausdruck zum ersten Dateisystem auf Grundlage des Erkennens. Das erste Dateisystem stellt dem zweiten Dateisystem den sprachlichen Ausdruck bereit. Das erste Dateisystem stellt dem zweiten Dateisystem die Berechtigungsnachweise bereit. Das erste Dateisystem stellt dem zweiten Dateisystem einen zweiten Löschbefehl bereit.
  • Die obige Kurzdarstellung ist nicht dazu gedacht, jede veranschaulichte Ausführungsform oder jede Umsetzung der vorliegenden Offenbarung zu beschreiben.
  • Figurenliste
  • Die Zeichnungen, die in der vorliegenden Anmeldung enthalten sind, sind in die Spezifikation eingearbeitet und bilden einen Bestandteil davon. Sie veranschaulichen Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung zur Erläuterung der Grundgedanken der Offenbarung. Die Zeichnungen sind nur veranschaulichend für bestimmte Ausführungsformen und schränken die Offenbarung nicht ein.
    • 1 stellt ein beispielhaftes Datenverarbeitungssystem dar, das eine mit Ausführungsformen übereinstimmende Dateisynchronisation nutzt;
    • 2 ist ein Flussdiagramm eines mit Ausführungsformen übereinstimmenden Verfahrens zum Synchronisieren eines Dateisystems auf Grundlage des synchronisierten Inhalts;
    • 3 ist ein Flussdiagramm eines mit Ausführungsformen übereinstimmenden Verfahrens zur Durchführung einer Löschung in einem synchronisierten Inhalt;
    • 4 stellt die repräsentativen Hauptkomponenten eines beispielhaften Computersystems dar, das gemäß Ausführungsformen der vorliegenden Offenbarung genutzt werden kann;
    • 5 stellt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung dar; und
    • 6 stellt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • Die Erfindung ist zwar für verschiedene Modifikationen und alternative Formen offen, doch wurden Besonderheiten davon beispielhaft in den Zeichnungen dargestellt und werden detailliert beschrieben. Es sei jedoch klargestellt, dass nicht die Absicht besteht, die Erfindung auf die beschriebenen besonderen Ausführungsformen zu beschränken. Die Absicht besteht im Gegenteil darin, alle Modifikationen, Äquivalente und Alternativen einzubeziehen, die in den Umfang der Erfindung fallen.
  • DETAILLIERTE BESCHREIBUNG
  • Aspekte der vorliegenden Offenbarung betreffen Dateisysteme, speziellere Aspekte betreffen die Verwendung von Dateien zur Unterstützung von Dateisynchronisationssicherheit. Auch wenn die vorliegende Offenbarung nicht unbedingt auf solche Anwendungen beschränkt ist, können verschiedene Aspekte der Offenbarung durch eine Erörterung verschiedener Beispiele anhand dieses Kontexts von Interesse sein.
  • Dateisysteme sind ein kritischer Teil der Datenverarbeitung in der modernen Welt. Dateisysteme liegen dort vor, wo Informationen und Daten in Zusammenhang mit einem Computersystem langfristig gespeichert werden. Dateien in dem Computersystem können in allen Aspekten der Datenverarbeitung nutzungskritisch sein. In manchen Fällen speichern Personen Fotografien von Freunden und der Familie im Dateisystem. In anderen Fällen sind Jahre der wissenschaftlichen Forschung oder interessante Fortschritte und Entdeckungen in verschiedenen Dateien und Ordnern eines Computersystems gespeichert. In wieder anderen Fällen sind die Produkte moderner Arbeit wie Marketing-Dokumente, Schriftdokumente oder Bilddokumente, die für ein Entgelt ausgearbeitet werden, in Dateisystemen gespeichert.
  • Mit der Allgegenwärtigkeit des Internets haben sich Dateisysteme dazu entwickelt, einen Lebensstil des ständigen Vernetzseins zu unterstützen. Benutzer erwarten, dass die Einheiten, die sie nutzen, und der darauf gespeicherte Inhalt an vielen Orten verfügbar sein können. Hersteller von Computer-Hardware und -Software haben verschiedene vernetzte Dienstleistungen geschaffen, um diese Nutzungsfälle zu ermöglichen. In manchen Situationen stellen Datenverarbeitungseinheiten eine nahtlose Integration von in der Cloud gehosteten Dateien bereit. Die in der Cloud gehosteten Dateien können in Form eines Portals oder einer Cloud-Schnittstelle vorliegen, das/die es ermöglicht, die auf einem entfernt angeordneten Server gespeicherten Dateien direkt anzuzeigen und darauf zuzugreifen. Mit den in der Cloud gehosteten Dateien kann in einer Tiering-Konfiguration interagiert werden, in der manche Dateien lokal gespeichert sind und in der andere ferngespeichert sind (z.B. Cloud-Tiering oder Cloud-as-Tier). Das Tiering stellt eine gesteigerte Flexibilität für die Speicherkapazität von Einheiten bereit, da eine über das Netzwerk zugänglich Einheit nur eine Teilmenge von Daten lokal speichern kann, während sie nahtlos die Anzeige von anderen Teilmengen ferngespeicherter Daten und den Zugriff darauf bereitstellen kann.
  • Ein anderer Vorteil von Dateisystemen liegt in der Form von Datenredundanz (d.h. Datensicherungen oder Dateisystemsicherungen). Dateisystemsicherungen stellen für Computerbenutzer einen verbesserten Schutz vor Datenverlusten bereit. In manchen Fällen kann ein Benutzer eines Computers sich eine Sicherung zunutze machen, um in der Lage zu sein, bei Eintritt eines schadensträchtigen Komponentenausfalls Informationen aus einem vorherigen Zustand wiederherzustellen. Auf Clouds beruhende Dateisysteme können nutzbringend eingesetzt werden, um Dateisystemsicherungen über Netzwerke oder das Internet entfernt bereitzustellen. In manchen Fällen kann ein Benutzer eines Computers durch Datensicherungen (backups) mithilfe auf Clouds beruhender Dateisysteme gestärkt werden und kann mit höherer Sicherheit, dass die Daten des Benutzers gut gesichert werden können, eine Datenverarbeitungseinheit in eine gefährliche Umgebung wie etwa auf ein Schiff auf hoher See mitnehmen.
  • Sowohl auf Clouds beruhende Dateisysteme als auch Datensicherungen nutzen Dateisynchronisation. Bei der Dateisynchronisation ist eine Datenintegrität von zentraler Bedeutung für ein funktionierendes System. In bestimmten Situationen treten bei Dateisynchronisation aufgrund des Verwaltens verschiedener Dateisysteme eine Anzahl technischer Probleme auf. Dateisynchronisation funktioniert teilweise durch Transaktionen - indem Aktualisierungen von Daten auf einer Einheit empfangen werden, die eine Kopie des Dateisystems aufbewahrt. In manchen Fällen könnten die Aktualisierungen von einem Benutzer des auf Clouds beruhenden Dateisystems angewiesen werden. In manchen Fällen könnten die Aktualisierungen von einer der Einheiten angewiesen werden, die einen Teil des auf Clouds beruhenden Dateisystems bilden. Dateisynchronisationssysteme versuchen zu gewährleisten, dass bei Transaktionen eine Datenintegrität gewahrt bleibt. In manchen Fällen müssen vorgenommene Aktualisierungen daraufhin überprüft werden, dass sie korrekte Aktualisierungen sind. In manchen Fällen könnten Probleme von übelgesinnten Dritten stammen, die die Transaktionen abfangen. Die Dritten können versuchen, Befehle zu täuschen, und folglich kann es sein, dass jeder Dateisynchronisationsbefehl überprüft werden muss.
  • Auf Inhalten beruhende Sicherheitsfaktoren (content-based security factors CSF) können technische Verbesserungen für Dateisynchronisationssysteme bereitstellen. CSFs können es ermöglichen, dass der durch das Dateisynchronisationssystem synchronisierte Inhalt als primärer oder sekundärer Berechtigungsprüffaktor verwendet wird. CSFs können einen Ausdruck verwenden, der auf Grundlage des Inhalts erzeugt wird, der durch das Dateisystem synchronisiert wird. CSFs können bidirektionale Dateisynchronisationssysteme wie etwa auf Clouds beruhende Dateisysteme verbessern. CSFs können unidirektionale Dateisynchronisationssysteme wie etwa Dateisicherungen verbessern. CSFs können die Funktion der Dateisynchronisation verbessern, indem die zusätzliche Sicherheitsfaktoren bereitstellen, um die Sicherheit zu stärken.
  • Die zusätzliche Sicherheit von CSFs ermöglicht eine Automatisierung bestimmter Transaktionen bestehender Dateisynchronisationssysteme. Beispielsweise können diese automatisierten Transaktionen Inhaltsaktualisierungen eines ersten Dateisystems umfassen, das infolge synchronisierter Befehle, die durch eines der Dateisysteme ausgegeben werden, mit einem zweiten Dateisystem synchron gehalten werden soll. Nutzung eines Inotify-Mechanismus (z.B. geringfügige Ereignisse, light weight events) könnte eine Überwachung von Befehlen an ein Dateisystem in einem Dateisynchronisationssystem ermöglichen. Der Inotify-Mechanismus könnte es einem System ermöglichen, das Erzeugen und Übertragen des Löschbefehls zu automatisieren, um ein Dateisystem mit anderen Dateisystem in einem Dateisynchronisationssystem zu synchronisieren. Da Löschbefehle irreversible Auswirkungen haben, sind in manchen Fällen Systemadministratoren zögerlich, die Löschbefehltransaktionen, die zu einem entfernt angeordneten Dateisystem gesendet werden, zu automatisieren. Die verbesserte Sicherheit, die durch CSFs bereitgestellt wird, kann die Automatisierung der Löschbefehle (oder anderer Transaktionen) ermöglichen, während die Sicherheit und Integrität der Dateisysteme aufrechterhalten wird.
  • CSFs können so arbeiten, dass sie sich genau den Inhalt, der synchronisiert wird, zunutze machen. CSFs können durch Kompatibilität eine verbesserte Leistungsfähigkeit bereitstellen. Beispielsweise weist jedes synchrone Dateisystem ungeachtet des Formats oder der Konvention synchronisierte Inhalte auf. In dieser Offenbarung kann bei Ausführungsformen eine Vielfalt von Ausdrücken zur Beschreibung des Inhalts, der synchronisiert wird, verwendet werden. Veranschaulichend kann in der folgenden Offenbarung die Vielfalt von Ausdrücken und Namen, die verwendet werden können, bei der Erörterung der Synchronisierung von Inhalt austauschbar verwendet werden. Es sollte ersichtlich sein, dass die Ausdrücke für Beispielzwecke verwendet werden und dass andere Ausdrücke auf diesem Gebiet verwendet werden können, um die Ausführungsformen der Offenbarung zu vermitteln. Internet-Service-Provider (ISPs) können eine oder mehrere der Datenverarbeitungsdienste (z.B. Prozessor, Hauptspeicher, APIs, Netzwerke usw.) bereitstellen, die das Synchronisieren verschiedener Dateisystem ermöglichen. Bestimmte ISPs können eine Vielfalt von Ausdrücken für Dateien, die synchronisiert werden, verwenden wie Objekt oder Blob. Eine Vielfalt von Ausdrücken kann für die Ordner, die synchronisiert werden, verwendet werden (z.B. Verzeichnisse, Container, Buckets usw.). Eine Vielfalt von Ausdrücken kann für die Konten, die zu den Benutzern des Dateisystems gehören, verwendet werden wie Domains oder Vaults. Eine Vielfalt von Ausdrücken kann für die Metadaten, die synchronisiert werden, verwendet werden wie Tags oder xattrs. „Metadaten“ kann sich auf beliebige aus mehreren Arten von Metadaten beziehen (z.B. Benutzermetadaten, Systemmetadaten). Bei Benutzermetadaten kann es sich um Metadaten handeln, die ein Benutzer speziell erzeugt, z.B. ein Beschreibungsmetadatenfeld, das einen Ordner mithilfe englischer Wörter, Wendungen und/oder Sätze beschreibt. Bei Systemmetadaten kann es sich um Metadaten handeln, die das System erstellt, wie Erstellungsdatum, Zeitstempel der letzten Änderung oder dergleichen.
  • In einem ersten Beispiel kann ein lokaler Computer ein lokales Dateisystem hosten, das eine oder mehrere Dateien in einem oder mehreren Verzeichnissen (auch als Ordner bezeichnet) enthalten kann. Eine Teilmenge der Dateien oder Ordner kann mit einem oder mehreren Konten verknüpft sein, und Metadaten bzw. xattr können Attribute der Dateien und/oder Ordner beschreiben. Der lokale Computer kann mit einem an einem entfernten Standort gehosteten Internet-Service-Provider (ISP) synchronisiert sein und zusammenarbeiten. Der ISP kann für jede Datei ein Objekt haben, das mit der Datei synchron gehalten wird. Der ISP kann für jedes Verzeichnis einen synchronisierten Container haben. Der ISP kann Tags verwenden, um verschiedene Attribute jedes Objekts und Containers zu beschreiben. Der ISP kann eine Reihe von Vaults verwalten, die den Konten entsprechen.
  • 1 stellt ein beispielhaftes Datenverarbeitungssystem 100 dar, das eine mit Ausführungsformen konsistente Dateisynchronisation nutzt. Das Datenverarbeitungssystem 100 kann einen oder mehrere Client-Einheiten 110-1, 110-2, 110-3 und 110-4 (gemeinsam 110) beinhalten. Das Datenverarbeitungssystem 100 kann auch einen ersten Dateisynchronisationsknoten 120 (auch als lokaler Knoten bezeichnet) und einen zweiten Dateisynchronisationsknoten 130 (auch als entfernt angeordneter Knoten bezeichnet) enthalten. Das Datenverarbeitungssystem 100 kann auch ein lokales Netzwerk 140 enthalten, das die Client-Einheiten 110-1 und 110-2 datenaustauschmäßig mit dem Knoten 120 verbindet. Das Datenverarbeitungssystem 100 kann auch ein Fernnetzwerk 150 und den zweiten Knoten 130 enthalten. Zusätzliche Netzwerke (nicht abgebildet) können das lokale Netzwerk 140 und das Fernnetzwerk 150 (z.B. ein WAN, das Internet usw.) datenaustauschmäßig verbinden.
  • Client-Einheiten 110 können einen oder mehrere Computer und elektronische Assistenten (z.B. Smartphones, Tablets, tragbare Computer usw.) umfassen. Jede Client-Einheit 110 kann einen Prozessor und einen Hauptspeicher enthalten. 4 kann einen beispielhaften Computer beschreiben, der mit einer bestimmten Client-Einheit 110 übereinstimmt. Jede Client-Einheit 110 kann so arbeiten, dass sie Anweisungen zu den Dateisynchronisationsknoten 120 und 130 und von diesen zurück sendet. Jede Client-Einheit 110 kann auch so arbeiten, dass sie Inhalte zu den Dateisynchronisationsknoten 120 und 130 sendet und von diesen empfängt. Zum Beispiel kann die Client-Einheit 110-2 einen Befehl durch das Netzwerk 140 an den lokalen Dateisynchronisationsknoten 120 senden. In einem zweiten Beispiel kann die Client-Einheit 110-3 durch das Netzwerk 150 eine Aktualisierung von Inhalten von entfernt angeordneten Dateisynchronisationsknoten 150 empfangen. In einigen Ausführungsformen können die Client-Einheiten die zusätzlichen Netzwerke nutzen, um Befehle auszugeben. Zum Beispiel kann die Client-Einheit 110-2 ein Weitverkehrsnetz (WAN) nutzen, um Befehle an den zweiten Dateisynchronisationsknoten 150 zu senden.
  • Der erste Dateisynchronisationsknoten 120 kann einen ersten Server 122 und einen ersten Datenspeicher 124 umfassen. Beim ersten Server 122 kann es sich um eine oder mehrere Datenverarbeitungseinheiten und Software-Dienste handeln, die so konfiguriert sind, dass sie ein erstes Dateisystem verwalten. Der erste Server 122 kann auf Grundlage von einer oder mehreren Anforderungen von den Client-Einheiten 110-1 und 110-2 arbeiten. Der erste Server 122 kann durch das Netzwerk 140, das Netzwerk 150 oder das Internet mit den Client-Einheiten 110 Daten austauschen. Der erste Server 122 kann ein erstes Dateisystem hosten, das mit zusätzlichen Dateisystemen (z.B. einem zweiten Dateisynchronisationsknoten 130) synchronisiert wird.
  • Bei dem ersten Datenspeicher 124 kann es um einen oder mehrere Computer und Speichereinheiten handeln, die so konfiguriert sind, dass sie Daten speichern. Zum Beispiel kann es sich bei dem ersten Datenspeicher 124 um ein Festplattenlaufwerk auf Grundlage einer Platte oder Scheibe in einem Server-Gehäuse oder um einen in einem Server befindlichen Halbleiter-Datenträger handeln. Der erste Datenspeicher 124 kann ein oder mehrere Dateisysteme umfassen, die dafür ausgelegt sind, Dateien und Ordner zu speichern und zu strukturieren (z.B. NTFS, FAT32, ZFS usw.). Der erste Datenspeicher 124 kann eine oder mehrere Datenbanken umfassen, die Werte speichern. In einigen Ausführungsformen können sich die gespeicherten Werte auf die Dateisysteme beziehen. Der erste Datenspeicher 124 kann einen ersten Satz von Objekten 126-1, 126-2 bis 126-N (gemeinsam 126) beinhalten. Bei dem ersten Satz von Objekten 126 kann es sich um die lokalen Dateien und Ordner des Dateisystems handeln. In einigen Ausführungsformen können alle Dateien und Ordner des ersten Dateisynchronisationsknotens 120 durch den zweiten Dateisynchronisationsknoten 130 gespeichert werden. Zum Beispiel kann es sich bei dem ersten Dateisynchronisationsknoten 120 um das Dateisystem eines Mainframe-Servers handeln, und eine entfernt angeordnete Sicherung der Daten im ersten Datenspeicher 124 kann vom zweiten Dateisynchronisationsknoten 130 gespiegelt werden. In Fortsetzung des Beispiels kann im Falle eines Datenverlusts im ersten Datenspeicher 124 der zweite Dateisynchronisationsknoten 130 dazu genutzt werden, die Daten für den Mainframe-Server wiederherzustellen.
  • In einigen Ausführungsformen kann nur eine Teilmenge der Dateien und Ordner des Dateisystems durch den ersten Dateisynchronisationsknoten 124 gespeichert werden. Zum Beispiel kann in einem auf einem Tiering beruhenden Cloud-Dienst ein Teil der Dateien und Ordner im Datenspeicher 124 aufbewahrt sein. Der Teil der Dateien, die lokal im Datenspeicher 124 gespeichert sind, kann durch die Dateien 126-1-126-4.000 dargestellt sein. Wenn beim Datenspeicher 124 der Speicherplatz der Festplatte zur Neige geht, kann der erste Server 122 entscheiden, dass eine oder mehrere Dateien im entfernt angeordneten Synchronisationsknoten 130 gespeichert werden müssen. Der erste Server 122 kann anweisen, dass die Dateien 126-4.001-126-32.547 durch den zweiten Synchronisationsknoten 130 gespeichert werden sollen. Der erste Server 122 kann ein oder mehrere Stubs erstellen, die die Dateien beschreiben, die mit dem zweiten Synchronisationsknoten 130 synchronisiert werden. Der erste Server 122 kann Informationen über die im zweiten Synchronisationsknoten 130 gespeicherten Dateien direkt in den Stubs speichern (z.B. Metadaten, die die Anzeige der Dateien und Ordner in einem Dateibrowser beschleunigen können). Der erste Server 122 kann Informationen über die im zweiten Synchronisationsknoten 130 gespeicherten Dateien indirekt in einem Stub speichern - der Stub kann auf eine Datenbank hinweisen, die ebenfalls im Datenspeicher 124 gespeichert ist, und Informationen über die im zweiten Synchronisationsknoten gespeicherte Datenbank können über den im Stub befindlichen Link zur Datenbank abgerufen werden.
  • Der entfernt angeordnete Dateisynchronisationsknoten 130 kann einen zweiten Server 132 und einen zweiten Datenspeicher 134 enthalten. Beim zweiten Server 132 kann es sich um eine oder mehrere Datenverarbeitungseinheiten und Software-Dienste handeln, die so konfiguriert sind, dass sie ein zweites Dateisystem verwalten. Der zweite Server 132 kann auf Grundlage von einer oder mehreren Anforderungen von den Client-Einheiten 110 arbeiten. Der zweite Server 132 kann durch das Netzwerk 150, das Netzwerk 140 oder das Internet mit den Client-Einheiten 110 Daten austauschen. Der zweite Server 132 kann ein zweites Dateisystem hosten, das mit einer Mehrzahl zusätzlicher Dateisysteme (z.B. einem ersten Dateisynchronisationsknoten 120) synchronisiert ist. Der zweite Server 132 kann sich geografisch getrennt vom ersten Server 122 befinden und kann von einer anderen Entität als dem ersten Dateisynchronisationsknoten 120 betrieben werden. In einigen Ausführungsformen kann der zweite Server 132 bestimmte Sicherheitsmaßnahmen einsetzen, um den zweiten Datenspeicher 134 zu schützen. Zum Beispiel kann ein ISP einen entfernt angeordneten Dateisynchronisationsknoten 130 hosten und einen Benutzernamen und/oder ein Passwort verwenden, um den Zugriff auf den zweiten Server 132 und den entfernt angeordneten Dateisynchronisationsknoten auf Berechtigung zu prüfen.
  • Bei dem zweiten Datenspeicher 134 kann es um einen oder mehrere Computer und Speichereinheiten handeln, die so konfiguriert sind, dass sie Daten speichern. Zum Beispiel kann es sich bei dem zweiten Datenspeicher 134 um ein Festplattenlaufwerk auf Grundlage einer Platte oder Scheibe in einem Server-Gehäuse oder um einen in einem Server befindlichen Halbleiter-Datenträger handeln. In einigen Ausführungsformen kann der zweite Datenspeicher 134 eine Mehrzahl von Datenspeicher-Hardware (z.B. Bänder, sich drehende Plattenlaufwerke, Halbleiter-Datenträger, Platten auf RAM-Grundlage, stapelbaren, nichtflüchtigen Kreuzgitter-Speicher usw.) umfassen. Der zweite Datenspeicher 134 kann ein oder mehrere Dateisysteme enthalten, die dafür ausgelegt sind, Dateien und Ordner zu speichern und zu strukturieren (z.B. NTFS, FAT32, ZFS usw.). Der zweite Datenspeicher 134 kann eine oder mehrere Datenbanken oder Dateisysteme umfassen bzw. zu deren Nutzung konfiguriert sein, die eine Betonung auf bestimmte Leistungseigenschaften wie Kapazität oder Zugriffslatenz bereitstellen. Der zweite Datenspeicher 134 kann einen zweiten Satz von Objekten 136-1, 136-2 bis 136-N (gemeinsam 136) beinhalten. In einigen Ausführungsformen kann der zweite Datenspeicher 134 genug Speicher für eine erhöhte Redundanz bereitstellen. Zum Beispiel kann der zweite Datenspeicher 134 eine Mehrzahl von Festplattenlaufwerken aufweisen und der zweite Server 132 kann Kopien des zweiten Satzes von Objekten 136 in mehreren Festplattenlaufwerken der Mehrzahl von Festplattenlaufwerken anlegen.
  • Bei dem zweiten Satz von Objekten 136 kann es sich um direkte Kopien handeln oder er kann sich direkt auf den ersten Satz von Objekten 126 beziehen. Zum Beispiel kann es sich bei dem zweiten Datenspeicher 134 um eine Sicherung der Datenbank 124 handeln, und jedes Objekt 136 kann direkt einem Objekt 126 entsprechen. In einigen Ausführungsformen kann es sich bei dem zweiten Satz von Objekten 136 nicht um direkte Kopien des ersten Datenspeichers 124 handeln, und ein zweiter Datenspeicher 134 kann Daten in einem anderen Format speichern. Zum Beispiel kann es sich bei dem zweiten Datenspeicher 134 um eine Reihe von Blobs 136 handeln, und jeder Blob kann entweder einer Datei oder einem Ordner des ersten Datenspeichers 124 entsprechen. In einem zweiten Beispiel kann der zweite Datenspeicher 134 eine Reihe von Objekten und Containern 136 aufweisen. In einigen Ausführungsformen können ein oder mehrere Attribute des Datenspeichers 134 verschleiert sein, um eine verbesserte Sicherheit bereitzustellen. Zum Beispiel kann der zweite Satz von Objekten 136 unabhängig vom Konto oder Besitzer serienweise benannt sein. In Fortsetzung des Beispiels kann ein Datenobjekt 136-107 einen seriennummerierten Namen „43513209DFC2398“ haben und kann mit einem ersten Konto verbunden sein. In weiterer Fortsetzung des Beispiels kann ein zweites Datenobjekt 136-108 einen seriennummerierten Namen „43513209DFC2399“ haben und kann mit einem zweiten Konto verbunden sein.
  • Das Datenverarbeitungssystem 100 kann eine Vielfalt von Sicherheitsmaßnahmen vorsehen, um die Datenobjekte 126 und 136 zu schützen. Die Client-Einheiten 110 können den lokalen Dateisynchronisationsknoten 120 und den entfernt angeordneten Dateisynchronisationsknoten 130 nutzen, um auf die Datenobjekte 126 und 136 zuzugreifen. In einigen Ausführungsformen kann das Datenverarbeitungssystem 100 einen Berechtigungsprüffaktor wie einen Benutzernamen und ein Passwort verwenden. Zum Beispiel kann eine Client-Einheit 110-3 lokal eine Mehrzahl von Dateien und Ordnern enthalten und kann auch eine Mehrzahl von Dateistubs enthalten, die Dateien darstellen, die im Tiering auf das Datenverarbeitungssystem 100 verlagert wurden. Die Client-Einheit 110-3 kann einen Ordner anfordern, der mit einem Beispielstub verknüpft ist und kann ferner mit dem Objekt 136-1 verknüpft sein. Um durch Synchronisieren durch das Netzwerk 150 Zugriff auf den eigentlichen Ordner zu erhalten, kann der Server 132 nur auf Grundlage des Empfangs eines Benutzernamens und Passworts von der Client-Einheit 110-3 mit dem Objekt 136-1 antworten.
  • In einigen Ausführungsformen kann das Datenverarbeitungssystem 100 auf Inhalten beruhende Sicherheitsfaktoren (CSF) nutzen, um den Zugriff auf die Datenobjekte 126 oder 136 zu sichern. Nun wird ein erstes Beispiel, das mit CSF-Ausführungsformen übereinstimmt, beschrieben. Die Client-Einheit 110-1 kann mit dem Netzwerk 140 verbunden sein, um durch den ersten Server 122 eine Verbindung zur ersten Datenbank 124 herzustellen. Ein Benutzer kann einen Dateibrowser nutzen, der durch ein Betriebssystem der Client-Einheit 110-1 ausgeführt wird. Der Dateibrowser kann durch eine Reihe von Anforderungen zwischen der Client-Einheit 110-1 und dem Dateiserver 122 ein Dateisystem einbinden, das in einem ersten Datenspeicher 124 gehostet ist. Während ein Benutzer Dateien von der Client-Einheit 110-1 ansieht und aktualisiert, können die im ersten Datenspeicher 124 gespeicherten Dateien und Ordner durch den ersten Server 122 aktualisiert werden.
  • In Fortsetzung des ersten Beispiels kann der erste Synchronisationsknoten 120 eine Tiering-Synchronisierung mit dem zweiten Synchronisationsknoten 130 durchführen. Der erste Server 122 des ersten Synchronisationsknotens 120 kann festlegen, dass eine oder mehrere Dateien oder Ordner 126 im Tiering im zweiten Synchronisationsknoten 130 gespeichert werden sollten. Das Festlegen kann auf der Grundlage erfolgen, dass es sich bei einer Datei 126-8 um ein Stub handelt. Der erste Server 122 kann bei 170 eine Synchronisationsoperation durchführen. Das Festlegen und Operation 170 können automatisiert als Hintergrundprogramm oder Framework der Systemebene ablaufen (z.B. Inotify, Richtlinie für geringfügige Ereignisse usw.). Bei der Operation 170 kann es sich um Übertragen einer Aktualisierung der Datei 126-8 an einen zweiten Server 132 handeln. Die Operation 170 kann Umwandeln der Aktualisierung der Datei 126-8 in ein Objekt 136-8 umfassen. Das Objekt 136-8 kann in einem Format vorliegen, das ohne Zugriff auf den Dateistub 126-8 und die im Datenspeicher 124 gespeicherte zugehörige Datenbanken nicht lesbar ist. Bei der Operation 170 kann es sich auch um Übertragen eines CSF an den zweiten Server 132 handeln. Bei dem CSF kann es sich um einen Ausdruck handeln, der ein synchrones Attribut beschreibt -ein Attribut, das zwischen dem ersten Dateisynchronisationsknoten 120 und dem zweiten Dateisynchronisationsknoten 130 synchronisiert wird. Ein synchrones Attribut kann eines des Folgenden umfassen: eine Datei, einen Ordner, Metadaten einer Datei, Metadaten eines Ordners, Konteninformationen zu einer Datei, Konteninformationen zu einem Ordner usw. Ein synchrones Attribut kann ferner eines des Folgenden umfassen: eine Größe einer Datei oder eines Ordners, eine Anzahl von Dateien oder Ordnern, eine Beziehung zwischen Dateien oder Ordnern (z.B. gibt es zwölf Dateien im Ordner „Programmdateien‟, ist Datei X die zweitgrößte Datei im Ordner Y usw.).
  • In Fortsetzung des ersten Beispiels wählt bei Operation 170 der erste Server 122 ein Attribut des Datenspeichers 124 zu dem Ordner 126-137.023 und den Dateien 126-138.110, 126-138.111 und 126-138.112 aus (die drei Dateien befinden sich im Ordner 126-137.023). Der erste Server 122 wählt den Ordner 126-137.023 und die Dateien 126-138.110, 126-138.111 und 126-138.112 aus, weil sie Stubs sind, die im Datenspeicher 124 gespeichert und mit dem entsprechenden Container 136-140.111 und den Objekten 136-140.112, 136-140.113 und 136-140.114 synchronisiert werden. Bei Operation 170 kann der erste Server 122 den folgenden Ausdruck erzeugen: „Datei 126-138.111 wurde später als die Dateien 126-138.110 und 126-138.112 zuletzt geändert“.
  • In Fortsetzung des ersten Beispiels kann bei Operation 170 der erste Server 122 den CSF an den zweiten Dateisynchronisationsknoten 130 senden. In einigen Ausführungsformen kann Operation 170 von der optionalen Operation 160 begleitet werden. Bei der optionalen Operation 160 kann es sich um eine Eingabeaufforderung des zweiten Servers 132 handeln, um den CSF für die Berechtigungsprüfung anzufordern. Bei der optionalen Operation 160 kann es sich um eine Bestätigung des Empfangs und der Synchronisationsleistung durch den zweiten Server 132 handeln. Bei der optionalen Operation 160 kann es sich um eine Bestätigung einer erfolgreichen Berechtigungsprüfung über CSF handeln, die bei 170 empfangen wird. In einigen Ausführungsformen kann es sich bei dem CSF um einen sekundären Berechtigungsprüffaktor handeln und bei der Leistung der Operation 170 um das Senden eines ersten Berechtigungsprüffaktors (z.B. eines Benutzernamens und eines Passworts) sowie des CSF (z.B. des Ausdrucks des synchronisierten Inhaltes der Dateisysteme) handeln. Die Leistung der Operation 170 kann in Form von Dateisystem-APIs vorliegen (z.B. abrufen(), ablegen(), aktualisieren(), löschen()). In einigen Ausführungsformen kann die Leistung der Operation 170 in Form von Protokollen nach dem Server-Client-Modell vorliegen, wie etwa REST-Operationen (z.B. erstellen, aktualisieren, lesen, löschen).
  • In Fortsetzung des ersten Beispiels kann bei Operation 170 der zweite Server 132 nach Empfang der gesendeten Synchronisationsaktualisierung und der Berechtigungsprüfung durch das CSF das Synchronisieren durchführen. Im Einzelnen kann der zweite Server 132 die empfangene Synchronisationsaktualisierung in einem Zwischenspeicher mit Aktualisierungsbefehlen speichern, die in der empfangenen Reihenfolge verarbeitet werden sollen. Der zweite Server 132 kann den Ausdruck des empfangenen CSF auf Berechtigung prüfen, indem er den Ausdruck mit dem Container 136-140.111 und den Objekten 136-140.112, 136-140.113 und 136-140.114 vergleicht. Wenn das Objekt 136-140.113 später als die Objekte 136-140.112 und 136-140.114 zuletzt geändert wurde, kann der bei 170 empfangene Synchronisationsbefehl auf Berechtigung geprüft werden. Wenn der bei 170 empfangene Synchronisationsbefehl auf Berechtigung geprüft ist, kann das Objekt 136-8 aktualisiert werden. Durch die Nutzung des CSF kann sich die Leistung der Dateisynchronisation im Vergleich mit anderen Sicherheitsverfahren verbessern. Zum Beispiel kann die Nutzung des Inhalts, der zwischen dem ersten Datenspeicher 124 und dem zweiten Datenspeicher 134 synchronisiert wird, die Speicherauslastung verringern, indem sie die Abhängigkeit von zusätzlichen zweckbestimmten Berechtigungsnachweisen eliminiert, die häufig speicherintensiv sind. In einem anderen Beispiel kann die Nutzung des Inhalts, der zwischen dem ersten Datenspeicher 124 und dem zweiten Datenspeicher 134 synchronisiert wird, den allgemeinen Verarbeitungsaufwand verringern, da keine zusätzlichen zweckbestimmten Berechtigungsnachweise, die häufig mathematisch intensiv sind, erzeugt werden müssen.
  • Nun kann ein zweites Beispiel, das mit CSF-Ausführungsformen übereinstimmt, beschrieben werden. Eine Dateisynchronisationsoperation kann auf Grundlage einer Aktualisierung ausgehend vom zweiten Dateisynchronisationsknoten 130 eingeleitet werden. Vor der Synchronisationsoperation kann ein Löschbefehl von einer Client-Einheit 110-4 ausgegeben werden und auf ein Objekt 136-137.189 eines zweiten Datenspeichers 134 gerichtet sein. Das Objekt 136-137.189 kann eine Objektkennung „AD23420381DJL17-38322A“ aufweisen. Der zweite Server 132 kann einen CSF-Ausdruck aus dem Datenspeicher 134 erzeugen. Der CSF-Ausdruck kann mit einem Inhalt vorliegen, den dieselbe Partei besitzt wie die Partei, die das Objekt 136-137.189 besitzt. In einigen Ausführungsformen kann der CSF-Ausdruck mit einem Inhalt vorliegen, den eine andere Entität besitzt als die Partei, die das Objekt 136-137.189 besitzt. Nach Empfang des Befehls und des CSF kann der erste Server 122 das Objekt 126-137.189 aktualisieren. Bei dem Objekt 126-137.189 kann es sich um eine Datei handeln, die einem ersten Benutzer gehört.
  • In Fortsetzung des zweiten Beispiels kann das Format des Befehls, der vom zweiten Dateisynchronisationsknoten 130 an den ersten Dateisynchronisationsknoten 120 gesendet wird, folgendermaßen lauten: „curl-X DELETE -H‟ „Content-Length: 256“ -h „X-Token: abc123pqrs“ -H „X-OBJ-UUID: AD23420381DJL17-38322A“. Der CSF-Ausdruck kann „Beträgt JK12425261DIL17-2243K2 43.781.235 Bytes?“ lauten und kann in Form einer Frage vorliegen. Das Computersystem 100 kann die Ausdrücke rotieren, um eine Wiederholung derselben Ausdrücke zu verhindern. In einigen Ausführungsformen kann das Computersystem 100 ein Wiederverwenden von CSF-Ausdrücken verhindern, indem es sie in eine Liste der kürzlich verwendeten aufnimmt. Die Dateisynchronisationsknoten 120 und 130 können einen CSF erzeugen, indem sie sicherstellen, dass der Ausdruck nicht auf der Liste steht. In einigen Ausführungsformen kann die Liste periodisch aussortiert werden (z.B. durch Entfernen der ältesten Einträge aus der Liste alle dreißig Tage, durch tägliches Löschen aller Einträge, die älter als eine Woche sind, usw.).
  • In einigen Ausführungsformen kann das Computersystem 100 im Vergleich mit anderen Dateisynchronisationsknoten, die keinen CSF verwenden, eine verbesserte Leistung bereitstellen. Ein Dritter könnte die Befehle, die zwischen den Dateisynchronisationsknoten 120 und 130 gesendet werden, abfangen und einsehen. Zum Beispiel kann ein böswilliger Akteur die Löschbefehle überwachen, die vom zweiten Dateisynchronisationsknoten 130 an den ersten Dateisynchronisationsknoten 120 gesendet werden, da sie durch das Internet gesendet werden. Der böswillige Akteur kann den Löschbefehl ändern, indem er das X-OBJ-UUID des Löschbefehls verändert (z.B. aus dem vorherigen Beispiel könnte „AD23420381DJL17-38322A“ in „AD23420381DJL17-38322B“ geändert werden, das zu einer anderen Datei gehören kann). Der böswillige Akteur könnte jedoch nicht einen oder den anderen der Dateisynchronisationsknoten 120 und 130 überzeugen, den Löschbefehl abschließend auszuführen, weil er nicht in der Lage wäre, einen Ausdruck zum synchronen Inhalt bereitzustellen. Da sich der Inhalt des synchronisierten Dateisystems ständig ändert, kann das Computersystem 100 eine verbesserte Sicherheit gegenüber festen Schlüsseln bereitstellen. Selbst wenn ein böswilliger Akteur Zugriff auf einen CSF-Ausdruck erlangen würde, wäre es ebenfalls irrelevant, weil sich der Inhalt geändert hat oder weil der CSF-Ausdruck nicht wiederverwendet wird.
  • 2 ist ein Flussdiagramm eines mit Ausführungsformen übereinstimmenden Verfahrens 200 zum Synchronisieren eines Dateisystems auf Grundlage des synchronisierten Inhalts. Das Verfahren 200 kann durch einen Dateisystemserver oder Datenserver in einem Dateisynchronisationssystem durchgeführt werden. Das Verfahren 200 kann mehr oder weniger Operationen als hierin offenbart beinhalten. Einige Operationen können kontinuierlich oder periodisch durchgeführt werden. Zum Beispiel können die Operationen 210 veranschaulichend jede Sekunde, alle drei Sekunden oder alle sechzehn Millisekunden durchgeführt werden. Einige Operationen des Verfahrens 200 können kombiniert oder getrennt sein. Da bestimmte Dateisynchronisationssysteme eine Mehrzahl von Servern umfassen können, können einige Operationen des Verfahrens 200 durch einen ersten Server durchgeführt werden, und andere Operationen können durch einen zweiten Server durchgeführt werden. In einigen Ausführungsformen kann das Verfahren 200 parallel durch eine Mehrzahl von Servern eines Dateisynchronisationssystems durchgeführt werden.
  • Ab dem Start 205 können ein oder mehrere Dateisynchronisationsanforderungen bei 210 empfangen werden. Die Dateisynchronisationsanforderungen können einen Befehl enthalten, einen oder mehrere Werte in einem Dateisystem im Dateisynchronisationssystem zu aktualisieren. Zum Beispiel kann eine Client-Einheit, die durch ein gemeinsam genutztes Netzwerk verbunden ist, einen oder mehrere Werte aktualisieren. In einigen Ausführungsformen kann die Dateisynchronisationsanforderung direkt oder als Teil einer lokalen Operation erfolgen. Zum Beispiel kann ein Benutzer eines Desktop-Computers eine oder mehrere Dateien lokal auf einer Festplatte aktualisieren, die datenaustauschmäßig mit dem Desktop-Computer verbunden ist und sich physisch im Innern des Desktop-Computers befindet. Die aktualisierten lokalen Dateien können in einen Dateisystem der Festplatte vorliegen, die Teil des Dateisynchronisationssystems ist. Ein im Desktop-Computer ausgeführtes Hintergrundprogramm oder ein Auftrag kann nach dem Aktualisieren der lokalen Daten die Dateisynchronisationsanforderung bei 210 erzeugen. In einigen Ausführungsformen kann die Dateisynchronisationsanforderung indirekt oder aus einer Operation erfolgen, die von einem entfernt angeordneten Knoten eingeleitet wird. Nach Durchführung einer Aktualisierung an einem entfernt angeordneten Knoten eines Dateisynchronisationssystems kann zum Beispiel eine Anforderung empfangen werden, ein Synchronisieren auf einem lokalen Laufwerk durchzuführen.
  • Wenn es sich beim Synchronisieren bei 215 um ein lokal eingeleitetes Synchronisieren handelt, kann bei 220 eine Synchronisationsaktualisierung an andere Knoten im Dateisynchronisationssystem gesendet werden. Zum Beispiel kann ein zweiter Dateisynchronisationsserver bei 220 einen Befehl zum Aktualisieren einer ersten Textdatei auf dem ersten Synchronisationsserver senden, die von einem Benutzer des zweiten Dateisynchronisationsservers aktualisiert wurde. Bei 220 können mehrere Synchronisationsaktualisierungen gesendet werden. Zum Beispiel kann ein bestimmtes Dateisynchronisationssystem sieben Dateisysteme umfassen, die miteinander synchron gehalten werden. In Fortsetzung des Beispiels kann ein fünfter Dateisynchronisationsserver ein fünftes Dateisystemobjekt aktualisiert haben. In weiterer Fortsetzung des Beispiels können bei 220 sechs Synchronisationsaktualisierungen des Dateisystems an die Dateisynchronisationsserver eins, zwei, drei, vier, sechs und sieben gesendet werden.
  • Bei 230 kann ein Ausdruck für einen auf Inhalten beruhenden Sicherheitsfaktor (CSF) erzeugt werden. Der bei 230 erzeugte Ausdruck kann zur Berechtigungsprüfung der bei 220 gesendeten Synchronisationsaktualisierung verwendet werden. Der bei 230 erzeugte Ausdruck kann ein oder mehrere Inhaltselemente im synchronisierten Dateisystem beschreiben. Zum Beispiel kann bei einem Aktualisieren des Dateiservers, die einen Live-Server und einen Sicherungsserver enthält, ein Inhaltselement, das sich auf dem Live-Server befindet, auf dem Sicherungsserver gesichert werden, und bei 230 kann ein beliebiges Inhaltselement zum Erzeugen des Ausdrucks verwendet werden. Der bei 230 erzeugte Ausdruck kann auf einem beliebigen direkten Inhalt des Dateisystems wie einer Datei und einem Ordner beruhen. Der bei 230 erzeugte Ausdruck kann auf einem beliebigen indirekten Inhalt des Dateisystems beruhen - zum Beispiel Inhalt, der in Metadaten einer Datei oder eines Ordners enthalten ist, oder Konteninformationen zu einer Datei oder einem Ordner. Der bei 230 erzeugte Ausdruck kann auf mehreren Inhaltselementen wie einer Reihe von Dateien oder Ordnern oder einer Beziehung zwischen ihnen beruhen. Zum Beispiel eine Beschreibung der zuletzt aktualisierten Metadaten von drei Dateien in einem synchronisierten Dateisystem.
  • Der bei 230 erzeugte Ausdruck kann auf einer vorgegebenen Vorlage beruhen. Die vorgegebenen Vorlagen können zwischen allen Dateisynchronisationsknoten synchronisiert werden. In einigen Ausführungsformen kann die vorgegebene Vorlage von einem Benutzer der auf einem CSF beruhenden Dateisynchronisationssysteme, die mit der Offenbarung übereinstimmen, erzeugt werden. Eine Reihe von Vorlagen ist zum Beispiel in Tabelle 1 offenbart. TABELLE 1
    „ist <ACCT> Eigner des Buckets <CONT> ?"
    „<ACCT> ist Eigner des Objekts <OBJ> ."
    „Ist die Größe von <OBJ> größer als <VAL> ?"
    "ist <OBJ> größer als <OBJ> ?"
    "<OBJ> ist später aktualisiert als <OBJ> ."
    „<OBJ> ist früher aktualisiert als beliebige im Ordner <CONT> ."
  • Gemäß Tabelle 1 können verschiedene Werte, die durch den CSF abrufbar sind, wie folgt dargestellt werden: <ACCT> für Konten, Domains und Vaults; <META> für Metadaten, Tags oder xattr-Informationen; <CONT> für Ordner, Verzeichnisse, Container oder Buckets; <OBJ> für Objekte, Blobs oder Dateien. Einige verwendete Werte können durch <VAL> dargestellt werden. Die Werte können je nach Bedarf auf Grundlage einer Ab- oder Aufrundung erzeugt werden. Die Darstellungen können vom Verfahren 200 genutzt werden, um die richtigen auf Inhalten beruhenden Informationen für das korrekte Erzeugen des CSF auszuwählen. In einigen Ausführungsformen kann der CSF nur Elemente in natürlicher Sprache beinhalten. Beispiel: „,Jennifer' ist Eigner des Objekts ,summer job.csv'.". In einigen Ausführungsformen kann der CSF auch Tags enthalten. Beispiel: „<ACCT>Jennifer</ACCT> ist Eigner des Objekts <OBJ>summer job.csv</OBJ>.“.
  • In einigen Ausführungsformen kann es zusätzliche Berechtigungsprüfschlüssel geben, die zur Ergänzung der CSF-Ausdrücke verwendet werden. Zum Beispiel kann es sein, dass noch nicht viele Dateien oder Ordner zwischen den Dateisynchronisationsknoten synchronisiert sind. Es kann sein, dass noch nicht viele synchrone Informationen vorliegen, weil das Durchführen einer Sicherung gerade erst beginnt. Es kann sein, dass noch nicht viele synchrone Informationen vorliegen, weil ein erstes Dateisystem möglicherweise ziemlich leer ist und das Tiering von Dateien auf andere Dateisynchronisationsknoten möglicherweise nicht umfangreich ist. Bei der Ersteinrichtung des Dateisynchronisationssystems können zusätzliche Berechtigungsprüfschlüssel vorab erzeugt werden und von den Knoten des Dateisynchronisationssystems gemeinsam genutzt werden. Das Erzeugen des Ausdrucks bei 230 kann ein Auswählen eines vorab erzeugten Schlüssels anstelle des Erzeugens eines Ausdrucks auf Grundlage des synchronen Inhalts beinhalten. Wenn das Synchronisationssystem eine bestimmte Anzahl von Inhaltselementen erreicht, die zwischen den Knoten synchronisiert werden, können die vorab erzeugten Schlüssel entfernt werden, um Speicherplatz zu sparen. In einigen Ausführungsformen können die vorab erzeugten Schlüssel nach dem Synchronisieren von 100 Objekten entfernt werden. In einigen Ausführungsformen können die vorab erzeugten Schlüssel nach dem Synchronisieren von 12.000 Objekten entfernt werden.
  • In einigen Ausführungsformen kann die Auswahl des Inhalts, der bei 230 für das Erzeugen des Ausdrucks verwendet wird, auf Grundlage eines oder mehrerer Faktoren des Dateisynchronisationssystems erfolgen. Um zum Beispiel zu gewährleisten, dass der Inhalt des Ausdrucks derselbe ist, kann der Ausdruck auf dem Inhalt beruhen, der nicht kürzlich synchronisiert wurde. In Fortsetzung des Beispiels kann ein Inhalt nicht ausgewählt werden, wenn ein oder mehrere Elemente des synchronisierten Inhalts innerhalb der letzten vierundzwanzig Stunden aktualisiert wurden. Nach Erzeugen des Ausdrucks bei 230 kann der Ausdruck bei 240 an den entfernt angeordneten Dateisynchronisationsknoten gesendet werden. Der Ausdruck kann bei 240 an mehrere entfernt angeordnete Dateisynchronisationsknoten gesendet werden. Nach dem Senden des Ausdrucks bei 240 kann das Verfahren 200 bei 295 enden.
  • Wenn es sich bei der Synchronisation bei 215 nicht um ein lokal eingeleitetes Synchronisieren handelt (z.B. eine entfernte Einleitung des Synchronisierens), kann ein empfangener, auf einem CSF beruhender Ausdruck bei 250 bewertet werden. Der Ausdruck kann bei 250 auf Grundlage einer oder mehrerer Vorlagen bewertet werden, die von den Knoten des synchronisierten Dateisystems gemeinsam genutzt werden. Der Ausdruck kann bei 250 auf Grundlage einer Steuerungsroutine für das Verarbeitung natürlicher Sprache bewertet werden. In Ausführungsformen, in denen noch vorab erzeugte Schlüssel verwendet werden, kann ein Bewerten des Ausdrucks bei 250 auf Grundlage der synchronisierten vorab erzeugten Schlüssel erfolgen. In einigen Ausführungsformen kann das Dateisystem ein oder mehrere Elemente des synchronen Inhalts zwischenspeichern, um die Leistung der Ausdrucksbewertung bei 250 zu gewährleisten. In einem ersten Beispiel kann ein erstes Objekt auf Grundlage einer vorherigen Synchronisationsoperation aktualisiert werden, und der Zustand des Objekts vor der Aktualisierung würde in einen Zwischenspeicher abgelegt. Der Aktualisierungszwischenspeicher kann die Aktualisierungen über einen bestimmten Zeitraum speichern. In einigen Ausführungsformen kann durch den Zeitraum eine erfolgreiche Berechtigungsprüfung nur von gültigen Transaktionen gegen die Realitäten eines wechselnden Satzes von Schlüsseln (z.B. den synchronen Inhalt synchronisierter Dateisysteme) abgewogen werden. In einem ersten Beispiel kann der Zwischenspeicher bei 250 für eine gültige Ausdrucksbewertung für Transaktionen verwendet werden, die dreißig Minuten alt sind. In einem zweiten Beispiel kann bei 250 der Zwischenspeicher für eine gültige Ausdrucksbewertung für Transaktionen verwendet werden, die fünfundvierzig Minuten alt sind.
  • Wenn der Ausdruck bei 255 als gültiger Ausdruck bewertet wird, kann die Synchronisationsoperation bei 260 durchgeführt werden. Die Leistung der Synchronisationsoperation bei 260 kann Schreiben eines oder mehrerer Werte in ein lokales Dateisystem oder eine lokale Datenbank umfassen, die im empfangenen Dateisynchronisationsknoten enthalten sind. Zum Beispiel Veranlassen einer Platten-Steuereinheit, magnetische Bits auf einer oder mehreren Platten der Festplatte umzukehren. Nach einem Ermitteln, ob der Ausdruck bei 255 als gültig bewertet wird (oder dem Durchführen der Synchronisationsoperation bei 260), kann das Verfahren 200 bei 295 enden.
  • In einem ersten Beispiel kann Erzeugen des Ausdrucks bei 230 Auswählen eines ersten Ordners namens „Henry Pictures“ aus einem oder mehreren Inhaltselementen aus einem ersten Dateisystem umfassen. Der erste Ordner kann ein oder mehrere Attribute, darunter ein erstes Attribut, enthalten. Das erste Attribut gibt an, dass es einunddreißig Dateien und Ordner im ersten Ordner gibt. Aus einer Inhaltstabelle wird ein Vorlageneintrag ausgewählt, der die Anzahl der Inhaltselemente in einem Ordner angibt. Das Erzeugen des Ausdrucks bei 230 kann einen ersten Ausdruck ergeben. Der erste Ausdruck sagt aus: ,,,31' Elemente befinden sich im Ordner,Henry Pictures'?" Bei dem Ausdruck kann es sich um einen Ausdruck handeln, der sich bei einer Prüfung und einem Vergleich durch ein zweites Dateisystem als wahr erweist.
  • In einem zweiten Beispiel kann Bewerten des Ausdrucks bei 250 Vergleichen des Inhalts eines zweiten Dateisystems mit einem empfangenen Ausdruck (z.B. dem im ersten Beispiel des vorigen Abschnitts erzeugten Ausdruck) umfassen. Der Ausdruck sagt aus: ,,,31' Elemente befinden sich im Ordner, Henry Pictures'?" Der Ausdruck kann ein erstes Element ,31' und ein zweites Element ,Henry Pictures' und einen Text „_Elemente befinden sich im Ordner _?“ enthalten. Der Ausdruck kann bei 210 als Teil der Dateisynchronisationsanforderung empfangen worden sein. Das Bewerten kann Abrufen eines oder mehrerer Inhaltselemente aus dem zweiten Dateisystem umfassen. Der Ausdruck wird mithilfe einer Verarbeitung natürlicher Sprache zerlegt, um das erste Element und das zweite Element in vergleichbare Elemente umzuwandeln. Das Bewerten kann Abrufen aller Ordner aus dem zweiten Dateisystem beinhalten und Iterieren bei jedem Ordner umfassen, bis eine Übereinstimmung mit „Henry Pictures“ gefunden wird. Nach dem Finden des übereinstimmenden Ordners im zweiten Dateisystem kann durch Abtasten der Attribute des übereinstimmenden Ordners und der Attribute der Metadaten zu dem übereinstimmenden Ordner der Ausdruck als wahr bewertet werden (d.h. es gibt derzeit 31 Elemente im Ordner Henry Pictures).
  • 3 ist ein Flussdiagramm eines mit Ausführungsformen übereinstimmenden Verfahrens 300 zum Durchführen eines Löschvorgangs in einem synchronisierten Dateisystem auf Grundlage des synchronisierten Inhalts. Das Verfahren 300 kann durch einen Dateisystemserver oder Datenserver in einem Dateisynchronisationssystem durchgeführt werden. Das Verfahren 300 kann mehr oder weniger Operationen als hierin offenbart umfassen. Einige Operationen können kontinuierlich oder periodisch durchgeführt werden. Zum Beispiel können die Operationen 310 veranschaulichend jede Sekunde, alle drei Sekunden oder alle sechzehn Millisekunden durchgeführt werden. Einige Operationen des Verfahrens 300 können kombiniert oder getrennt sein. Da bestimmte Dateisynchronisationssysteme eine Mehrzahl von Servern enthalten können, können einige Operationen des Verfahrens 300 durch einen ersten Server durchgeführt werden, und andere Operationen können durch einen zweiten Server durchgeführt werden. In einigen Ausführungsformen kann das Verfahren 300 parallel durch eine Mehrzahl von Servern eines Dateisynchronisationssystems durchgeführt werden. Für Veranschaulichungszwecke wird das Verfahren 300 zwischen einem lokalen Dateisystem und einem entfernt angeordneten Dateisystem beschrieben, und die beiden Dateisysteme werden miteinander synchronisiert.
  • Bei 310 können ein oder mehrere Dateisystembefehle empfangen werden. Die Dateisystembefehle können bei 310 von einem Benutzer eines Computers empfangen werden (z.B. einem Benutzer, der eine neue Bilddatei in einem Ordner im Dateisystem des Computers erstellt). Die Dateisystembefehle können bei 310 auf Grundlage eines automatischen Hintergrundprogramms oder Auftrags empfangen werden. In einigen Ausführungsformen können die Dateisystembefehle auf Grundlage eines Inotify-Frameworks empfangen werden. In einigen Ausführungsformen können die Dateisystembefehle auf Grundlage eines LWE-Frameworks empfangen werden. Der Dateisystembefehl kann in Form einer API vorliegen (z.B. abrufen(), ablegen(), aktualisieren(), löschen()). In einigen Ausführungsformen kann der Dateisystembefehl in Form eines REST-Protokolls vorliegen (z.B. erstellen(), aktualisieren(), lesen(), löschen()). Die Dateisystembefehle können auf ein erstes Inhaltselement im lokalen Dateisystem, das mit anderen synchronen Dateisystemen synchron ist, gerichtet sein.
  • Bei 320 kann die Art des Dateisystembefehls festgestellt werden. Die Art des Dateisystembefehls kann bei 320 auf Grundlage der Art des Protokolls festgestellt werden, das für die Weitergabe von Befehlen verwendet wird. Beispiel: Feststellen, dass die bei 320 empfangenen Befehle REST-Befehle sind, indem die empfangenen Befehle mit einem CURD-Modell verglichen werden. Wenn es sich bei 330 bei dem Dateisystembefehl nicht um Löschen handelt, kann das Verfahren 300 bei 395 enden. Wenn der Dateisystembefehl bei 330 als Löschbefehl festgestellt wird, wird bei 340 verifiziert, dass das zu löschende Inhaltselement synchron ist. Bei einem synchronen Element handelt es sich um ein oder mehrere Elemente in einem Dateisystem, das mit einem oder mehreren zusätzlichen Dateisystemen synchronisiert wird (z.B. eine Datei, die in einer Sicherung des Dateisystems gesichert wird, eine Datei, die in ein Tiering-Dateisystem abgelegt wird, eine durch die Cloud synchronisierte Datei in einem auf Clouds beruhenden Dateispeicherdienst usw.). Ein Element kann bei 340 als synchron verifiziert werden, indem eine Prüfung des durch den Befehl gekennzeichneten Elements durchgeführt wird. In einem ersten Beispiel kann es sich bei dem Element um ein entfernt angeordnetes Element (z.B. Objekt, Container, Metadaten, Domain usw.) eines auf Clouds beruhenden Tiering-Systems handeln. In Fortsetzung des ersten Beispiels kann das im Tiering abgelegte Element in einem Tiering-Speicherformat vorliegen, das durch Zugriff auf den mit dem Tiering-Speicher verbundenen lokalen Speicher erkennbar ist (z.B. ein seriennummerierter Name, der auf das lokale Element hinweist). In einem zweiten Beispiel kann es sich bei dem Element um ein lokales Element handeln, das ein auf dem Tier abgelegtes Äquivalent besitzt. In Fortsetzung des zweiten Beispiels kann das Element im Format eines Stub oder Kurzformobjekts vorliegen, das eine verringerte Größe hat und nur einen Hinweis auf ein entsprechendes auf dem Tier abgelegtes Element enthält.
  • In Fortsetzung des zweiten Beispiels kann es sich um einen direkten (z.B. ein Hinweis auf das entsprechende mit Tiering abgelegte Element) oder indirekten (z.B. auf eine Datenbank hinweisen, die Informationen über das auf dem Tier abgelegte Element enthält) Stub handeln. Der Stub kann zusätzliche Informationen enthalten, wie das zuletzt aktualisierte Datum des Stub oder den entsprechenden synchronisierten Inhalt, der im Hinweis des Stubs dargestellt ist. Der Befehl kann auf ein Element gerichtet sein, das im lokalen Dateisystem gespeichert ist.
  • Wenn ein Element bei 340 als synchron verifiziert wird, kann bei 342 ein erster Berechtigungsprüffaktor an ein sekundäres Dateisystem gesendet werden. Bei dem ersten Berechtigungsprüffaktor kann es sich um einen primären Berechtigungsprüffaktor handeln. In einigen Ausführungsformen kann es sich bei einem primären Berechtigungsprüffaktor um einen Faktor handeln, der von einer oder mehreren Einheiten in einem synchronisierten Dateisystem verwendet wird, um Zugriff auf die eine oder mehreren Einheiten zu erhalten. Bei dem ersten Berechtigungsprüffaktor kann es sich um eine Einzelinformation wie ein Passwort oder eine Passphrase handeln. Bei dem ersten Berechtigungsprüffaktor kann es sich um mehrere Informationen wie einen Benutzernamen und ein Passwort handeln. Der erste Berechtigungsprüffaktor kann separat vom lokalen Dateisystem gespeichert sein (z.B. in einem RSA-Schlüsselanhänger gespeichert, in einer Berechtigungsprüfdatenbank gespeichert, in einem Schlüsselserver gespeichert, der nur in einem sicheren Netzwerk zugänglich ist, usw.). In einigen Ausführungsformen kann der erste Berechtigungsprüffaktor bei 342 über einen ersten Übertragungskanal (z.B. ein erstes Netzwerk, ein drahtloses Netzwerk, ein LAN, ein persönliches Bluetooth™ -Bereichsnetz usw.) gesendet werden. Der erste Berechtigungsprüffaktor kann bei 342 an einen Server gesendet werden, der das entfernt angeordnete Dateisystem betreibt.
  • Nach dem Senden des ersten Berechtigungsprüffaktors bei 342 kann bei 344 ein sekundärer Berechtigungsprüffaktor (CSF) gesendet werden. Der CSF kann bei 344 als Antwort auf eine Anforderung vom empfangenden Synchronisationsserver gesendet werden, der bei 342 den ersten Berechtigungsprüffaktor empfangen hat. Das Senden des CSF bei 344 kann über einen zweiten Übertragungskanal (z.B. ein zweites Netzwerk, ein zweites drahtloses Netzwerk, ein separates LAN, ein anderes persönliches Bereichsnetz usw.) erfolgen.
  • Als Teil des Sendens des CSF bei 344 kann der CSF auf Grundlage des synchronen Inhalts erzeugt werden, der im lokalen Dateisystem enthalten ist. In einigen Ausführungsformen kann der CSF als eine vom Senden des CSF bei 344 unterscheidbare Operation erzeugt werden. Bei dem Inhalt des Dateisystems kann es sich um ein Attribut, einen Deskriptor, eine Eigenschaft, einen Wert oder sonstige Informationen über eine Datei, einen Ordner, Metadaten oder ein Konto bzw. diese beschreibende Informationen handeln. Der Inhalt, der zum Erzeugen des CSF verwendet wird, kann sich auf das Konto beziehen, auf das der Löschbefehl gerichtet ist. In einigen Ausführungsformen kann sich der Inhalt, der zum Erzeugen des CSF verwendet wird, auf ein anderes Konto beziehen (z.B. ein Konto eines zweiten Benutzers, das ebenfalls zwischen einem lokalen Dateisystem und einem entfernt angeordneten Dateisystem synchronisiert wird). Der Inhalt, der zum Erzeugen des CSF verwendet wird, kann vom ersten Berechtigungsprüffaktor unterscheidbar sein (z.B. kein Passwort, kein Benutzername, kein erzeugter RSA-Schlüssel usw.). Der CSF kann ein Ausdruck sein (auch als sprachlicher Ausdruck bezeichnet) wie etwa eine fragende Aussage oder eine erklärende Aussage. Der erzeugte CSF kann bei 344 an den Server gesendet werden, der das entfernt angeordnete Dateisystem betreibt.
  • Nach dem Senden des ersten Berechtigungsprüffaktors bei 342 oder des zweiten Berechtigungsprüffaktors (d.h. des CSF) bei 344, kann bei 346 der Löschbefehl an das entfernt angeordnete Dateisystem gesendet werden. Der Löschbefehl kann bei 346 als Teil des ersten Berechtigungsprüffaktors bei 342 gesendet werden. In einigen Ausführungsformen können der erste Berechtigungsprüffaktor, der zweite Berechtigungsprüffaktor und/oder der Löschbefehl zusammen gesendet werden. Zum Beispiel können Senden des Löschbefehls bei 346 und Senden des CSF bei 344 gleichzeitig stattfinden. In einigen Ausführungsformen können der erste Berechtigungsprüffaktor, der zweite Berechtigungsprüffaktor und/oder der Löschbefehl bei 342, 344 und 346 in einer einzigen Übertragung gesendet werden.
  • Eine Empfangsbestätigung (auch als Bestätigung bezeichnet) kann bei 348 empfangen werden. Die Empfangsbestätigung kann bei 348 als Antwort auf ein Empfangen einer Bestätigung empfangen werden, dass der bei 342 gesendete erste Berechtigungsprüffaktor empfangen wurde. Die Empfangsbestätigung kann bei 348 als Antwort auf ein Empfangen einer Bestätigung empfangen werden, dass der bei 344 gesendete CSF empfangen wurde. Die Empfangsbestätigung kann bei 348 als Antwort auf ein Empfangen einer Bestätigung empfangen werden, dass der bei 346 gesendete Löschbefehl empfangen wurde. Die Empfangsbestätigung kann durch einen oder mehrere Server oder Computer erzeugt werden, die in Verbindung mit dem entfernt angeordneten Dateisystem stehen. Die Empfangsbestätigung kann über den ersten Übertragungskanal, den zweiten Übertragungskanal oder einen zusätzlichen Übertragungskanal empfangen werden. In einigen Ausführungsformen kann die bei 348 empfangene Empfangsbestätigung angeben, dass der erste Berechtigungsprüffaktor bei 342 oder der CSF bei 344 den bei 346 gesendeten Löschbefehl nicht als berechtigt beurteilt.
  • Bei 350 kann der Löschbefehl im lokalen Dateisystem ausgeführt werden. Der Löschbefehl kann bei 350 nach Senden der verschiedenen Komponenten an das entfernt angeordnete Dateisystem bei 342, 344 oder 346 oder nach der Empfangsbestätigung 348 ausgeführt werden. Der Löschbefehl kann bei 350 ausgeführt werden, wenn festgestellt wird, dass der Löschbefehl nicht auf synchronen Inhalt 340 gerichtet ist. Nach Ausführen des Löschbefehls bei 350 im lokalen Dateisystem kann das Verfahren 300 bei 395 enden.
  • 4 stellt die repräsentativen Hauptkomponenten eines beispielhaften Computersystems 401 dar, das gemäß Ausführungsformen der vorliegenden Offenbarung genutzt werden kann. Es ist ersichtlich, dass einzelne Komponenten in der Komplexität, Anzahl, Art und/oder Konfiguration variieren können. Die offenbarten besonderen Beispiele sind nur für Beispielzwecke gedacht und sind nicht zwangsläufig die einzigen derartigen Varianten. Das Computersystem 401 kann einen Prozessor 410, einen Hauptspeicher 420, eine Eingabe/Ausgabe-Schnittstelle (hier E/A oder E/A-Schnittstelle) 430 und einen Hauptbus 440 aufweisen. Der Hauptbus 440 kann Datenaustauschwege für die anderen Komponenten des Computersystems 401 bereitstellen. In einigen Ausführungsformen kann der Hauptbus 440 mit anderen Komponenten wie einem spezialisierten Digitalsignalprozessor (nicht abgebildet) verbunden sein.
  • Der Prozessor 410 des Computersystems 401 kann aus einem oder mehreren Kernen 412A, 412B, 412C, 412D (gemeinsam 412) bestehen. Der Prozessor 410 kann zusätzlich einen oder mehrere Speicherpuffer oder Zwischenspeicher (nicht abgebildet) enthalten, die eine vorübergehende Speicherung von Anweisungen und Daten für die Kerne 412 bereitstellen. Die Kerne 412 können Anweisungen zu Eingaben, die von den Zwischenspeichern oder vom Hauptspeicher 420 bereitgestellt werden, ausführen und die Ergebnisse in Zwischenspeicher oder den Hauptspeicher ausgeben. Die Kerne 412 können aus einem oder mehreren Schaltkreisen bestehen, die so konfiguriert sind, dass sie ein oder mit Ausführungsformen konsistente Verfahren durchführen. In einigen Ausführungsformen kann das Computersystem 401 mehrere Prozessoren 410 enthalten. In einigen Ausführungsformen kann es sich bei dem Computersystem 401 um einen Einzelprozessor 410 mit einem einzelnen Kern 412 handeln.
  • Der Hauptspeicher 420 des Computersystems 401 kann eine Speichersteuereinheit 422 beinhalten. In einigen Ausführungsformen kann der Hauptspeicher 420 einen Halbleiter-Direktzugriffsspeicher, eine Speichereinheit oder ein Speichermedium (entweder flüchtig oder nichtflüchtig) zum Speichern von Daten und Programmen aufweisen. In einigen Ausführungsformen kann der Hauptspeicher in Form von Modulen vorliegen (z.B. Dual-Inline-Speichermodule). Die Speichersteuereinheit 422 kann mit dem Prozessor 410 Daten austauschen, was Speichern in und Abrufen von Informationen aus dem Hauptspeicher 420 ermöglicht. Die Speichersteuereinheit 422 kann mit der E/A-Schnittstelle 430 Daten austauschen, was Speichern in und Abrufen von Eingaben und Ausgaben aus dem Hauptspeicher 420 ermöglicht.
  • Die E/A-Schnittstelle 430 kann einen E/A-Bus 450, eine Terminalschnittstelle 452, eine Speicherschnittstelle 454, eine E/A-Einheiten-Schnittstelle 456 und eine Netzwerkschnittstelle 458 aufweisen. Die E/A-Schnittstelle 430 kann den Hauptbus 440 mit dem E/A-Bus 450 verbinden. Die E/A-Schnittstelle 430 kann Anweisungen und Daten aus dem Prozessor 410 und dem Hauptspeicher 420 an die verschiedenen Schnittstellen des E/A-Busses 450 richten. Die E/A-Schnittstelle 430 kann auch Anweisungen und Daten aus den verschiedenen Schnittstellen des E/A-Busses 450 an den Prozessor 410 und den Hauptspeicher 420 richten. Die verschiedenen Schnittstellen können die Terminalschnittstelle 452, die Speicherschnittstelle 454, die E/A-Einheiten-Schnittstelle 456 und eine Netzwerkschnittstelle 458 aufweisen. In einigen Ausführungsformen können die verschiedenen Schnittstellen eine Teilmenge der oben genannten Schnittstellen enthalten (z.B. enthält ein eingebettetes Computersystem in einer industriellen Anwendung die Terminalschnittstelle 452 und die Speicherschnittstelle 454 möglicherweise nicht).
  • Logikmodule im gesamten Computersystem 401 - darunter der Hauptspeicher 420, der Prozessor 410 und die E/A-Schnittstelle 430, ohne auf diese beschränkt zu sein - können Daten zu Ausfällen und Änderungen eines oder mehrerer Komponenten mit einem Hypervisor bzw. einem Betriebssystem (nicht abgebildet) austauschen. Der Hypervisor bzw. das Betriebssystem kann die verschiedenen Ressourcen, die im Computersystem 401 verfügbar sind, zuordnen und den Ort der Daten im Hauptspeicher 420 und der verschiedenen Kernen 412 zugewiesenen Prozesse nachverfolgen. In Ausführungsformen, die Elemente kombinieren oder neu anordnen, können Aspekte und Fähigkeiten der Logikmodule kombiniert oder neu verteilt sein. Diese Varianten wären für den Fachmann ersichtlich.
  • Es sei von vornherein klargestellt, dass diese Offenbarung zwar eine ausführliche Beschreibung von Cloud-Computing enthält, ein Umsetzen der hierin angeführten Lehren jedoch nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften enthalten, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 5 ist die veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 1 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Nun unter Bezugnahme auf 6 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (1) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in den 1, 2 und 3 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
    • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC-(Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen beinhalten Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
  • Die Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann die Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen umfassen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Sicherheit und Berechtigungsprüfung 96.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Einzelebene der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zum Ausführen von Anweisungen halten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Ausführen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden für Veranschaulichungszwecke dargestellt, sollen aber nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Modifikationen und Variationen werden für den Fachmann offensichtlich sein, ohne vom Umfang der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber am Markt befindlichen Technologien am besten zu erläutern oder den normalen Fachmann zu befähigen, die hier offenbarten Ausführungsformen zu verstehen.

Claims (22)

  1. Verfahren, das aufweist: Senden eines Dateisystembefehls, der auf ein zweites Objekt eines zweiten Dateisystems gerichtet ist, durch einen ersten Prozessor und zum Synchronisieren durch einen zweiten Prozessor, wobei das zweite Objekt mit einem ersten Objekt eines ersten Dateisystem synchronisiert wird; und Senden eines Ausdrucks an das zweite Dateisystem durch den ersten Prozessor und zur Berechtigungsprüfung durch den zweiten Prozessor, wobei der Ausdruck auf Grundlage eines dritten Objekts des ersten Dateisystems erzeugt wird, wobei das dritte Objekt mit einem vierten Objekt des zweiten Dateisystems synchronisiert wird.
  2. Verfahren nach Anspruch 1, wobei die Synchronisierung des dritten Objekts mit dem vierten Objekt des zweiten Dateisystems auf Grundlage eines Empfangens einer Aktualisierung des dritten Objekts erfolgt und wobei das vierte Objekt nach Empfangen einer Aktualisierung des vierten Objekts mit dem dritten Objekt des ersten Dateisystems synchronisiert wird.
  3. Verfahren nach Anspruch 1, wobei es sich bei dem Ausdruck um einen sekundären Berechtigungsprüffaktor handelt und wobei das Verfahren ferner aufweist: Senden eines primären Berechtigungsprüffaktors durch den ersten Prozessor und zur Berechtigungsprüfung durch den zweiten Prozessor.
  4. Verfahren nach Anspruch 1, wobei es sich bei dem dritten Objekt des ersten Dateisystems nicht um ein Passwort handelt.
  5. Verfahren nach Anspruch 1, wobei es sich bei dem dritten Objekt des ersten Dateisystems um ein Attribut handelt, das die Anzahl der Dateien in einem ersten Ordner des ersten Dateisystems beschreibt.
  6. Verfahren nach Anspruch 1, wobei es sich bei dem dritten Objekt des ersten Dateisystems um einen Metadatenwert handelt.
  7. Verfahren nach Anspruch 1, wobei das Verfahren ferner aufweist: Durchsuchen des ersten Dateisystems nach einem dritten Objekt, wobei das dritte Objekt ein anderes als das erste Objekt ist; Erkennen, dass das dritte Objekt mit einem vierten Objekt des zweiten Dateisystems synchronisiert wird; Ermitteln eines Attributs des dritten Objekts; und Erzeugen einer Frage zum Attribut und dem dritten Objekt, wobei die Frage sich auf Grundlage einer Analyse durch das zweite Dateisystem als wahr erweist.
  8. Tiering-Dateisystem, das aufweist: einen ersten Hauptspeicher; eine erste Speichereinheit, wobei die erste Speichereinheit ein erstes Dateisystem mit einem oder mehreren Erstdateisystemobjekten enthält; einen ersten Prozessor, wobei der erste Prozessor datenaustauschmäßig mit dem ersten Hauptspeicher und der ersten Speichereinheit verbunden ist, wobei der erste Prozessor konfiguriert ist zum: Empfangen eines ersten Dateisystembefehls; Erkennen, dass der erste Dateisystembefehl auf ein erstes Objekt des ersten Dateisystems gerichtet ist, das mit einem zweiten Objekt eines zweiten Dateisystems synchronisiert wird; Abrufen einer oder mehrerer Berechtigungsnachweise auf Grundlage des Erkennens; Erkennen, dass der erste Dateisystem-Zugriffsbefehl ein Löschbefehl ist; Erzeugen eines sprachlichen Ausdrucks zum ersten Dateisystem auf Grundlage des Erkennens; und Bereitstellen des sprachlichen Ausdrucks, der Berechtigungsnachweise an das zweite Dateisystem und eines zweiten Löschbefehls an das zweite Dateisystem.
  9. Tiering-Dateisystem nach Anspruch 8, wobei das Tiering-Dateisystem ferner aufweist: einen zweiten Hauptspeicher; eine zweite Speichereinheit, wobei die zweite Speichereinheit ein zweites Dateisystem mit einem oder mehreren Zweitdateisystemobjekten enthält, das mit dem ersten Dateisystem synchronisiert wird; einen zweiten Prozessor, wobei der zweite Prozessor datenaustauschmäßig mit dem zweiten Hauptspeicher und der zweiten Speichereinheit verbunden ist, wobei der zweite Prozessor konfiguriert ist zum: Empfangen des bereitgestellten zweiten Löschbefehls; Validieren des zweiten Löschbefehls auf Grundlage der Berechtigungsnachweise auf Grundlage des empfangenen zweiten Löschbefehls; Vergleichen des sprachlichen Ausdrucks mit dem zweiten Dateisystem; Verifizieren des zweiten Löschbefehls auf Grundlage des Vergleichs; und Löschen des zweiten Objekts des einen oder der mehreren Objekte des zweiten Dateisystems auf Grundlage des validierten und verifizierten Löschbefehls.
  10. System, das aufweist: einen Hauptspeicher; und einen Prozessor, wobei der Prozessor datenaustauschmäßig mit dem Hauptspeicher verbunden ist, wobei der Prozessor dazu konfiguriert ist, ein Verfahren durchzuführen, wobei das Verfahren aufweist: Senden eines Dateisystembefehls, der auf ein zweites Objekt eines zweiten Dateisystems gerichtet ist, durch einen ersten Prozessor und zum Synchronisieren durch einen zweiten Prozessor, wobei das zweite Objekt mit einem ersten Objekt eines ersten Dateisystem synchronisiert wird; und Senden eines Ausdrucks an das zweite Dateisystem durch den ersten Prozessor und zur Berechtigungsprüfung durch den zweiten Prozessor, wobei der Ausdruck auf Grundlage eines dritten Objekts des ersten Dateisystems erzeugt wird, wobei das dritte Objekt mit einem vierten Objekt des zweiten Dateisystems synchronisiert wird.
  11. System nach Anspruch 10, wobei das Synchronisieren des dritten Objekts mit dem vierten Objekt des zweiten Dateisystems auf Grundlage eines Empfangens einer Aktualisierung des dritten Objekts erfolgt und wobei das vierte Objekt nach Empfangen einer Aktualisierung des vierten Objekts mit dem dritten Objekt des ersten Dateisystems synchronisiert wird.
  12. System nach Anspruch 10, wobei es sich bei dem Ausdruck um einen sekundären Berechtigungsprüffaktor handelt und wobei das Verfahren ferner aufweist: Senden eines primären Berechtigungsprüffaktors durch den ersten Prozessor und zur Berechtigungsprüfung durch den zweiten Prozessor.
  13. System nach Anspruch 10, wobei es sich bei dem dritten Objekt des ersten Dateisystems nicht um ein Passwort handelt.
  14. System nach Anspruch 10, wobei es sich bei dem dritten Objekt des ersten Dateisystems um ein Attribut handelt, das die Anzahl der Dateien in einem ersten Ordner des ersten Dateisystems beschreibt.
  15. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit dadurch verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen: einen Dateisystembefehl zu senden, der auf ein zweites Objekt eines zweiten Dateisystems gerichtet ist, durch einen ersten Prozessor und durch einen zweiten Prozessor zu synchronisieren, wobei das zweite Objekt mit einem ersten Objekt eines ersten Dateisystem synchronisiert wird; und einen Ausdruck an das zweite Dateisystem durch den ersten Prozessor und zur Berechtigungsprüfung durch den zweiten Prozessor zu senden, wobei der Ausdruck auf Grundlage eines dritten Objekts des ersten Dateisystems erzeugt wird, wobei das dritte Objekt mit einem vierten Objekt des zweiten Dateisystems synchronisiert wird.
  16. Computerprogrammprodukt nach Anspruch 15, wobei das Synchronisieren des dritten Objekts mit dem vierten Objekt des zweiten Dateisystems auf Grundlage eines Empfangens einer Aktualisierung des dritten Objekts erfolgt und wobei das vierte Objekt nach Empfangen einer Aktualisierung des vierten Objekts mit dem dritten Objekt des ersten Dateisystems synchronisiert wird.
  17. Computerprogrammprodukt nach Anspruch 15, wobei es sich bei dem Ausdruck um einen sekundären Berechtigungsprüffaktor handelt und die Programmanweisungen durch den Computer ausführbar sind, um den Computer zu veranlassen: einen primären Berechtigungsprüffaktors durch den ersten Prozessor und zur Berechtigungsprüfung durch den zweiten Prozessor zu senden.
  18. Computerprogrammprodukt nach Anspruch 15, wobei es sich bei dem dritten Objekt des ersten Dateisystems nicht um ein Passwort handelt.
  19. Computerprogrammprodukt nach Anspruch 15, wobei es sich bei dem dritten Objekt des ersten Dateisystems um ein Attribut handelt, das die Anzahl der Dateien in einem ersten Ordner des ersten Dateisystems beschreibt.
  20. Computerprogrammprodukt nach Anspruch 15, wobei es sich bei dem dritten Objekt des ersten Dateisystems um einen Metadatenwert handelt.
  21. Verfahren, das aufweist: Empfangen eines ersten Dateisystembefehls; Erkennen, dass der erste Dateisystembefehl auf ein erstes Objekt eines ersten Dateisystems gerichtet ist, das mit einem zweiten Objekt eines zweiten Dateisystems synchronisiert wird; Abrufen einer oder mehrerer Berechtigungsnachweise auf Grundlage des Erkennens; Erkennen, dass der erste Dateisystem-Zugriffsbefehl ein Löschbefehl ist; Erzeugen eines sprachlichen Ausdrucks zum ersten Dateisystem auf Grundlage des Erkennens; und Bereitstellen des sprachlichen Ausdrucks, der Berechtigungsnachweise an das zweite Dateisystem und eines zweiten Löschbefehls an das zweite Dateisystem.
  22. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit dadurch verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen, ein Verfahren nach Anspruch 21 auszuführen.
DE112018004008.9T 2017-10-12 2018-09-19 Auf dateisysteminhalten beruhende sicherheit Active DE112018004008B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/730,794 US10467424B2 (en) 2017-10-12 2017-10-12 File system content based security
US15/730,794 2017-10-12
PCT/IB2018/057213 WO2019073324A1 (en) 2017-10-12 2018-09-19 SECURITY BASED ON THE CONTENT OF A FILE SYSTEM

Publications (2)

Publication Number Publication Date
DE112018004008T5 DE112018004008T5 (de) 2020-04-23
DE112018004008B4 true DE112018004008B4 (de) 2021-04-29

Family

ID=66097492

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018004008.9T Active DE112018004008B4 (de) 2017-10-12 2018-09-19 Auf dateisysteminhalten beruhende sicherheit

Country Status (6)

Country Link
US (1) US10467424B2 (de)
JP (1) JP7117062B2 (de)
CN (1) CN111201763B (de)
DE (1) DE112018004008B4 (de)
GB (1) GB2580005B (de)
WO (1) WO2019073324A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180335902A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Techniques for dynamically displaying relevant files for selection
US11070540B1 (en) * 2018-12-28 2021-07-20 Juniper Networks, Inc. Dynamic provisioning of user groups within computer networks based on user attributes
US11516220B1 (en) 2018-12-28 2022-11-29 Juniper Networks, Inc. Creating roles and controlling access within a computer network
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11153315B2 (en) 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11165777B2 (en) 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
CN111259412B (zh) * 2020-01-09 2023-12-05 远景智能国际私人投资有限公司 权限控制方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150249647A1 (en) * 2014-02-28 2015-09-03 Dropbox, Inc. Advanced security protocol for broadcasting and synchronizing shared folders over local area network
WO2017165656A1 (en) * 2016-03-24 2017-09-28 Document Dynamics, Llc Securing cloud drives using environment-aware security tokens

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101585A (en) * 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6430576B1 (en) * 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
US6385623B1 (en) * 1999-11-12 2002-05-07 Dell Usa, L.P. System and method for ensuring proper execution of scheduled file updates
US7216289B2 (en) * 2001-03-16 2007-05-08 Microsoft Corporation Method and apparatus for synchronizing multiple versions of digital data
US20090037492A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Framework for Synchronizing Applications
US20090150569A1 (en) * 2007-12-07 2009-06-11 Avi Kumar Synchronization system and method for mobile devices
US20090248737A1 (en) * 2008-03-27 2009-10-01 Microsoft Corporation Computing environment representation
CN101567858B (zh) 2008-04-21 2011-04-27 联想(北京)有限公司 一种数据同步的方法和系统
WO2009132261A1 (en) * 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
US9069599B2 (en) 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
CN101702732A (zh) 2009-09-23 2010-05-05 中兴通讯股份有限公司 一种文件同步方法及文件同步系统
CN101706802B (zh) 2009-11-24 2013-06-05 成都市华为赛门铁克科技有限公司 一种数据写入、修改及恢复的方法、装置及服务器
US9560130B2 (en) * 2010-09-30 2017-01-31 Microsoft Technology Licensing, Llc Presenting availability statuses of synchronized objects
US9235593B2 (en) 2010-09-30 2016-01-12 Emc Corporation Transmitting filesystem changes over a network
US20130138615A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Synchronizing updates across cluster filesystems
US20130238552A1 (en) 2012-03-12 2013-09-12 Joseph Saib Systems and methods for synchronizing files in a networked communication system
US8539567B1 (en) 2012-09-22 2013-09-17 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers
US9251114B1 (en) 2012-10-12 2016-02-02 Egnyte, Inc. Systems and methods for facilitating access to private files using a cloud storage system
US9298391B2 (en) 2012-12-19 2016-03-29 Dropbox, Inc. Application programming interfaces for data synchronization with online storage systems
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
CA2933821C (en) 2013-12-13 2023-02-28 Perkinelmer Informatics, Inc. System and method for uploading and management of contract-research-organization data to a sponsor company's electronic laboratory notebook
US9792180B2 (en) * 2014-05-01 2017-10-17 Datiphy Inc. Intelligent backup and restore system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150249647A1 (en) * 2014-02-28 2015-09-03 Dropbox, Inc. Advanced security protocol for broadcasting and synchronizing shared folders over local area network
WO2017165656A1 (en) * 2016-03-24 2017-09-28 Document Dynamics, Llc Securing cloud drives using environment-aware security tokens

Also Published As

Publication number Publication date
GB2580005B (en) 2020-12-16
US20190114440A1 (en) 2019-04-18
GB2580005A (en) 2020-07-08
GB202006207D0 (en) 2020-06-10
CN111201763A (zh) 2020-05-26
CN111201763B (zh) 2022-06-24
US10467424B2 (en) 2019-11-05
DE112018004008T5 (de) 2020-04-23
JP2020537246A (ja) 2020-12-17
JP7117062B2 (ja) 2022-08-12
WO2019073324A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
DE112018004008B4 (de) Auf dateisysteminhalten beruhende sicherheit
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
DE112018005348T5 (de) Optimierung der durchführung einer hohen anzahl von transaktionen auf einer blockchain
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112012005032T5 (de) Entfernen der Datenremanenz in deduplizierten Speicher-Clouds
DE112013001308T5 (de) Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung
DE112021002797T5 (de) Datenschutzerhaltende architektur für genehmigungspflichtige blockchains
DE112010004931T5 (de) Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten(
DE112019006667T5 (de) Nutzen von blockchaintechnologie zum prüfen eines cloud-dienstes für die datenschutzkonformität
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE102021127254A1 (de) Inhaltssensitives Auswählen von Knoten zum Erstellen von Containern
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
DE112020002164T5 (de) Sichere datenspeicherung auf der grundlage von verschleierung durch verteilung
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE102019005368A1 (de) Verbessern der Konfliktbereinigung innerhalb von synchronisierten konstituententeilbasierten Digitalassets
DE112018000227B4 (de) Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
DE112021004008T5 (de) Validieren von verfolgten abschnitten von empfangenen sensordaten mithilfe von kryptographischer computerverarbeitung
DE112018004138T5 (de) Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer
DE102021130358A1 (de) E/a-operationen in log-strukturierten arrays
DE102022108863A1 (de) Sicherung von daten für einen namensraum, der einem mandanten zugeordnet ist
DE112017002144T5 (de) Manipulieren eines verteilten Vereinbarungsprotokolls zum Identifizieren einer gewünschten Gruppe von Speichereinheiten
DE112021000408T5 (de) Prädiktives bereitstellen von fern gespeicherten dateien
DE112019000399T5 (de) Schnelle wiederherstellung nach ausfällen in einem chronologisch geordneten log-strukturierten schlüssel-wert-speichersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: G06F0016178000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final