DE102016015536A1 - Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie - Google Patents

Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie Download PDF

Info

Publication number
DE102016015536A1
DE102016015536A1 DE102016015536.1A DE102016015536A DE102016015536A1 DE 102016015536 A1 DE102016015536 A1 DE 102016015536A1 DE 102016015536 A DE102016015536 A DE 102016015536A DE 102016015536 A1 DE102016015536 A1 DE 102016015536A1
Authority
DE
Germany
Prior art keywords
files
directory
similarity
vector
vector representation
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.)
Pending
Application number
DE102016015536.1A
Other languages
English (en)
Inventor
Nedim Lipka
Tim Gollub
Eunyee Koh
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102016015536A1 publication Critical patent/DE102016015536A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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/23Updating
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Abstract

Beschrieben werden Verfahren und Systeme zum automatischen Organisieren von Verzeichnishierarchien und systematischen Etikettieren von einzelnen Verzeichnissen. Überschreitet die Anzahl von Dateien in einem ersten Verzeichnis eine Maximalanzahl von Dateien, so wird ein zweites Verzeichnis erstellt. Die Dateien, die vorher nur in dem ersten Verzeichnis angeordnet waren, werden sowohl in dem ersten Verzeichnis wie auch dem zweiten Verzeichnis derart angeordnet, dass die Schwellenanzahl von Dateien in jedwedem von den ersten und zweiten Verzeichnissen nicht überschritten wird. Das Organisieren der Dateien in den ersten und zweiten Verzeichnissen verwendet Vektordarstellungen einer jeden der Dateien mit Erzeugung durch das System derart, dass bei Organisierung die ersten und zweiten Verzeichnisse jeweils Dateien mit ähnlichem Inhalt beinhalten. Es werden Etiketten für jedes der Verzeichnisse auf Grundlage eines Vergleichs zwischen einer Vektordarstellung der kollektiven Inhalte eines jeden Verzeichnisses und Vektordarstellungen von Titeln in einer Datenbank ausgewählt.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft allgemein das Speichern und Organisieren von elektronischen Dateien in einem elektronischen Speichersystem. Insbesondere stellt die vorliegende Offenbarung auf das Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie ab.
  • Hintergrund
  • Im Allgemeinen werden elektronisch gespeicherte Dateien in einer Nutzerschnittstelle als in einer Hierarchie von Verzeichnissen gespeichert präsentiert. Die Verzeichnisse sind in der Nutzerschnittstelle oftmals als Ordner dargestellt, wobei die Hierarchie häufig als Reihe von Unterordnern, die in einem oder mehreren anderen Ordnern „eingeschachtelt” sind, dargestellt ist. Unabhängig von der Art der Darstellung können Verzeichnisse eine Sammlung von Dateien oder Unterordnern darstellen, die zunehmend eingeengte Themengebiete umfassen. So kann beispielsweise ein „auf einer oberen Ebene angesiedeltes” oder „Eltern”-Verzeichnis alle Abteilungen in einer Unternehmensentität betreffen. Die nächste Ebene von Unterverzeichnissen (beispielsweise „Kinder”-Verzeichnisse, die Themen betreffen, deren Umfang enger als im Elternverzeichnis ist) in dem Elternverzeichnis kann Verzeichnisse beinhalten, die jeweils einer einzelnen Abteilung in der Unternehmensentität entsprechen. Auf ähnliche Weise kann die nächste Ebene von Unterverzeichnissen in jedem abteilungsspezifischen Unterverzeichnis für jeden einzelnen Angestellten in der entsprechenden Abteilung Unterverzeichnisse beinhalten, in denen Dateien im Zusammenhang mit dem entsprechenden Angestellten gespeichert sind. Die Hierarchie von verschachtelten Verzeichnissen, Unterverzeichnissen und Dateien ermöglicht ein intuitives Fortschreiten von allgemeinen Themen zu spezielleren Themen, was das Speichern und Lokalisieren der Dateien erleichtert.
  • Kurzbeschreibung der Zeichnung
  • 1 zeigt schematisch das Verteilen von Dateien in einem ersten Verzeichnis sowohl auf das erste Verzeichnis wie auch auf ein neuerstelltes zweites Verzeichnis derart, dass die Anzahl von Dateien in jedem Verzeichnis unterhalb einer Schwelle ist, entsprechend einer Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Flussdiagramm zur Darstellung eines Verfahrens zum Organisieren von Dateien unter Verwendung einer Vektordarstellung der Dateien entsprechend einer Ausführungsform der vorliegenden Offenbarung.
  • 3 ist ein Flussdiagramm zur Darstellung eines Verfahrens zum Benennen von Verzeichnissen auf Grundlage einer Ähnlichkeit zwischen einer Vektordarstellung des Inhalts in dem Verzeichnis und einer Vektordarstellung von Artikeltiteln in einer Datenbank, bei einer Ausführungsform der vorliegenden Offenbarung.
  • 4 zeigt schematisch ein Suchverfahren, bei dem eine oder mehrere Dateien ausgewählt werden und eine Vektordarstellung der ausgewählten einen oder mehreren Dateien als Suchkriterium für semantisch ähnlichen Inhalt verwendet wird, bei einer Ausführungsform der vorliegenden Offenbarung.
  • 5 ist ein Flussdiagramm zur Darstellung eines Verfahrens zum Suchen nach Inhalt eines Speichersystems durch Auswählen einer oder mehrerer Dateien und/oder Verzeichnisse und Erzeugen einer Vektordarstellung der ausgewählten Dateien und/oder Verzeichnisse zur Verwendung als Suchbegriff entsprechend einer Ausführungsform der vorliegenden Offenbarung.
  • 6A ist ein Blockdiagramm einer ein Dateiorganisationssystem beinhaltenden verteilten Verarbeitungsumgebung entsprechend einer Ausführungsform der vorliegenden Offenbarung.
  • 6B ist ein Blockdiagramm eines Dateiorganisationssystems mit Konfigurierung zum Organisieren einer Verzeichnishierarchie und von Dateien in der Verzeichnishierarchie entsprechend einer Ausführungsform der vorliegenden Offenbarung.
  • Die Figuren zeigen verschiedene Ausführungsformen der vorliegenden Offenbarung lediglich zu darstellerischen Zwecken. Verschiedene Abwandlungen, Ausgestaltungen und andere Ausführungsformen erschließen sich aus der nachfolgenden Detailbeschreibung.
  • Detailbeschreibung
  • Beschrieben werden Verfahren und Systeme mit Verwendung zum systematischen Organisieren von Verzeichnishierarchien bei Hinzufügen von Dateien zu einem Dateispeichersystem auf Grundlage des semantischen Inhalts der Dateien und Verzeichnisse. Beschrieben werden zudem Verfahren und Systeme, die einzelne Verzeichnisse systematisch auf Grundlage des semantischen Inhalts der in den einzelnen Verzeichnissen gespeicherten Dateien etikettieren.
  • Sobald eine digitale Datei in einem Verzeichnis (oder Unterverzeichnis) einer Verzeichnishierarchie in einem digitalen Speichersystem gespeichert wird, haben Nutzer, die zu einem späteren Zeitpunkt versuchen, die gespeicherte Datei abzurufen, oftmals Probleme mit dem Lokalisieren der Datei. Ein Nutzer, der die Datei abzurufen versucht, weiß beispielsweise gegebenenfalls den Namen der Datei oder des Verzeichnisses (oder Unterverzeichnisses), in dem die Datei gespeichert ist, nicht. Dieses Problem verstärkt sich, wenn die Anzahl von Nutzern eines Dateisystems zunimmt, da Benennungskonventionen, die von verschiedenen Nutzern zur Benennung von Dateien und Verzeichnissen verwendet werden, von einem Nutzer zum anderen sehr verschieden sein können. Zudem kann die Organisation einer Verzeichnishierarchie (beispielsweise die Erstellung von verschachtelten Unterverzeichnissen und Verzeichnissen), die von einem Nutzer in dem System erstellt wird, ebenfalls von einem Nutzer zum anderen stark verschieden sein. Darüber hinaus kann die Entscheidung, an welchem Ort in der Hierarchie welche Datei gespeichert wird, ebenfalls von einem Nutzer zum anderen sehr verschieden sein. Aufgrund dieser Ursachen ist es schwierig, eine Datei in einem Speichersystem mit vielen Nutzern ausfindig zu machen.
  • Die Schwierigkeiten beim Ausfindigmachen einer gewünschten Datei verstärken sich zudem, wenn die Anzahl von gespeicherten Dateien, die Anzahl von Verzeichnissen und die Komplexität von Verzeichnishierarchien zunehmen. Dies rührt daher, dass mehr Speicherorte für jede Datei möglich sind. Verteilte Rechenumgebungen, so beispielsweise „Cloud”-Rechenumgebungen, stellen ein weiteres Problem dar, da die Dateien in einigen Fällen nicht nur in Verzeichnissen und Unterverzeichnissen einer Hierarchie in einem einzigen Speichersystem, sondern in verschiedenen Cloudrechensystemen, von denen jedes eine eigene Hierarchie aufweist, verteilt sein können.
  • Obwohl die Verwendung einer Schlüsselwortsuchfunktion in einigen Fällen beim Ausfindigmachen einer Datei von Nutzen sein kann, ist ein solches Verfahren gegebenenfalls ungeeignet. Ob eine Schlüsselwortsuche beim Ausfindigmachen einer Datei effektiv ist, hängt von den vom Ersteller der Datei verwendeten Worten ab, das heißt, es hängt davon ab, ob das gesuchte Schlüsselwort in der Datei vorhanden ist. Dateien, in denen das gesuchte Schlüsselwort (oder die Schlüsselwörter) fehlen, werden bei der Suche nicht identifiziert. Gleichermaßen problematisch ist eine Situation, in der das gesuchte Schlüsselwort von Nutzern in verschiedenen Kontexten gemeinsam verwendet wird. In diesem Fall werden zu viele Dateien ausfindig gemacht, und die Suche ist mit Blick auf ihr Ergebnis wahrscheinlich nicht effektiv.
  • Um diese Probleme anzugehen, beinhalten einige Ausführungsformen der vorliegenden Offenbarung Verfahren zum Organisieren von Verzeichnishierarchien und zum systematischen Etikettieren von einzelnen Verzeichnissen. Zum Organisieren einer Verzeichnishierarchie bei Hinzufügung von neuen Dateien wird beispielsweise eine Maximalanzahl (nachstehend als „Schwelle” bezeichnet) von Dateien, deren Speicherung in einem Verzeichnis zulässig ist, für Verzeichnisse in einem Speichersystem eingestellt. Wird in dem ersten Verzeichnis die Schwellenanzahl von Dateien beispielsweise durch Hinzufügen einer Datei zur Speicherung in dem ersten Verzeichnis überschritten, so wird ein zweites Verzeichnis erstellt. Das zweite Verzeichnis kann entweder ein Unterverzeichnis des ersten Verzeichnisses oder ein Verzeichnis auf derselben organisationstechnischen „Ebene” in der Hierarchie sein. Die Dateien, die bislang nur in dem ersten Verzeichnis gespeichert sind, werden sowohl in dem ersten Verzeichnis wie auch in dem zweiten Verzeichnis derart organisiert, dass die Schwellenanzahl von Dateien in jedwedem der ersten oder zweiten Verzeichnisse nicht überschritten wird.
  • Organisiert werden die Dateien unter Verwendung von Vektordarstellungen einiger oder aller Dateien zum Gruppieren von Dateien mit ähnlichem Inhalt in demselben Verzeichnis. Um zu identifizieren, welche Dateien ähnlichen Inhalt aufweisen, werden Vektordarstellungen der einzelnen Dateien erzeugt. Die Vektordarstellungen werden dazu verwendet, einen Ähnlichkeitskennwert zum Quantifizieren der Ähnlichkeit zwischen Paaren von zu organisierenden Dateien zu erzeugen. Das Erzeugen des Ähnlichkeitskennwertes kann das Verwenden einer Kosinusähnlichkeitsfunktion beinhalten, obwohl auch andere Typen von Ähnlichkeitsfunktionen verwendet werden können. Durch Verwendung der Ähnlichkeitskennwerte werden Dateien, deren Inhalte (bezogen auf andere mögliche Paare von Dateien) am ähnlichsten zueinander sind, identifiziert. Dateien, die zueinander ähnlich sind, werden in einem der Verzeichnisse gespeichert, während der Rest in dem anderen Verzeichnis derart gespeichert wird, dass die Anzahl von Dateien sowohl in dem ersten Verzeichnis wie auch dem zweiten Verzeichnis unterhalb der Schwellenanzahl von Dateien ist.
  • Man stelle sich beispielsweise vor, dass ein erstes Verzeichnis eine Schwelle von vier Dateien aufweist. Die vier Dateien, die zu Anfang in dem ersten Verzeichnis gespeichert sind, beinhalten drei Dateien, die Angeltechniken beschreiben, und eine vierte Datei, die ein Fischrestaurant beschreibt. Eine zusätzliche Datei, die einen Restaurantqualitätstest beschreibt, soll in dem ersten Verzeichnis gespeichert werden. Das Speichern der zusätzlichen Datei in dem ersten Verzeichnis bewirkt jedoch, dass in dem Verzeichnis die Schwelle überschritten wird. Die Vektordarstellungen der Dateien werden daher zum Berechnen eines Ähnlichkeitskennwertes für mögliche Paare von Dateien verwendet. Beim Bestimmen der Ähnlichkeitskennwerte werden die drei Dateien, die Angeltechniken beschreiben, als zueinander ähnlich identifiziert und in dem ersten Verzeichnis gespeichert. Die zwei Dateien über Restaurants werden als zueinander ähnlich identifiziert und in einem neu erzeugten zweiten Verzeichnis gespeichert. Die Schwelle von vier Dateien wird daher weder in dem ersten Verzeichnis noch in dem zweiten Verzeichnis überschritten. Die Dateien können auch unter Verwendung von Ausführungsformen der vorliegenden Offenbarung in einer Hierarchie von als letztes verwendeten Dateien organisiert werden. Im Gegensatz zu bestehenden Betriebssystemen, die die als letzte verwendeten Dateien lediglich in einer chronologischen Nutzungsordnung anzeigen, können einige Ausführungsformen der vorliegenden Offenbarung die als letzte verwendeten Dateien als in einem oder mehreren Verzeichnissen von verwandten. Dateien organisiert präsentieren, wie noch beschrieben wird.
  • Zur Bereitstellung von konsistenten Verzeichnisetiketten, die den Inhalt der in jedem Verzeichnis gespeicherten Dateien wiedergeben, werden Verzeichnisetiketten durch zunächst erfolgendes kollektives Erzeugen einer Vektordarstellung einiger oder aller Dateien in einem Verzeichnis erzeugt. Die Analyse des Inhalts der Dateien kann auf Grundlage der „Semantik” oder Bedeutung der Dateien gemäß Bestimmung durch eine Analyse der Vektordarstellungen der Dateien erfolgen. Die Verzeichnisvektordarstellung wird sodann mit Vektordarstellungen von Artikeltiteln einer Datenbank (bei einem Beispiel Wikipedia) verglichen, um einen semantisch ähnlichen Artikeltitel (beispielsweise unter Verwendung einer Kosinusähnlichkeit) ausfindig zu machen. Sobald ein semantisch ähnlicher Artikeltitel in der Datenbank identifiziert ist, wird dieser Titel zum Etikettieren des Verzeichnisses verwendet. Dieser Prozess kann rekursiv wiederholt werden, wenn sich die Dateien in den Verzeichnissen selbst ändern und/oder sich die Inhalte der einzelnen Dateien ändern. Das Etikett des Verzeichnisses gibt daher auch dann, wenn sich der Inhalt ändert, genau den kollektiven Inhalt des Verzeichnisses wieder.
  • Des Weiteren beinhalten einige Ausführungsformen der vorliegenden Offenbarung eine semantische Suchfunktion. Die semantische Suchfunktion identifiziert Verzeichnisse und/oder Dateien, die semantisch ähnlich zu Verzeichnissen und/oder Dateien sind, die vom Nutzer als „Suchbegriffe” ausgewählt worden sind. Bei Auswahl einer oder mehrerer Dateien und/oder Verzeichnisse wird eine Vektordarstellung der ausgewählten Dateien und/oder Verzeichnisse erzeugt. Die Vektordarstellung der Auswahl wird sodann als „Suchbegriff” für andere Ordner und/oder Verzeichnisse mit ähnlichen Vektordarstellungen gemäß Angabe durch einen Ähnlichkeitskennwert (mit Bestimmung beispielsweise unter Verwendung einer Kosinusähnlichkeit) verwendet. Dieses Verfahren ermöglicht eine effiziente Suche auf Grundlage des Inhalts der Dateien und/oder Verzeichnisse anstelle dessen, dass das Verfahren lediglich auf Schlüsselwörtern beruht.
  • Die Vorteile einiger Ausführungsformen der vorliegenden Offenbarung beinhalten ein Speichersystem, in dem Dateien automatisch auf Grundlage (1) einer Maximalanzahl von Dateien in dem Verzeichnis und (2) der Ähnlichkeit beim Inhalt zwischen den Dateien in dem Verzeichnis organisiert sind. Dies verbessert die Konsistenz des Inhaltes in Verzeichnissen einer Hierarchie und mindert die Unannehmlichkeit des manuellen Organisierens der Dateien. Ein weiterer Vorteil einiger Ausführungsformen ist eine konsistentere und logischere Organisation von Verzeichnissen und Dateien in einer Hierarchie, wodurch die Fähigkeit von Nutzern, Dateien und dazu verwandte Dateien ausfindig zu machen, verbessert wird. Insbesondere wird die Fähigkeit eines Nutzers, manuell in der Hierarchie gespeicherte Dateien zu suchen, unter Verwendung von Verzeichnissen verbessert, die entsprechend einigen der hier offenbarten Ausführungsformen organisiert und etikettiert sind. Ein weiterer Vorteil einiger Ausführungsformen der vorliegenden Offenbarung beinhaltet das automatische Etikettieren von Verzeichnissen in der Hierarchie, das die Inhalte des Verzeichnisses wiedergibt, anstelle dessen, dass ein Nutzer ein Etikett beliebig auswählt. Ein weiterer Vorteil einiger Ausführungsformen der vorliegenden Offenbarung ist die Fähigkeit, semantische Suchfunktionen zum Suchen von semantisch ähnlichen Dateien und zum Betrachten der in Verzeichnissen organisierten Suchergebnisse zu verwenden. Das Organisieren von Dateien in Verzeichnissen kann für einen Nutzer einen besseren Einblick in die in den Dateien beschriebenen semantischen Themen bereitstellen. Wieder ein anderer Vorteil gewisser Ausführungsformen der vorliegenden Offenbarung ist eine Suchfunktion auf Grundlage des Inhalts einer oder mehrerer ausgewählter Dateien und/oder Verzeichnisse derart, dass Dateien mit ähnlicher semantischer Bedeutung wie die kollektiv ausgewählten Dateien und/oder Verzeichnisse identifiziert werden.
  • Im Sinne des Vorliegenden beinhaltet ein Speichersystem ein beliebiges digitales Speichersystem oder eine Kombination aus digitalen Speichersystemen mit Verwendung zur Speicherung von digitalen Dateien. Beispiele für Speichersysteme beinhalten verteilte Rechenumgebungen (beispielsweise die „Cloud”, die nachstehend detailliert im Zusammenhang mit 6A beschrieben wird), geteilte bzw. gemeinsam genutzte und/oder proprietäre Speicherbereichsnetzwerke, lokale nichttemporäre Speichermedien (beispielsweise eine Computerfestplatte, einen entfernbaren Flash-Speicher) und Kombinationen hieraus.
  • Wie vorstehend angegeben worden ist, ist ein Verzeichnis eine Dateisystemstruktur, die Dateien (oder spezieller Verweise auf Dateien), die als zueinander verwandt identifiziert worden sind, enthält. Verzeichnisse können Unterverzeichnisse beinhalten, die eine Sammlung von zueinander verwandten Dateien darstellen und ein Teilsatz der Dateien in dem Verzeichnis als Ganzes sind.
  • Eine Hierarchie bezeichnet im Sinne des Vorliegenden die Organisation von Verzeichnissen in dem Speichersystem. Eine „oberste Ebene” von Verzeichnissen, die die allgemeinste Organisationsebene in einem Speichersystem darstellt, kann beispielsweise jeweils eine Reihe von Unterverzeichnissen auf einer „zweiten Ebene” der Organisation beinhalten, die eine engere Ebene der Organisation in dem Speichersystem darstellt. Jedes dieser Unterverzeichnisse kann zudem mehrere Ebenen von Unterverzeichnissen beinhalten, von denen jede eine Organisationsebene darstellt, die Dateien enthält, die enger miteinander oder bezüglich eines engeren Themenbereiches verwandt sind.
  • Eine Datei sind beliebige digital gespeicherte Daten, die bei Wiedergabe Text oder Bilder anzeigen oder bei Ausführung eine oder mehrere Funktionen auf einer Rechenvorrichtung wahrnehmen. Beispiele für Dateien beinhalten unter anderem Textdateien, Bilddateien und ausführbare Dateien. Ein Speicherort einer Datei in einer Hierarchie kann als „Dateiweg” dargestellt werden, der eine Auflistung eines jeden Verzeichnisetiketts vom Allgemeinsten zum Speziellsten bzw. vom thematisch Weitesten zum Engsten ist.
  • Eine Vektordarstellung (die alternativ auch als „Merkmalsvektor” bekannt ist) einer Datei ist eine nummerische Darstellung des Inhalts der Datei. Bei einigen der hier aufgeführten Beispiele kann der Merkmalsvektor einer Textdatei die Häufigkeit von verschiedenen Wörtern oder Kombinationen von Wörtern sein, die unter Verwendung eines „Bag-of-Words”-Modells (Wörtersack) (das heißt eines Modells, das Grammatik und Syntax vernachlässigt) bestimmt werden.
  • Ein Ähnlichkeitskennwert ist die Ausgabe einer Ähnlichkeitsfunktion, die auf zu vergleichende Vektordarstellungsdateien angewendet wird. Die Kosinusähnlichkeit ist beispielsweise ein Maß für die Ähnlichkeit zwischen zwei Vektoren auf Grundlage des Kosinus eines Winkels zwischen den beiden Vektordarstellungen, wie allgemein bekannt ist.
  • Organisieren von Dateien in einer Verzeichnishierarchie
  • 1 ist eine schematische Darstellung eines ersten Verzeichnisses, das bei Empfangen einer zusätzlichen Datei in dem ersten Verzeichnis derart in ein erstes Verzeichnis und ein zweites Verzeichnis organisiert wird, dass die Anzahl von Dateien in dem ersten Verzeichnis eine Schwelle überschreitet, entsprechend einer Ausführungsform der vorliegenden Offenbarung. Wie gezeigt ist, beinhaltet „Verzeichnis 1” in einem Anfangszustand eine Anzahl von Dateien von „Datei 1” bis „Datei k”, wobei k eine Schwelle ist, die die Maximalanzahl von Dateien, die in dem Verzeichnis gespeichert werden können, angibt. Die Schwelle k kann eine beliebige Anzahl sein, die von einem Verwalter des Systems ausgewählt wird, und kann bei einigen Ausführungsformen von 5 bis 20 Dateien oder von 10 bis 15 Dateien reichen. Unabhängig von der ausgewählten Anzahl ist Verzeichnis 1 zu darstellerischen Zwecken derart dargestellt, dass es die Maximalanzahl von Dateien k, die in einem einzigen Verzeichnis zulässig sind, gespeichert hat.
  • Eine zusätzliche Daten, die mit „Datei k + 1” identifiziert ist, soll nun in Verzeichnis 1 gespeichert werden. Wie oben ausgeführt worden ist, ist in Verzeichnis 1 jedoch bereits die Maximalanzahl von Dateien k gespeichert. Da die Schwelle von Verzeichnis 1 durch die Hinzufügung von Datei k + 1 überschritten wird, werden einige Ausführungsformen der vorliegenden Offenbarung eingesetzt, um die von Datei 1 bis Datei k + 1 nummerierten Dateien in mehr als einem Verzeichnis zu organisieren, von denen jedes weniger Dateien als die Schwellenanzahl von k Dateien aufweist.
  • Wie gezeigt ist, wird bei der versuchten Hinzufügung der Datei k + 1 zu Verzeichnis 1 ein zusätzliches Verzeichnis, nämlich Verzeichnis 2, erzeugt. Datei k und Datei k + 1 werden in Verzeichnis 2 gespeichert, während die verbleibenden Dateien (Datei 1 bis Datei k – 1) in Verzeichnis 1 verbleiben. Die Auswahl von Datei k und Datei k + 1 zur Speicherung in Verzeichnis 2 beruht auf einem Ähnlichkeitskennwert, der für einige oder alle möglichen Kombinationen aus zwei Dateien aus der Gruppe von Datei 1 bis Datei k + 1 bestimmt wird, wie nachstehend noch detaillierter beschrieben wird. Dies bedeutet, dass die Auswahl der in Verzeichnis 1 zu speichernden Dateien gegenüber der Auswahl der in Verzeichnis 2 zu speichernden Dateien auf der Ähnlichkeit beim Inhalt zwischen den verschiedenen Dateien gemäß Bestimmung unter Verwendung von Vektordarstellungen der Dateien beruht.
  • Wie aus den hier offenbarten anderen Ausführungsformen ersichtlich ist, ist das in 1 dargestellte Szenario nicht auf diejenigen Typen von Hierarchien beschränkt, bei denen die Ausführungsformen der vorliegenden Offenbarung zur Anwendung kommen können. Obwohl beispielsweise Verzeichnis 2 als von Verzeichnis 1 unabhängig dargestellt ist (das heißt, die beiden sind auf derselben „Ebene” in der Speichersystemhierarchie), können andere Szenarios das Erzeugen eines Unterverzeichnisses in einem Verzeichnis auf höherer Ebene beinhalten.
  • 2 ist ein Flussdiagramm zur Darstellung eines Verfahrens 200 zum Organisieren von Dateien unter Verwendung einer Vektordarstellung der Dateien entsprechend einer Ausführungsform der vorliegenden Offenbarung. Wie bei dem in 1. dargestellten Szenario beginnt das Verfahren 200 optional mit einem Speichern 204 einer Mehrzahl von Dateien in einem elektronischen Speichersystem (beispielsweise einem Cloudspeichersystem oder einem Speicherbereichsnetzwerk) in einem ersten Verzeichnis. Wie vorstehend aufgeführt ist, ist ein Verzeichnis eine Dateisystemstruktur, die Dateien (oder genauer Verweise auf Dateien), die als zueinander verwandt identifiziert worden sind, enthält. Verzeichnisse können zudem ein oder mehrere Unterverzeichnisse enthalten, und es können die hier offenbarten Ausführungsformen zum Erzeugen von Unterverzeichnissen in einem Verzeichnis wie auch zum Erstellen von Verzeichnissen auf derselben Ebene eingesetzt werden. Zu Zwecken der einfacheren Beschreibung beschreibt die nachfolgend beschriebene Ausführungsform ein Szenario, bei dem die Anzahl der im ersten Verzeichnis gespeicherten Dateien gleich einer maximalen Schwellenanzahl von Dateien ist, deren Speicherung in dem ersten Verzeichnis zulässig ist.
  • Beim vorliegenden Beispiel wird aus Gründen der klareren Erläuterung optional eine Anweisung empfangen, siehe 208, um eine zusätzliche Datei in dem ersten Verzeichnis in dem ersten Verzeichnis derart zu speichern, dass die Gesamtanzahl von Dateien in dem ersten Verzeichnis (das heißt die Anzahl von Dateien aus der Mehrzahl von Dateien plus die zusätzliche Datei) die Schwellenanzahl von Dateien überschreitet. Bei einigen Ausführungsformen wird ein weiterer Hinweis darauf, dass die Maximalanzahl von Dateien, deren Speicherung in dem Verzeichnis zulässig ist, überschritten ist, aktiviert. Unabhängig hiervon werden aufgrund dessen, dass die Maximalanzahl von Dateien (gemäß Einstellung durch die Schwelle) überschritten worden ist, die Dateien in dem ersten Verzeichnis und die zusätzliche Datei, die in dem ersten Verzeichnis gespeichert werden soll, derart organisiert, dass (1) die Anzahl von Dateien in dem ersten Verzeichnis auf unterhalb der Schwelle verringert wird und (2) die ähnlichsten Dateien in einem Verzeichnis zusammengruppiert sind. Zusätzlich wird (3) ein zweites Verzeichnis zur Speicherung von Dateien, die nicht in dem ersten Verzeichnis gespeichert werden, erzeugt, wie nachstehend noch detaillierter beschrieben wird.
  • Eine Vektordarstellung einiger oder aller Dateien aus der Mehrzahl von Dateien in dem ersten Verzeichnis und der zusätzlichen Datei wird erzeugt, siehe 212. Vektordarstellungen (die auch als Merkmalsvektoren bekannt sind) sind nummerische Darstellungen von Dateien und werden allgemein im Zusammenhang mit verschiedenen Aspekten der Computerlinguistik eingesetzt. Vektordarstellungen von Dateien können entsprechend einem beliebigen von bestehenden oder noch zu entwickelnden Verfahren erzeugt werden, siehe 212. Eine n-dimensionale Vektordarstellung einer Textdatei kann beispielsweise als „Bag-of-Words”-Modell (Wörtersack), das Syntax und Grammatik vernachlässigt, erzeugt werden. Wie vorstehend ausgeführt worden ist, ist eine Vektordarstellung einer Textdatei, die unter Verwendung des Bag-of-Words-Modells analysiert wird, eine Häufigkeitszählung aller Wörter, die in der Datei vorkommen. Es können auch verschiedene andere Typen von Merkmalsextraktionsalgorithmen eingesetzt werden, um Vektordarstellungen der verschiedenen Dateien zu erzeugen, siehe 212.
  • In Reaktion auf ein Bestimmen 216 dessen, dass die Anzahl von Dateien, deren Speicherung in dem ersten Verzeichnis zulässig ist, die Schwelle überschreitet, werden Dateien mit ähnlichem Inhalt in dem ersten Verzeichnis identifiziert und in dem bestehenden ersten Verzeichnis organisiert. Andere Dateien, die als ähnlich identifiziert sind, werden in einem neuen zweiten Verzeichnis gespeichert, sodass die Anzahl von Dateien in jedem von dem ersten Verzeichnis und dem zweiten Verzeichnis unter der Schwelle ist. Bei alternativen Ausführungsformen können die Dateien in einer Kombination von Verzeichnissen und/oder Unterverzeichnissen zum Speichern einer Anzahl von Dateien organisiert werden, wobei die Schwelle nicht überschritten wird. Unter Verwendung der Vektordarstellungen einiger oder aller Dateien aus der Mehrzahl von Dateien und der zusätzlichen Datei wird eine Mehrzahl von Ähnlichkeitskennwerten für entsprechende Paare von Dateien aus der Mehrzahl von Dateien, die in dem ersten Verzeichnis des elektronischen Dateisystems gespeichert sind, erzeugt, siehe 220. Die Verwendung eines Ähnlichkeitskennwertes für Paare von Dateien identifiziert quantitativ, welche Dateien zueinander am ähnlichsten sind. Wie vorstehend ausgeführt worden ist, ist ein verwendbarer Ähnlichkeitskennwert die Kosinusähnlichkeit, bei der der „Winkel” zwischen den Vektordarstellungen der Dateien quantifiziert wird. Bei dieser methodischen Vorgehensweise gilt: je kleiner der „Winkel”, desto ähnlicher die Dateien. Unter Verwendung der Ähnlichkeitskennwerte werden unabhängig vom Rechenverfahren, das zu deren Erzeugung verwendet wird, wenigstens zwei Dateien als ähnlich unter den Paaren von Dateien identifiziert, siehe 224. Setzt man das Beispiel mit der Kosinusähnlichkeit fort, so umfasst das „ähnlichste” Paar von Dateien diejenigen Dateien, die einen Ähnlichkeitskennwert aufweisen, der am nächsten an einem „Winkel” von 0 ist. Andere Ähnlichkeitskennwerteverfahren oder Dateiclusterungsalgorithmen (beispielsweise das k-Mittel oder das hierarchische agglomerative Clustern) erzeugen andere Arten von Ausgaben, deren Wirkung mit Blick auf das Identifizieren 224 von wenigstens zwei Dateien, die am ähnlichsten sind, jedoch dieselbe ist.
  • Es wird ein zweites Verzeichnis erzeugt, siehe 228, in dem die identifizierten, siehe 224, beiden ähnlichen Dateien gespeichert und dynamisch organisiert, siehe 232, werden, indem die wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart gespeichert werden, dass die Anzahl von Dateien, die in dem ersten Verzeichnis gespeichert sind, verringert wird und Dateien aus der Mehrzahl von Dateien in einem von dem ersten Verzeichnis oder dem zweiten Verzeichnis auf Grundlage von Ähnlichkeiten beim Inhalt gemäß Angabe durch die erzeugten Ähnlichkeitskennwerte zusammengruppiert werden. Dies bedeutet, dass das dynamische Organisieren 232 die Anzahl von Dateien in dem ersten Verzeichnis auf unterhalb der Schwellenanzahl von Dateien verringert. Darüber hinaus wird das zweite Verzeichnis dafür verwendet, nachfolgende zusätzliche Dateien, die ähnlich zu den bereits in dem zweiten Verzeichnis gespeicherten sind und deren Speicherung erwünscht ist, zu speichern.
  • Einige oder alle vorbeschriebenen Elemente des Verfahrens 200 können rekursiv an den Inhalten der Verzeichnisse durchgeführt werden, wenn die Speicherung neuer Dateien gewünscht wird. Das Durchführen des Verfahrens 200 behält, wenn bestehende Dateien bearbeitet und neue Dateien hinzugefügt werden, die Inhalte eines jeden Verzeichnisses für diejenigen Dateien, die ähnlich zueinander sind (gemäß Angabe durch die Ähnlichkeitskennwerte) bei. Auf diese Weise speichert jedes Verzeichnis eine „Klasse” oder ein „Cluster” von Dateien, die ähnlich sind.
  • Ein algorithmischer Ausdruck zur Beschreibung von einigen Ausführungsformen der Elemente 216 bis 232 des Verfahrens 200 ist nachstehend als Algorithmus 1 gezeigt.
  • Figure DE102016015536A1_0002
  • In Algorithmus 1 bezeichnet „C” („Cluster” oder alternativ „Class” bzw. „Klasse”) eine Mehrzahl von semantisch ähnlichen Dateien, die in einem Verzeichnis gespeichert sind, wobei die tiefgestellten Indizes „Kinderverzeichnisse” bezeichnen, die in einem „Elternverzeichnis” (ohne tiefgestellten Index dargestellt) vorhanden sind. Der Großbuchstabe „V” bezeichnet die Vektordarstellung der Inhalte eines Verzeichnisses als Ganzes, wohingegen der Kleinbuchstabe „v” die Vektordarstellung einer einzelnen Datei bezeichnet. „fan-out k” („Auffächern von k”) bezeichnet die Maximalanzahl von Dateien in einem Verzeichnis, die ansonsten hier als Schwelle identifiziert ist.
  • Bei Empfangen einer zusätzlichen Datei, durch die bewirkt wird, dass die Mehrzahl von Dateien C die Schwelle k überschreitet, siehe 216, ist die Bedingung von Schritt 1 von Algorithmus 1 erfüllt. Sodann erzeugt, wie vorstehend beschrieben worden ist, Schritt 2 von Algorithmus 1, siehe 220, einen Ähnlichkeitskennwert für Paare von Dateien in der Gruppe von Dateien, die die zusätzliche Datei und die Mehrzahl von Dateien, wie vorstehend beschrieben worden ist, beinhaltet. Schritt 3 von Algorithmus 1 beschreibt das Identifizieren 224 von wenigstens zwei ähnlichen Dateien auf Grundlage des erzeugten Ähnlichkeitskennwertes, das Erstellen 228 eines zweiten (oder zusätzlichen, wenn weitere Verzeichnisse bereits vorhanden sind) Verzeichnisses (Ca) und das Speichern 232 der wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart, dass die Anzahl von Dateien in dem ersten Verzeichnis und die Anzahl von Dateien in dem zweiten Verzeichnis jeweils unter der Schwelle sind. Schritt 4 erzeugt eine Vektordarstellung vn für das zweite Verzeichnis (Cn), die bei einer Ausführungsform die Summe der beiden Dateivektoren vi und vj ist. Schritt 5 gibt an, dass das Verfahren 200 (und Algorithmus 1) rekursiv bei Überschreiten der Schwelle auf jedes Verzeichnis angewandt wird, was bei einigen Beispielen im Endeffekt zu komplexen verschachtelten Hierarchien von Verzeichnissen führt.
  • Etikettieren von Verzeichnissen in einer Verzeichnishierarchie
  • Da das Verfahren 200 Verzeichnisse zum Speichern von semantisch ähnlichen Dateien erzeugt und semantische Ähnlichkeiten in Verzeichnissen auch dann erhält, wenn neue Dateien in dem Verzeichnis gespeichert werden oder die Inhalte von bestehenden Dateien in der Hierarchie bearbeitet werden, können die Etiketten eines jeden der Verzeichnisse derart ausgewählt werden, dass sie die Inhalte eines Verzeichnisses als Ganzes akkurat darstellen. Ein exemplarisches Verfahren 300, das in 3 dargestellt ist, zeigt ein Verfahren zum Auswählen von Etiketten für die Verzeichnisse der Verzeichnishierarchie.
  • Das Verfahren 300 beginnt mit einem Erzeugen 304 von Vektordarstellungen der Inhalte aller Dateien in dem Verzeichnis. Dies bedeutet, dass anstatt des Erzeugens einer Vektordarstellung für einzelne Dateien in einem Verzeichnis eine einzige Vektordarstellung kollektiv für alle Dateien erzeugt wird. Setzt man das vorstehend im Zusammenhang mit 2 erläuterte Beispiel fort, so heißt dies, dass die Inhalte aller Dateien kombiniert werden können und ein n-dimensionaler Merkmalsvektor auf Grundlage der „Bag-of-Words”-Worthäufigkeiten erzeugt wird.
  • Es werden Vektordarstellungen von Titeln von Inhaltsobjekten in einer Datenbank erzeugt, siehe 306. Beispiele für Titel und Datenbanken, die bei verschiedenen Ausführungsformen verwendet werden können, beinhalten Titel von Objekten in der Library of Congress bzw. Kongressbibliothek (die in einem digital zugänglichen Katalog aufgeführt sind), Titel von Artikeln bei Wikipedia, Titel von Artikeln in einer digital zugänglichen Enzyklopädie, eine Bibliothek von betitelten Inhaltsobjekten in einer proprietären Datenbank (so beispielsweise einer vertraulichen und proprietären Wissensdatenbank, die in einer Forschungseinrichtung verwendet wird) und anderes mehr. Unabhängig von der tatsächlich verwendeten Datenbank verfügt die Datenbank vorzugsweise über eine Anzahl von Titeln von Inhaltsobjekten, die semantisch ähnlich sind oder semantisch mit Dateien, die in dem Datenspeichersystem gespeichert sind, verwandt sind. Bei einigen Beispielen kann bei Speichersystemen, bei denen die gespeicherten Dateien ein beliebiges Thema aus einem weiten Bereich von Themen abdecken können, eine Datenbank, so beispielsweise Wikipedia® aufgrund des weiten Bereiches von darin beschriebenen Themen bevorzugt werden. Bei Speichersystemen, deren wahrscheinlicher Fokus in einem thematisch engeren Bereich liegt, kann eine entsprechend zugeschnittene Datenbank ausreichend sein. Ein eigens vorgesehenes Speichersystem für die biochemische Fakultät einer Universität geht gegebenenfalls dazu über, die Titel auf Grundlage einer Datenbank von Peer-Review-Veröffentlichungen auszuwählen, die von einer Regierungseinrichtung (beispielsweise Centers for Desease Control) oder einer wissenschaftlichen Fachzeitschrift (beispielsweise Elsevier®) unterhalten werden.
  • Unabhängig von der Datenbank, die zur Bereitstellung von Verzeichnisetikettierungen in dem Speichersystem ausgewählt ist, wird ein Ähnlichkeitskennwert 308 erzeugt, um die Ähnlichkeit zwischen der Vektordarstellung der kollektiven Inhalte eines Verzeichnisses und Vektordarstellungen der Inhaltstitel in der Datenbank zu quantifizieren. Wie vorstehend erläutert worden ist, ist die Kosinusähnlichkeit ein bequemes Verfahren zur Bestimmung des Ähnlichkeitskennwertes, wobei jedoch auch andere Ähnlichkeitsfunktionen zur Bestimmung des Ähnlichkeitsgrades zwischen dem kollektiven Inhalt des Verzeichnisses und den verschiedenen Titeln verwendet werden können, so beispielsweise die Kosinusähnlichkeit.
  • Ein Inhaltstitel in der Datenbank, der zu den kollektiven Inhalten des Verzeichnisses ähnlich ist, wird auf Grundlage des erzeugten, siehe 308, Ähnlichkeitskennwertes identifiziert, siehe 312. Titel können optional weiter auf Grundlage einer „Durchklickrate”, die mit dem dem Titel entsprechenden Inhalt verknüpft ist, identifiziert werden, siehe 316. Dies bedeutet, dass diejenigen Inhaltsobjekte, auf die von Nutzern häufig zugegriffen wird, (entweder als Funktion der Zeit oder in absoluten Zahlen) als am meisten relevant betrachtet werden. Daher kann aus einem Teilsatz von mehreren Titeln, die annähernd denselben Ähnlichkeitswert im Vergleich zu den kollektiven Inhalten eines Verzeichnisses aufweisen, ein einzelner Titel durch Identifizieren dessen ausgewählt werden, welcher Titel aus dem Teilsatz mit demjenigen Inhaltsobjekt, auf das am häufigsten zugegriffen wird, verknüpft ist.
  • Sobald der Titel identifiziert worden ist, siehe 312 (und optional 316), wird das Verzeichnis mit dem identifizierten Inhaltstitel 320 etikettiert. Dieser Prozess ist bei einigen Beispielen rekursiv, sodass dann, wenn sich der Inhalt eines Verzeichnisses ändert (oder auch durch eine Änderung in den Dateien, die darin gespeichert sind, oder eine Änderung an dem Inhalt der Dateien), das Etikett für das Verzeichnis durch mehrmaliges Durchführen des Verfahrens 300 aktualisiert werden kann.
  • Bei einer Ausführungsform des Verfahrens 300 zeigt Algorithmus 2 ein rechentechnisch effizientes Verfahren zum weiteren Identifizieren 316 von Inhaltstiteln auf Grundlage einer Durchklickrate mit Verwendbarkeit als Verzeichnisetiketten. Bei der vorliegenden Ausführungsform analysiert Algorithmus 2 Inhaltsobjekte, die (beispielsweise über einen Nutzerressourcenlink) mit denjenigen Inhaltsobjekten verlinkt sind, die mit Titeln, die von dem Verfahren 300 identifiziert, siehe 312, werden, verknüpft sind.
  • Figure DE102016015536A1_0003
  • In Algorithmus 2 ist L0 ein Satz von Inhaltstiteln, die entweder bewusst (so beispielsweise diejenigen Titel, die durch das Ausführen des Verfahrens 300 identifiziert werden, siehe 312) oder bei einigen Ausführungsformen auch zufällig aus einer Datenbank ausgewählt werden. Letztendlich enthält der Satz L eine erweiterte Auswahl von Inhaltstiteln, die über die bereits identifizierten, siehe 312, hinausgehen und die optional zum Etikettieren 320 eines Verzeichnisses verwendet werden. Bei dem in Algorithmus 2 gezeigten Beispiel beginnt der Satz L als leere Menge ohne Inhaltstitel. Bei jeder der d Iterationen von Algorithmus 2 werden, wie in Schritt 3 und in Schritt 4 von Algorithmus 2 gezeigt ist, Inhaltstitel identifiziert und zu der Menge L auf Grundlage derjenigen Inhaltsobjekte b, auf die am häufigsten zugegriffen wird (das heißt auf Grundlage derjenigen mit der höchsten Durchklickrate) hinzugefügt, wobei zudem eine Verlinkung mit Inhaltsobjekten, die bei der letzten Iteration hinzugefügt worden sind (beispielsweise bereits als Teil von L ausgewählt), gegeben ist. Wie in Schritten 5, 6 und 7 von Algorithmus 2 angegeben ist, wird, wenn ein neuer Inhalt identifiziert wird, dieser zu dem Satz L hinzugefügt. Ist ein identifiziertes Inhaltsobjekt bereits in dem Satz L vorhanden, so wird die Zahl, die mit dem Inhaltsobjekt verknüpft ist, um 1 erhöht. Solche Zählungen können verwendet werden, um die am meisten besuchten Inhaltsobjekte dem Rang nach zu bewerten, wobei die dem Rang nach am höchsten bewerteten Inhaltsobjekte vorzugsweise zum Etikettieren 320 von Verzeichnissen verwendet werden.
  • Suchen mit Blick auf ausgewählte Dateien und/oder Verzeichnisse
  • Wie vorstehend beschrieben worden ist, kann das auf Grundlage einer Schlüsselwortauswahl erfolgende Suchen nach einer Datei Ergebnisse produzieren, die zu viele Suchergebnisse oder zu wenige Suchergebnisse ausgeben oder Dateien identifizieren, die den Suchbegriff verwenden, jedoch nicht relevant sind. Um dieses Problem anzugehen, beinhalten einige Ausführungsformen der vorliegenden Offenbarung eine Suchfunktion, die auf einer Auswahl einer oder mehrerer Darteien und/oder Verzeichnisse beruht. Die ausgewählten Dateien und/oder Verzeichnisse werden dafür verwendet, eine Vektordarstellung der Ausgabe zu erzeugen. Die Vektordarstellung der Ausgabe wird sodann als Suchbegriff verwendet, um semantisch ähnliche Verzeichnisse und/oder Dateien mit ähnlichen Vektordarstellungen (gemäß Angabe durch einen Ähnlichkeitskennwert) zu identifizieren.
  • Eine schematische Darstellung der Suchfunktion ist in 4 gezeigt. Wie durch die Hervorhebung angedeutet ist; sind „Datei 1” und „Datei 2” in „Verzeichnis 1” und „Datei k” in „Verzeichnis 2” ausgewählt. Bei anderen Ausführungsformen sollte einsichtig sein, dass mehr, weniger oder auch andere Dateien wie auch ganze Verzeichnisse ausgewählt werden können, ohne vom Umfang der vorliegenden Erfindung abzugehen. Bei der dargestellten Ausführungsform werden diese drei ausgewählten Dateien sodann zum Erzeugen einer Vektordarstellung „V” der kollektiven Inhalte der drei Dateien erzeugt. Wie vorstehend erläutert worden ist, beinhaltet ein Verfahren zum Erzeugen einer Vektordarstellung die Verwendung eines „Bag-of-Words”-Modells zum kollektiven Erzeugen eines n-dimensionalen Vektors, der die Worthäufigkeit in den ausgewählten Dateien beschreibt. Sobald das System erzeugt ist, durchsucht das System die Inhalte der Datenbank nach Dateien und/oder Verzeichnissen, die eine ähnliche Vektordarstellung aufweisen. Wie vorstehend bereits beschrieben worden ist, kann bei einem Beispiel das Identifizieren einer Datei und/oder eines Verzeichnisses durch Erzeugen eines Ähnlichkeitskennwertes unter Verwendung einer Kosinusähnlichkeitsfunktion bewerkstelligt werden. Da bei einigen Beispielen das System die Vektordarstellungen für gespeicherte Verzeichnisse und Dateien beibehält, ist dieses Suchverfahren rechentechnisch effizient.
  • 5 ist ein Flussdiagramm zur Darstellung eines Verfahrens zum Suchen nach semantischem Inhalt eines Speichersystems durch Auswählen einer oder mehrerer Dateien und/oder Verzeichnisse und Erzeugen einer Vektordarstellung der ausgewählten Dateien und/oder Verzeichnisse zur Verwendung als Suchbegriff entsprechend einer Ausführungsform der vorliegenden Offenbarung und gemäß der schematischen Darstellung in 4. Wie in 4 gezeigt und vorstehend bereits beschrieben worden ist, wird die Auswahl einer oder mehrerer Dateien und/oder eines oder mehrerer Verzeichnisse empfangen, siehe 504. Es wird sodann eine Vektordarstellung der Auswahl erzeugt, siehe 508, die sodann als „Suchbegriff” für semantisch ähnliche Dateien verwendet wird. Bei einigen Beispielen, so beispielsweise denjenigen, bei denen eine einzelne Datei oder ein einzelnes Verzeichnis ausgewählt sind, kann eine vorher schon bestehende Vektordarstellung, die von dem System vorgehalten worden ist, verwendet werden. Bei anderen Ausführungsformen, so beispielsweise bei Auswahl von mehreren Dateien, mehreren Verzeichnissen und einer Mischung aus Dateien und Verzeichnissen, wird eine Vektordarstellung erzeugt. Sobald eine Vektordarstellung der Auswahl erzeugt, siehe 508, worden ist, wird die Vektordarstellung als „Suchbegriff verwendet. Eine ähnliche Vektordarstellung wird gesucht, indem die Vektordarstellung der Auswahl ermittelt und mit Vektordarstellungen von Dateien und/oder Verzeichnissen in dem System verglichen wird. Die Ähnlichkeit wird durch Erzeugen eines Ähnlichkeitskennwertes, so beispielsweise einer Kosinusähnlichkeit, angegeben.
  • Bei einigen Ausführungsformen behält das System Vektordarstellungen eines jeden Verzeichnisses bei. Da bei diesen Ausführungsformen die zu durchsuchenden Verzeichnisse eine erhalten gebliebene und vorher schon bestehende Vektordarstellung aufweisen, ist die Suche rechentechnisch effizient, da die erzeugte, siehe 508, Vektordarstellung der ausgewählten Dateien und/oder Verzeichnisse nur mit den bereits bestehenden Verzeichnisvektordarstellungen auf Grundlage einer Kosinusähnlichkeit verglichen wird.
  • Exemplarisches Verfahren und exemplarisches System
  • 6A ist ein Blockdiagramm einer verteilten Verarbeitungsumgebung 600, die ein System zum Unterhalten der Organisation eines Speichersystems für digitale Dateien, Erzeugen von Etikettierungen von Verzeichnissen in dem Speichersystem und Suchen nach semantisch ähnlichem Inhalt in Bezug auf erzeugte Vektordarstellungen eines oder mehrerer ausgewählter Verzeichnisse und/oder Dateien bei einer Ausführungsform der vorliegenden Offenbarung beinhaltet. Die Systemumgebung 600, die in 6A gezeigt ist, beinhaltet eine Nutzervorrichtung 604, ein Netzwerk 608 und ein Speicherorganisationssystem 612. Bei anderen Ausführungsformen beinhaltet die Systemumgebung 600 verschiedene und/oder zusätzliche Komponenten über die in 6A gezeigten hinausgehend.
  • Die Nutzervorrichtung 604 ist eine Rechenvorrichtung, die eine Nutzereingabe empfangen und auch Daten über das Netzwerk 608 übertragen und/oder empfangen kann. Bei einer Ausführungsform ist die Nutzervorrichtung 604 ein Computersystem, so beispielsweise ein Desktop- oder Laptopcomputer. Bei einer anderen Ausführungsform kann die Nutzervorrichtung 604 eine Vorrichtung mit einer Computerfunktionalität sein, so beispielsweise ein Persönlicher Digitaler Assistent (PDA), ein Mobiltelefon, ein Tabletcomputer, ein Smartphone oder eine ähnliche Vorrichtung. Bei anderen Ausführungsformen ist die Nutzervorrichtung 604 eine mobile Rechenvorrichtung, die zum Speichern von digitalen Dateien in einem Speichersystem, zum Durchführen von Suchen unter Verwendung des Speicherorganisationssystems und/oder zum Betrachten von und Zugreifen auf Dateien durch das Speicherorganisationssystem verwendet wird. Bei einer Ausführungsform führt die Nutzervorrichtung 604 eine Anwendung aus, die einem Nutzer der Nutzervorrichtung 604 ein Interagieren mit dem Speicherorganisationssystem 612 ermöglicht, und wird hierdurch zu einer spezialisierten Rechenmaschine. Die Nutzervorrichtung 604 führt beispielsweise eine Browseranwendung bzw. App aus, um eine Interaktion zwischen der Nutzervorrichtung 604 und dem Speicherorganisationssystem 612 über das Netzwerk 608 zu ermöglichen. Bei einer weiteren Ausführungsform interagiert eine Nutzervorrichtung 604 mit dem Speicherorganisationssystem 612 über eine Anwendungsprogrammierschnittstelle (Application Programming Interface API), die auf dem nativen Betriebssystem der Nutzervorrichtung 604, so beispielsweise IOS® oder ANDROIDTM, läuft.
  • Die Nutzervorrichtung 604 ist dafür konfiguriert, über das Netzwerk 608 zu kommunizieren, das eine beliebige Kombination aus Ortsbereichs- und/oder Großbereichsnetzwerken umfassen kann, und zwar unter Verwendung sowohl von verdrahteten wie auch drahtlosen Kommunikationssystemen. Bei einer Ausführungsform verwendet das Netzwerk 608 Standardkommunikationstechnologien und/oder Protokolle. Daher kann das Netzwerk 608 Links beinhalten, die Technologien wie Ethernet, 802.11, WiMAX (Worldwide Interoperability for Microwave Access), 3G, 4G, CDMA, DSL (Digital Subscriber Line) und dergleichen mehr verwenden. Auf ähnliche Weise können die Netzwerkprotokolle, die in dem Netzwerk 608 verwendet werden, MPLS (Multiprotocol Label Switching, TCP/IP (Transmission Control Protocol/Internet Protocol), UDP (User Datagram Protocol), HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol) und FTP (File Transfer Protocol) beinhalten. Daten, die über das Netzwerk 608 ausgetauscht werden, können unter Verwendung von Technologien und/oder Formaten dargestellt werden, die HTML (Hypertext Markup Language) oder XML (Extensible Markup Language) beinhalten. Darüber hinaus können einige oder alle Links unter Verwendung von Verschlüsselungstechnologien, so beispielsweise SSL (Secure Sockets Layer), TLS (Transport Layer Security) und IPsec (Internet Protocol security) verschlüsselt werden.
  • Bei einigen Ausführungsformen beinhaltet das Netzwerk 608 ein oder mehrere Speicherbereichsnetzwerke, so beispielsweise diejenigen, die für Rechensysteme einer „Cloud” verwendet werden. Bei diesen Ausführungsformen kann das Speicherorganisationssystem 612 derart an den mehreren Cloud-Rechensystemen arbeiten, dass ein konsistentes Hierarchie-, Etikettierungs- und Suchsystem gleichwertig in verschiedenen Cloud-Rechensystemen arbeitet.
  • Das Speicherorganisationssystem 612, das nachstehend noch im Zusammenhang mit 6B detaillierter beschrieben wird, umfasst eine oder mehrere Rechenvorrichtungen zum Speichern von Dateien, Organisieren von Dateien und Verzeichnissen, Erhalten der organisierten Dateien und Verzeichnisse bei Speicherung von neuen Dateien in dem System und Bearbeiten von bestehenden Dateien und Bereitstellen einer Suchfunktion auf Grundlage des Inhalts der ausgewählten Dateien und/oder Verzeichnisse. Das Speicherorganisationssystem 612 ist dafür konfiguriert, bei Empfang einer Datei oder Bearbeiten einer Datei einige oder alle hier beschriebenen Ausführungsformen durchzuführen, um die Organisation einer Verzeichnishierarchie, das Etikettieren von Verzeichnissen in der Hierarchie und die Bereitstellung einer Suchfunktionalität vorzuhalten.
  • 6B ist ein Blockdiagramm einer Systemarchitektur eines Speicherorganisationssystems 612, wie es in 6A gezeigt ist. Das Speicherorganisationssystem 612 beinhaltet einen Speicher 616, ein Organisatormodul 632, einen Vektorerzeuger 636, ein Ähnlichkeitskennwertmodul 640, eine Suchmaschine 644, ein Verzeichnisetikettierungsmodul 648, einen Prozessor 652 und einen Webserver 656. Es sollte einsichtig sein, dass einige oder alle der gezeigten Elemente alternativ auch in einem Speichersystem selbst angeordnet sein können und die als Speicherorganisationssystem 612 dargestellte Ausführungsform lediglich der einfacheren Erläuterung dient.
  • Der Speicher 616 ist derart dargestellt, dass er drei verschiedene Elemente beinhaltet, nämlich einen Dateispeicher 620, einen Vektorspeicher 624 und einen Hierarchiespeicher 628. Jedes der Elemente des Speichers 616 speichert auf einem nichttemporären computerlesbaren Medium (das ein beliebiges geeignetes optisches oder magnetisches, haltbares Speichermedium beinhalten kann, so beispielsweise RAM, ROM, Flash, USB-Laufwerk oder ein anderes halbleiterbasiertes Speichermedium, eine Festplatte, CD-ROM) Anweisungen und Daten, die bei Ausführung durch einen oder mehrere Prozessoren (so beispielsweise den Prozessor 652) die vorbeschriebenen Verfahren durchführen.
  • Der Dateispeicher 620 speichert digital codierte Dateien für einen späteren Zugriff durch Nutzer. Beispiele für den Dateispeicher 620 beinhalten eine beliebige Kombination der nichttemporären computerlesbaren Speichermedien, die vorstehend aufgeführt worden und zum Speichern von Dateien eines beliebigen Typs (beispielsweise Text, Bild) konfiguriert sind. Auf ähnliche Weise beinhaltet der Vektorspeicher 624 eine beliebige Kombination aus den nichttemporären computerlesbaren Speichermedien, wobei jedoch anstatt des Speicherns von Dateien der Vektorspeicher 624 dafür konfiguriert ist, einige oder alle Vektordarstellungen zu speichern, die für einige oder alle vorbeschriebenen Verfahren verwendet werden. Bei einigen Ausführungsformen speichert der Vektorspeicher 624 beispielsweise Vektordarstellungen von Verzeichnissen (oder vielmehr die Vektordarstellungen der kollektiven Inhalte von Verzeichnissen). Diese können sodann bei der Ausführung des vorbeschriebenen Verfahrens 500 verwendet werden, um die Effizienz der Ausführungsformen bei der vorbeschriebenen Suchfunktion zu verbessern. Auf ähnliche Weise speichert der Hierarchiespeicher 628 Anweisungen auf nichttemporären computerlesbaren Medien, die dafür verwendet werden, eine Organisationsbeziehung zwischen Verzeichnissen, Unterverzeichnissen und Dateien beizubehalten, die bei Wiedergabe in einer grafischen Nutzerschnittstelle als Icons bzw. Symbole von Ordnern, Unterordnern, Dateien und entsprechenden Dateiwegen dargestellt werden können.
  • Das Organisatormodul 632 überwacht eine Anzahl von Dateien, die in jedem Verzeichnis gespeichert sind. Das Organisatormodul 632 bestimmt zudem, ob die Anzahl von Dateien, die in einem Verzeichnis gespeichert werden sollen (so beispielsweise die Mehrzahl von Dateien und die zusätzliche Datei, wie vorstehend im Zusammenhang mit 2 erläutert worden ist), eine Schwelle überschreitet oder auf andere Weise über eine Maximalanzahl von Dateien, deren Speicherung in dem Verzeichnis zulässig ist, hinausgeht. Beim Bestimmen dessen, dass die Schwelle überschritten worden ist, initiiert das Organisatormodul 632 eine dynamische Umorganisierung der Dateien, wie vorstehend beschrieben worden ist. Letztlich organisiert das Organisatormodul 632 die verschiedenen Dateien in Verzeichnissen auf Grundlage von Ähnlichkeitskennwerten, wie hier beschrieben wird.
  • Identifiziert das Organisatormodul 632, dass die Schwellenanzahl von Dateien eines Verzeichnisses überschritten worden ist, so erstellt das Organisatormodul ein zweites Verzeichnis und weist den Vektorerzeuger 636 an, Vektordarstellungen der verschiedenen Dateien, die mit dem Verzeichnis verknüpft sind, in dem die Schwelle überschritten ist, zu erzeugen. Wie vorstehend beschrieben worden ist, kann eine beliebige Anzahl von Vektorerzeugungs- und Merkmalsvektorextraktionsverfahren verwendet werden. Das vorstehend beschriebene Beispiel beinhaltet das Anwenden eines „Bag-of-Words”-Modells auf Textdateien und ein Erzeugen eines n-dimensionalen Vektors zum Quantifizieren von Wortzählungshäufigkeiten für einige oder alle Dateien. Andere Arten von Vektorerzeugungsverfahren können ebenfalls verwendet werden. Der Vektorerzeuger 636 kann zudem Vektordarstellungen der Inhalte der Verzeichnisse kollektiv für verschiedene Merkmale, so beispielsweise das Suchen, entsprechend den vorbeschriebenen Ausführungsformen erzeugen.
  • Unter Verwendung der von dem Vektorerzeuger 636 erzeugten Vektordarstellungen bestimmt das Ähnlichkeitskennwertmodul 604 Ähnlichkeitskennwerte zwischen Paaren von Dateien desjenigen Verzeichnisses, in dem die Schwellenanzahl von Dateien überschritten ist. Wie vorstehend aufgeführt ist, ist der Ähnlichkeitskennwert, der bei einigen Ausführungsformen zum Einsatz kommt, die Kosinusähnlichkeit, wobei jedoch auch andere Verfahren zur Berechnung der Ähnlichkeit gleichermaßen Verwendung finden können.
  • Das Ähnlichkeitskennwertmodul 640 bestimmt zudem Ähnlichkeitskennwerte für andere Anwendungen bzw. Apps, die vorstehend beschrieben worden sind. So kann das Ähnlichkeitskennwertmodul beispielsweise einen Ähnlichkeitskennwert zwischen den kollektiven Inhalten eines Verzeichnisses und Titeln in einer Datenbank bestimmen, um ein Etikett für das Verzeichnis, wie im Zusammenhang mit 3 beschrieben worden ist, auszuwählen. Bei einem anderen Beispiel kann das Ähnlichkeitskennwertmodul 640 Ähnlichkeitskennwerte zwischen einer Vektordarstellung einer Auswahl von Dateien und/oder Verzeichnissen mit Auswahl als Suchbegriff und Vektordarstellungen von gesuchten Dateien und/oder Verzeichnissen, wie vorstehend im Zusammenhang mit 4 und 5 beschrieben worden ist, auswählen.
  • Die Suchmaschine 644 wird allgemein für die vorstehend im Zusammenhang mit 4 und 5 beschriebene Suchfunktion eingesetzt. Die Suchmaschine 644 empfängt von dem Vektorerzeuger 636 einen Suchvektor, der eine Auswahl einer oder mehrerer Dateien und/oder Verzeichnisse ist. Sodann ruft die Suchmaschine einen Vektor einer gespeicherten Datei und/oder eines Verzeichnisses aus dem Vektorspeicher 624 ab. Der Suchvektor und der Vektor der gespeicherten Datei und/oder des Verzeichnisses, die gesucht werden sollen, werden sodann an das Ähnlichkeitskennwertmodul 640 zur Erzeugung eines Ähnlichkeitskennwertes weitergeleitet. Der Prozess wird wiederholt, bis die Suchergebnisse dem Nutzer (beispielsweise unter Verwendung einer Anweisung an den Webserver 656, die Suchergebnisse an der Nutzervorrichtung 604 wiederzugeben) präsentiert werden.
  • Das Verzeichnisetikettierungsmodul 648 wird in Zusammenarbeit mit dem Vektorerzeuger 636 und dem Ähnlichkeitskennwertmodul 640 verwendet, um Verzeichnisse auf Grundlage eines Ähnlichkeitskennwertes zu identifizieren und mit Titeln eines Inhalts in einer Datenbank, wie vorstehend im Zusammenhang mit 3 beschrieben worden ist, zu etikettieren. Bei Erzeugung eines neuen Verzeichnisses oder bei Änderungen am Inhalt eines bestehenden Verzeichnisses greift das Verzeichnisetikettierungsmodul 648 beispielsweise auf eine Datenbank zu und gibt Titel von Inhaltsobjekten in der Datenbank an den Vektorerzeuger 636 aus, um Vektordarstellungen der Titel zu erzeugen. Die Vektordarstellungen werden sodann an das Ähnlichkeitskennwertmodul 640 zusammen mit der Vektordarstellung des zu etikettierenden Verzeichnisses weitergeleitet. Dieser Prozess wird für eine Anzahl von Titeln aus der Datenbank wiederholt, bis ein ähnlicher Titel (gemäß Quantifizierung durch einen Titel, der beispielsweise eine „Winkel”-Kosinusähnlichkeit, die am nächsten an 0 ist, in Bezug auf das Verzeichnis aufweist) identifiziert ist. Auf Grundlage der Ähnlichkeitskennwertergebnisse kommuniziert das Verzeichnisetikettierungsmodul 648 mit dem Hierarchiespeicher 628, um das Etikett des Verzeichnisses zu ändern.
  • Das Speicherorganisationssystem 612 beinhaltet zudem wenigstens einen Prozessor 652 zum Ausführen von computerlesbaren und computerausführbaren Anweisungen oder Software mit Speicherung in dem Speicher 614 oder beliebige andere Module des Speicherorganisationssystems 612. Es kann eine Virtualisierung derart eingesetzt werden, dass Infrastruktur und Ressourcen in dem Speicherorganisationssystem 612 dynamisch geteilt bzw. gemeinsam genutzt werden können. Es kann beispielsweise eine virtuelle Maschine bereitgestellt werden, um mit einem Prozess umzugehen, der auf mehreren Prozessoren derart läuft, dass der Prozess scheinbar nur von einer Rechenvorrichtung anstatt von mehreren Rechenvorrichtungen verwendet wird. Mit dem Prozessor 652 können zudem mehrere virtuelle Maschinen verwendet werden.
  • Der Webserver 656 verlinkt das Speicherorganisationssystem 612 mit der Nutzervorrichtung 604 über das Netzwerk 608. Der Webserver 656 dient als Server für Webseiten wie auch für anderen webbezogenen Inhalt, so beispielsweise Java®, Flash®, XML und dergleichen mehr. Der Webserver 656 kann die Funktionalität des Empfangens von Dateien von der Nutzervorrichtung 604 zur Speicherung in einem Speichersystem und des Organisierens der Dateien in einer Hierarchie des Speichersystems sowie den Leistungsumfang von verschiedenen anderen der vorbeschriebenen Ausführungsformen beinhalten. Zusätzlich kann der Webserver 656 eine API-Funktionalität (Anwendungsprogram mierschnittstelle API) bereitstellen, um Daten direkt an native Clientvorrichtungsbetriebssysteme, so beispielsweise IOS®, ANDROIDTM, WEBOS® oder RIM, zu senden. Der Webserver 656 stellt zudem eine API-Funktionalität zum Austauschen von Daten mit der Nutzervorrichtung 604 bereit.
  • Exemplarische Ausführungsformen
  • Eine exemplarische Ausführungsform der vorliegenden Offenbarung beinhaltet ein computerimplementiertes Verfahren zum Organisieren einer Mehrzahl von Dateien mit Speicherung in einem elektronischen Dateisystem, wobei das Verfahren beinhaltet: Erzeugen einer Mehrzahl von Ähnlichkeitskennwerten für entsprechende Paare von Dateien aus der Mehrzahl von Dateien mit Speicherung in einem ersten Verzeichnis des elektronischen Dateisystems, Identifizieren von wenigstens zwei ähnlichen Dateien auf Grundlage der erzeugten Ähnlichkeitskennwerte, Erstellen eines zweiten Verzeichnisses und dynamisches Organisieren der Mehrzahl von Dateien durch Speichern der wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart, dass die Anzahl von Dateien mit Speicherung in dem ersten Verzeichnis verringert wird und Dateien aus der Mehrzahl von Dateien in einem von dem ersten Verzeichnis oder dem zweiten Verzeichnis auf Grundlage von Ähnlichkeiten beim Inhalt gemäß Angabe durch die erzeugten Ähnlichkeitskennwerte zusammengruppiert werden. Bei einer Ausführungsform beinhaltet das computerimplementierte Verfahren des Weiteren ein Erstellen des zweiten Verzeichnisses in Reaktion auf ein Bestimmen dessen, dass die Mehrzahl von Dateien mit Speicherung in dem ersten Verzeichnis eine Schwellenanzahl von Dateien, deren Speicherung in dem ersten Verzeichnis zulässig ist, überschreitet. Bei einer Ausführungsform beinhaltet das computerimplementierte Verfahren des Weiteren ein Erzeugen einer Vektordarstellung für wenigstens einige der Dateien aus der Mehrzahl von Dateien, wobei die erzeugten Vektordarstellungen zum Erzeugen der Mehrzahl von Ähnlichkeitskennwerten verwendet werden. Bei einer Ausführungsform beinhaltet das Verfahren des Weiteren ein kollektives Erzeugen einer ersten Vektordarstellung des ersten Verzeichnisses auf Grundlage aller Dateien in dem ersten Verzeichnis. Bei einer Ausführungsform beinhaltet das Verfahren des Weiteren: Etikettieren des ersten Verzeichnisses durch Erzeugen von Titelvektordarstellungen von Titeln von Inhaltsobjekten in einer Datenbank, Erzeugen von Ähnlichkeitskennwerten der ersten Vektordarstellung des ersten Verzeichnisses relativ zu den Titelvektordarstellungen, auf Grundlage des Ähnlichkeitskennwertes erfolgendes Identifizieren eines ersten Titels ähnlich zu der ersten Vektordarstellung des ersten Verzeichnisses und Etikettieren des ersten Verzeichnisses mit dem ersten Titel. Bei einer Ausführungsform beruht das Identifizieren des Weiteren auf einer Durchklickrate des ersten Titels. Bei einer Ausführungsform wird der Ähnlichkeitskennwert unter Verwendung einer Kosinusähnlichkeitsfunktion bestimmt. Bei einer Ausführungsform beinhaltet das Verfahren des Weiteren: Empfangen einer Auswahl wenigstens eines Verzeichnisses oder wenigstens einer Datei aus der Mehrzahl von Dateien, für das ausgewählte wenigstens eine Verzeichnis oder die wenigstens eine Datei erfolgendes Erzeugen einer Auswahlvektordarstellung, und in dem elektronischen Speichersystem erfolgendes Suchen nach einer Datei mit einer Vektordarstellung ähnlich zu derjenigen der Auswahlvektordarstellung.
  • Eine weitere exemplarische Ausführungsform beinhaltet ein Computerprogrammerzeugnis, wobei das Computerprogrammerzeugnis auf wenigstens einem nichttemporären computerlesbaren Medium gespeichert ist, das Anweisungen beinhaltet, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass ein Prozess ausgeführt wird, wobei der Prozess beinhaltet: Speichern einer Mehrzahl von Dateien in einem elektronischen Speichersystem in einem ersten Verzeichnis und Erzeugen einer Vektordarstellung von wenigstens einigen der Dateien aus der Mehrzahl von Dateien. In Reaktion auf ein Bestimmen dessen, dass die Mehrzahl von Dateien mit Speicherung in dem ersten Verzeichnis eine Schwellenanzahl von Dateien, deren Speicherung in dem ersten Verzeichnis zulässig ist, überschreitet, beinhaltet das Verfahren zudem: Erzeugen einer Mehrzahl von Ähnlichkeitskennwerten unter Verwendung der erzeugten Vektordarstellungen, wobei jeder erzeugte Ähnlichkeitskennwert eine Ähnlichkeit zwischen Paaren von Dateien aus der Mehrzahl von Dateien darstellt, Identifizieren von wenigstens zwei ähnlichen Dateien auf Grundlage der erzeugten Ähnlichkeitskennwerte, Erstellen eines zweiten Verzeichnisses und dynamisches Organisieren der Mehrzahl von Dateien durch Speichern der wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart, dass die Anzahl von Dateien in dem ersten Verzeichnis auf unterhalb der Schwelle verringert wird und Dateien aus der Mehrzahl von Dateien in einem von dem ersten Verzeichnis oder dem zweiten Verzeichnis auf Grundlage von Ähnlichkeiten beim Inhalt gemäß Angabe durch die erzeugten Ähnlichkeitskennwerte zusammengruppiert werden. Bei einer Ausführungsform beinhaltet das bei Ausführung des Computerprogrammerzeugnisses durchgeführte Verfahren: kollektives Erzeugen einer ersten Vektordarstellung des ersten Verzeichnisses auf Grundlage aller Dateien in dem ersten Verzeichnis. Bei einer Ausführungsform beinhaltet das bei Ausführung des Computerprogrammerzeugnisses durchgeführte Verfahren: Etikettieren des ersten Verzeichnisses durch Erzeugen von Titelvektordarstellungen entsprechend Titeln von Inhaltsobjekten in einer Datenbank, Erzeugen von Ähnlichkeitskennwerten der ersten Vektordarstellung des ersten Verzeichnisses relativ zu den Titelvektordarstellungen der Titel von Inhaltsobjekten in der Datenbank, auf Grundlage des Ähnlichkeitskennwertes erfolgendes Identifizieren eines ersten Titels ähnlich zu der ersten Vektordarstellung und Etikettieren des ersten Verzeichnisses mit dem ersten Titel. Bei einer Ausführungsform beruht das Identifizieren des Weiteren auf einer Durchklickrate des ersten Titels. Bei einer Ausführungsform wird der Ähnlichkeitskennwert unter Verwendung einer Kosinusähnlichkeitsfunktion bestimmt. Bei einer Ausführungsform beinhaltet das bei Ausführung des Computerprogrammerzeugnisses durchgeführte Verfahren: Empfangen einer Auswahl von wenigstens einem Verzeichnis oder wenigstens einer Datei aus der Mehrzahl von Dateien, für das ausgewählte wenigstens eine Verzeichnis oder die wenigstens eine Datei erfolgendes Erzeugen einer Auswahlvektordarstellung und in dem elektronischen Speichersystem erfolgendes Suchen nach einer Datei mit einer Vektordarstellung ähnlich zu derjenigen der Auswahlvektordarstellung.
  • Eine weitere exemplarische Ausführungsform ist ein System zum Organisieren von elektronisch gespeicherten Dateien, das beinhaltet: einen Dateispeicher mit Konfigurierung zum Speichern einer Mehrzahl von Dateien in einem elektronischen Speichersystem in einem ersten Verzeichnis, und einen Vektorerzeuger mit Konfigurierung zum Erzeugen von Vektordarstellungen wenigstens einiger der Dateien aus der Mehrzahl von Dateien. Das System beinhaltet ein Ähnlichkeitskennwertmodul, das in Reaktion auf ein Bestimmen dessen, dass die Mehrzahl von Dateien mit Speicherung in dem ersten Verzeichnis eine Schwellenanzahl von Dateien, deren Speicherung in dem ersten Verzeichnis zulässig ist, überschreitet, eine Konfigurierung aufweist zum Erzeugen einer Mehrzahl von Ähnlichkeitskennwerten unter Verwendung der erzeugten Vektordarstellungen, wobei jeder erzeugte Ähnlichkeitskennwert eine Ähnlichkeit zwischen Paaren von Dateien aus der Mehrzahl von Dateien darstellt, und Identifizieren von wenigstens zwei ähnlichen Dateien auf Grundlage der erzeugten Ähnlichkeitskennwerte. Das System beinhaltet zudem ein Organisatormodul mit Konfigurierung zum Erstellen eines zweiten Verzeichnisses und dynamischen Organisieren der Mehrzahl von Dateien durch Speichern der wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart, dass die Anzahl von Dateien in dem ersten Verzeichnis auf unterhalb der Schwelle verringert wird und Dateien aus der Mehrzahl von Dateien in einem von dem ersten Verzeichnis oder dem zweiten Verzeichnis auf Grundlage von Ähnlichkeiten beim Inhalt gemäß Angabe durch die erzeugten Ähnlichkeitskennwerte zusammengruppiert werden. Bei einer Ausführungsform ist der Vektorerzeuger des Weiteren konfiguriert zum kollektiven Erzeugen einer ersten Vektordarstellung des ersten Verzeichnisses auf Grundlage aller Dateien in dem ersten Verzeichnis. Bei einer Ausführungsform beinhaltet das System des Weiteren ein Verzeichnisetikettierungsmodul mit Konfigurierung zum Etikettieren des ersten Verzeichnisses durch Erzeugen von Titelvektordarstellungen von Titeln von Inhaltsobjekten in einer Datenbank, Erzeugen von Ähnlichkeitskennwerten der ersten Vektordarstellung des ersten Verzeichnisses relativ zu den Titelvektordarstellungen, auf Grundlage des Ähnlichkeitskennwertes erfolgenden Identifizieren eines ersten Titels ähnlich zu der ersten Vektordarstellung des ersten Verzeichnisses und Etikettieren des ersten Verzeichnisses mit dem ersten Titel. Bei einer Ausführungsform ist das Verzeichnisetikettierungsmodul des Weiteren konfiguriert zum Identifizieren eines Etiketts des ersten Verzeichnisses auf Grundlage einer Durchklickrate des ersten Titels. Bei einer Ausführungsform wird der Ähnlichkeitskennwert unter Verwendung einer Kosinusähnlichkeitsfunktion bestimmt. Bei einer Ausführungsform beinhaltet das System eine Suchmaschine, die in Reaktion auf ein Empfangen einer Auswahl von wenigstens einem Verzeichnis oder wenigstens einer Datei aus der Mehrzahl von Dateien und ein von dem Vektorerzeuger erfolgendes Empfangen einer Vektordarstellung der Auswahl des wenigstens einen Verzeichnisses oder der wenigstens einen Datei konfiguriert ist zum Suchen nach einer Datei mit Speicherung in dem elektronischen Speichersystem mit einer ähnlichen Vektordarstellung unter Verwendung der erzeugten Vektordarstellung der Auswahl des wenigstens einen Verzeichnisses oder der wenigstens einen Datei.
  • Weitere Betrachtungen
  • Die vorstehende Beschreibung der Ausführungsformen der Offenbarung wurde zu Zwecken der Darstellung präsentiert. Sie soll nicht erschöpfend sein oder die Ansprüche genau auf die offenbarten Formen beschränken. Einem Fachmann auf dem einschlägigen Gebiet erschließt sich, dass vielerlei Änderungen und Abwandlungen im Lichte der vorliegenden Offenbarung möglich sind.
  • Einige Teile der Beschreibung beschreiben die Ausführungsformen anhand von Algorithmen und symbolischen Darstellungen von Rechenvorgängen an Information. Diese algorithmischen Beschreibungen und Darstellungen werden allgemein von Menschen, die in der Datenverarbeitung bewandert sind, verwendet, um anderen Fachleuten das Wesen ihrer Arbeit effektiv mitzuteilen. Die Rechenvorgänge sollen jedoch, obwohl sie funktionell, rechentechnisch oder logisch beschrieben sind, als durch Computerprogramme oder äquivalente elektrische Schaltungen, Microcode oder dergleichen implementiert gedeutet werden. Die beschriebenen Rechenvorgänge können in Software, Firmware, Hardware oder beliebigen Kombinationen hieraus verkörpert sein.
  • Beliebige Schritte, Rechenvorgänge und Prozesse aus vorliegender Beschreibung können mit einem oder mehreren Hardware- oder Softwaremodulen allein oder in Kombination mit anderen Vorrichtungen durchgeführt werden oder implementiert sein. Bei einer Ausführungsform ist ein Softwaremodul mit einem Computerprogrammerzeugnis implementiert, das ein nichttemporäres computerlesbares Medium umfasst, das Computerprogrammcode enthält, der von einem Computerprozessor zum Durchführen beliebiger oder aller Schritte, Rechenvorgänge oder Prozesse, die hier beschrieben sind, verwendet werden kann.

Claims (20)

  1. Computerimplementiertes Verfahren zum Organisieren einer Mehrzahl von Dateien mit Speicherung in einem elektronischen Dateisystem, wobei das Verfahren umfasst: Erzeugen einer Mehrzahl von Ähnlichkeitskennwerten für entsprechende Paare von Dateien aus der Mehrzahl von Dateien mit Speicherung in einem ersten Verzeichnis des elektronischen Dateisystems; Identifizieren von wenigstens zwei ähnlichen Dateien auf Grundlage der erzeugten Ähnlichkeitskennwerte; Erstellen eines zweiten Verzeichnisses; und dynamisches Organisieren der Mehrzahl von Dateien durch Speichern der wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart, dass die Anzahl von Dateien mit Speicherung in dem ersten Verzeichnis verringert wird und Dateien aus der Mehrzahl von Dateien in einem von dem ersten Verzeichnis oder dem zweiten Verzeichnis auf Grundlage von Ähnlichkeiten beim Inhalt gemäß Angabe durch die erzeugten Ähnlichkeitskennwerte zusammengruppiert werden.
  2. Computerimplementiertes Verfahren nach Anspruch 1, des Weiteren umfassend ein Erstellen des zweiten Verzeichnisses in Reaktion auf ein Bestimmen dessen, dass die Mehrzahl von Dateien mit Speicherung in dem ersten Verzeichnis eine Schwellenanzahl von Dateien, deren Speicherung in dem ersten Verzeichnis zulässig ist, überschreitet.
  3. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, des Weiteren umfassend ein Erzeugen einer Vektordarstellung für wenigstens einige der Dateien aus der Mehrzahl von Dateien, wobei die erzeugten Vektordarstellungen zum Erzeugen der Mehrzahl von Ähnlichkeitskennwerten verwendet werden.
  4. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend ein kollektives Erzeugen einer ersten Vektordarstellung des ersten Verzeichnisses auf Grundlage aller Dateien in dem ersten Verzeichnis.
  5. Computerimplementiertes Verfahren nach Anspruch 4, des Weiteren umfassend ein Etikettieren des ersten Verzeichnisses durch: Erzeugen von Titelvektordarstellungen von Titeln von Inhaltsobjekten in einer Datenbank; Erzeugen von Ähnlichkeitskennwerten der ersten Vektordarstellung des ersten Verzeichnisses relativ zu den Titelvektordarstellungen; auf Grundlage des Ähnlichkeitskennwertes erfolgendes Identifizieren eines ersten Titels ähnlich zu der ersten Vektordarstellung des ersten Verzeichnisses; und Etikettieren des ersten Verzeichnisses mit dem ersten Titel.
  6. Computerimplementiertes Verfahren nach Anspruch 5, wobei das Identifizieren des Weiteren auf einer Durchklickrate des ersten Titels beruht.
  7. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei der Ähnlichkeitskennwert unter Verwendung einer Kosinusähnlichkeitsfunktion bestimmt wird.
  8. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Empfangen einer Auswahl von wenigstens einem Verzeichnis oder wenigstens einer Datei aus der Mehrzahl von Dateien; für das ausgewählte wenigstens eine Verzeichnis oder die wenigstens eine Datei erfolgendes Erzeugen einer Auswahlvektordarstellung; und in dem elektronischen Speichersystem erfolgendes Suchen nach einer Datei mit einer Vektordarstellung ähnlich zu derjenigen der Auswahlvektordarstellung.
  9. Computerprogrammerzeugnis, wobei das Computerprogrammerzeugnis auf wenigstens einem nichttemporären computerlesbaren Medium gespeichert ist, das Anweisungen beinhaltet, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass ein Prozess ausgeführt wird, wobei der Prozess umfasst: Speichern einer Mehrzahl von Dateien in einem elektronischen Speichersystem in einem ersten Verzeichnis; Erzeugen einer Vektordarstellung von wenigstens einigen der Dateien aus der Mehrzahl von Dateien; in Reaktion auf ein Bestimmen dessen, dass die Mehrzahl von Dateien mit Speicherung in dem ersten Verzeichnis eine Schwellenanzahl von Dateien, deren Speicherung in dem ersten Verzeichnis zulässig ist, überschreitet, erfolgendes: Erzeugen einer Mehrzahl von Ähnlichkeitskennwerten unter Verwendung der erzeugten Vektordarstellungen, wobei jeder erzeugte Ähnlichkeitskennwert eine Ähnlichkeit zwischen Paaren von Dateien aus der Mehrzahl von Dateien darstellt; Identifizieren von wenigstens zwei ähnlichen Dateien auf Grundlage der erzeugten Ähnlichkeitskennwerte; Erstellen eines zweiten Verzeichnisses; und dynamisches Organisieren der Mehrzahl von Dateien durch Speichern der wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart, dass die Anzahl von Dateien in dem ersten Verzeichnis auf unterhalb der Schwelle verringert wird und Dateien aus der Mehrzahl von Dateien in einem von dem ersten Verzeichnis oder dem zweiten Verzeichnis auf Grundlage von Ähnlichkeiten beim Inhalt gemäß Angabe durch die erzeugten Ähnlichkeitskennwerte zusammengruppiert werden.
  10. Computerprogrammerzeugnis nach Anspruch 9, des Weiteren umfassend ein kollektives Erzeugen einer ersten Vektordarstellung des ersten Verzeichnisses auf Grundlage aller Dateien in dem ersten Verzeichnis.
  11. Computerprogrammerzeugnis nach Anspruch 10, des Weiteren umfassend ein Etikettieren des ersten Verzeichnisses durch: Erzeugen von Titelvektordarstellungen entsprechend Titeln von Inhaltsobjekten in einer Datenbank; Erzeugen von Ähnlichkeitskennwerten der ersten Vektordarstellung des ersten Verzeichnisses relativ zu den Titelvektordarstellungen der Titel von Inhaltsobjekten in der Datenbank; auf Grundlage des Ähnlichkeitskennwertes erfolgendes Identifizieren eines ersten Titels ähnlich zu der ersten Vektordarstellung; und Etikettieren des ersten Verzeichnisses mit dem ersten Titel.
  12. Computerprogrammerzeugnis nach Anspruch 11, wobei das Identifizieren des Weiteren auf einer Durchklickrate des ersten Titels beruht.
  13. Computerprogrammerzeugnis nach einem der Ansprüche 9 bis 12, wobei der Ähnlichkeitskennwert unter Verwendung einer Kosinusähnlichkeitsfunktion bestimmt wird.
  14. Computerprogrammerzeugnis nach einem der Ansprüche 9 bis 13, des Weiteren umfassend: Empfangen einer Auswahl von wenigstens einem Verzeichnis oder wenigstens einer Datei aus der Mehrzahl von Dateien; für das ausgewählte wenigstens eine Verzeichnis oder die wenigstens eine Datei erfolgendes Erzeugen einer Auswahlvektordarstellung; und in dem elektronischen Speichersystem erfolgendes Suchen nach einer Datei mit einer Vektordarstellung ähnlich zu derjenigen der Auswahlvektordarstellung.
  15. System zum Organisieren von elektronisch gespeicherten Dateien, wobei das System umfasst: einen Dateispeicher mit Konfigurierung zum Speichern einer Mehrzahl von Dateien in einem elektronischen Speichersystem in einem ersten Verzeichnis; einen Vektorerzeuger mit Konfigurierung zum Erzeugen von Vektordarstellungen von wenigstens einigen der Dateien aus der Mehrzahl von Dateien; ein Ähnlichkeitskennwertmodul, das in Reaktion auf ein Bestimmen dessen, dass die Mehrzahl von Dateien mit Speicherung in dem ersten Verzeichnis eine Schwellenanzahl von Dateien, deren Speicherung in dem ersten Verzeichnis zulässig ist, überschreitet, eine Konfigurierung aufweist zum: Erzeugen einer Mehrzahl von Ähnlichkeitskennwerten unter Verwendung der erzeugten Vektordarstellungen, wobei jeder erzeugte Ähnlichkeitskennwert eine Ähnlichkeit zwischen Paaren von Dateien aus der Mehrzahl von Dateien darstellt; Identifizieren von wenigstens zwei ähnlichen Dateien auf Grundlage der erzeugten Ähnlichkeitskennwerte; ein Organisatormodul mit Konfigurierung zum: Erstellen eines zweiten Verzeichnisses; und dynamischen Organisieren der Mehrzahl von Dateien durch Speichern der wenigstens zwei ähnlichen Dateien in dem zweiten Verzeichnis derart, dass die Anzahl von Dateien in dem ersten Verzeichnis auf unterhalb der Schwelle verringert wird und Dateien aus der Mehrzahl von Dateien in einem von dem ersten Verzeichnis oder dem zweiten Verzeichnis auf Grundlage von Ähnlichkeiten beim Inhalt gemäß Angabe durch die erzeugten Ähnlichkeitskennwerte zusammengruppiert werden.
  16. System nach Anspruch 15, wobei der Vektorerzeuger des Weiteren eine Konfigurierung aufweist zum kollektiven Erzeugen einer ersten Vektordarstellung des ersten Verzeichnisses auf Grundlage aller Dateien in dem ersten Verzeichnis.
  17. System nach Anspruch 16, des Weiteren umfassend ein Verzeichnisetikettierungsmodul mit Konfigurierung zum Etikettieren des ersten Verzeichnisses durch: Erzeugen von Titelvektordarstellungen von Titeln von Inhaltsobjekten in einer Datenbank; Erzeugen von Ähnlichkeitskennwerten der ersten Vektordarstellung des ersten Verzeichnisses relativ zu den Titelvektordarstellungen; auf Grundlage des Ähnlichkeitskennwertes erfolgendes Identifizieren eines ersten Titels ähnlich zu der ersten Vektordarstellung des ersten Verzeichnisses; und Etikettieren des ersten Verzeichnisses mit dem ersten Titel.
  18. System nach Anspruch 17, wobei das Verzeichnisetikettierungsmodul des Weiteren eine Konfigurierung aufweist zum Identifizieren eines Etiketts des ersten Verzeichnisses auf Grundlage einer Durchklickrate des ersten Titels.
  19. System nach einem der Ansprüche 15 bis 18, wobei der Ähnlichkeitskennwert unter Verwendung einer Kosinusähnlichkeitsfunktion bestimmt wird.
  20. System nach einem der Ansprüche 15 bis 19, des Weiteren umfassend eine Suchmaschine, die in Reaktion auf ein Empfangen einer Auswahl von wenigstens einem Verzeichnis oder wenigstens einer Datei aus der Mehrzahl von Dateien und ein von dem Vektorerzeuger erfolgendes Empfangen einer Vektordarstellung der Auswahl des wenigstens einen Verzeichnisses oder der wenigstens einen Datei eine Konfigurierung aufweist zum Suchen nach einer Datei mit Speicherung in dem elektronischen Speichersystem mit einer ähnlichen Vektordarstellung unter Verwendung der erzeugten Vektordarstellung der Auswahl des wenigstens einen Verzeichnisses oder der wenigstens einen Datei.
DE102016015536.1A 2016-02-22 2016-12-22 Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie Pending DE102016015536A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/049,172 US10803037B2 (en) 2016-02-22 2016-02-22 Organizing electronically stored files using an automatically generated storage hierarchy
US15/049,172 2016-02-22

Publications (1)

Publication Number Publication Date
DE102016015536A1 true DE102016015536A1 (de) 2017-08-24

Family

ID=58360423

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016015536.1A Pending DE102016015536A1 (de) 2016-02-22 2016-12-22 Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie

Country Status (5)

Country Link
US (1) US10803037B2 (de)
CN (1) CN107103023B (de)
AU (1) AU2016277656B2 (de)
DE (1) DE102016015536A1 (de)
GB (1) GB2547535A (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858476A (zh) * 2020-07-20 2020-10-30 上海闻泰电子科技有限公司 文件处理方法、装置、电子设备和计算机可读存储介质
US11940960B2 (en) 2022-04-21 2024-03-26 Folder Front, LLC Intelligent folder-based data organization system
CN116363667B (zh) * 2023-04-26 2023-10-13 公安部信息通信中心 一种聚合文件主题识别与归类系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532943B2 (en) * 2001-08-21 2009-05-12 Microsoft Corporation System and methods for providing automatic classification of media entities according to sonic properties
US7945600B1 (en) * 2001-05-18 2011-05-17 Stratify, Inc. Techniques for organizing data to support efficient review and analysis
US8473532B1 (en) * 2003-08-12 2013-06-25 Louisiana Tech University Research Foundation Method and apparatus for automatic organization for computer files
US20050044487A1 (en) * 2003-08-21 2005-02-24 Apple Computer, Inc. Method and apparatus for automatic file clustering into a data-driven, user-specific taxonomy
CN1588372A (zh) * 2004-10-12 2005-03-02 北京北大方正电子有限公司 基于关系型数据库的通用文档存储方法
CN100462961C (zh) * 2004-11-09 2009-02-18 国际商业机器公司 组织多个文档的方法以及显示多个文档的设备
US7899831B2 (en) * 2008-03-25 2011-03-01 International Business Machines Corporation Method and system for folder recommendation in a file operation
US8285760B1 (en) * 2009-02-01 2012-10-09 Parham Sina System for organizing computer data
US8359279B2 (en) * 2010-05-26 2013-01-22 Microsoft Corporation Assisted clustering
CN102419775A (zh) * 2011-12-22 2012-04-18 厦门雅迅网络股份有限公司 一种海量小文件的存储与检索方法
US9330106B2 (en) * 2012-02-15 2016-05-03 Citrix Systems, Inc. Selective synchronization of remotely stored content
US9805042B1 (en) * 2014-07-22 2017-10-31 Google Inc. Systems and methods for automatically organizing files and folders

Also Published As

Publication number Publication date
AU2016277656A1 (en) 2017-09-07
AU2016277656B2 (en) 2021-05-13
CN107103023B (zh) 2022-12-02
US10803037B2 (en) 2020-10-13
US20170242906A1 (en) 2017-08-24
GB2547535A (en) 2017-08-23
GB201622045D0 (en) 2017-02-08
CN107103023A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
DE112015003406B4 (de) Datenherkunftssummierung
DE60120822T2 (de) Meta-Dokument und Verfahren zum Verwalten von Meta-Dokumenten
DE112017006517T5 (de) Visuelle kategoriedarstellung mit vielfältiger einstufung
DE102013222384B4 (de) Sicherheits-Screening auf Kontextgrundlage für Zugriff auf Daten
DE112018005076T5 (de) Erstellen einer rangfolge von dokumenten auf grundlage ihres semantischen reichtums
DE102012210425A1 (de) Verwendung einer dynamisch erzeugten inhaltsbezogenen Aktualitätsbewertung zum Bereitstellen von Empfehlungen zu aktuellen Inhalten
DE102018007060A1 (de) Hervorheben von Schlüsselabschnitten eines Texts innerhalb eines Dokuments
DE202015009875U1 (de) Transparente Entdeckung eines semistrukturierten Datenschemas
DE102016011173A1 (de) Erstellen von Zusammenfassungen von Multimediadokumenten
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE102015009912A1 (de) Adaptives Modifizieren von Inhalten, die in elektronischen Formularen präsentiert werden
DE102014103279A1 (de) Pivot-Facets für Text-Mining und Suche
WO2009030246A1 (de) Erfassung von zusammenhängen zwischen informationen repräsentierenden daten
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
WO2009030247A1 (de) Erfassung von zusammenhängen zwischen informationen repräsentierenden daten
DE102016003850A1 (de) Empfehlen von Formularfragmenten
DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
DE102018008188A1 (de) Erstellen von Inhalt basierend auf einer Mehr-Satz-Komprimierung eines Quellinhalts
US20120131484A1 (en) Cohort-selectable faceted display
DE112018004462T5 (de) Abfrageverarbeitung
DE102016015536A1 (de) Organisieren von elektronisch gespeicherten Dateien unter Verwendung einer automatisch erzeugten Speicherhierarchie
DE112012006412T5 (de) System zur verteilten Datensuche, Verfahren zur verteilten Datensuche und Managementcomputer
DE112016004967T5 (de) Automatisiertes Auffinden von Informationen

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016000000

Ipc: G06F0016350000