DE202016107435U1 - Systeme für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen - Google Patents

Systeme für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen Download PDF

Info

Publication number
DE202016107435U1
DE202016107435U1 DE202016107435.5U DE202016107435U DE202016107435U1 DE 202016107435 U1 DE202016107435 U1 DE 202016107435U1 DE 202016107435 U DE202016107435 U DE 202016107435U DE 202016107435 U1 DE202016107435 U1 DE 202016107435U1
Authority
DE
Germany
Prior art keywords
user
file
notification
change
preferences
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
DE202016107435.5U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202016107435U1 publication Critical patent/DE202016107435U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

System für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei, wobei das System eine Schaltung beinhaltet, die für Folgendes konfiguriert ist: das Empfangen (von einem externen Server) eines ersten Hinweises über eine erste Änderung an der Datei durch einen ersten Benutzer, wobei die Datei einem zweiten Benutzer zugeordnet ist und vom externen Server gespeichert wird; das Empfangen der Abonnementpräferenzen des zweiten Benutzers; und das Anzeigen einer Benachrichtigung durch ein dem zweiten Benutzer zugeordneten mobiles Gerät, die auf die erste Änderung an der Datei hinweist, wenn die Benachrichtigungskategorie durch die Abonnementpräferenzen zugelassen ist; wobei die Benachrichtigung Folgendes beinhaltet: eine grafische Vorschau der Datei, eine ID der Datei und eine Identität des ersten Benutzers.

Description

  • Gebiet der Erfindung
  • Allgemein bezieht sich diese Offenbarung auf Systeme und Verfahren im Hinblick auf cloudbasierte Dateipeichersysteme.
  • Hintergrund
  • Benutzer setzen stetig und rasch immer mehr cloudbasierte Rechenservices ein, wie beispielsweise Services für das Speichern von Dateien, wobei Funktionen für das Teilen von Dateien sowie für die Zusammenarbeit enthalten sind. Gleichzeitig werden immer mehr mobile Geräte verwendet, und die cloudbasierten Speichersysteme werden auf mobilen Plattformen verfügbar. Immer mehr Benutzer greifen von ihren mobilen Geräten aus auf cloudbasierten Speicher zu. Derzeit müssen Benutzer manuell eine Applikation auf ihren mobilen Geräten starten, um Änderungen an ihren Dateien in cloudbasierten Dateispeichersystemen zu erkennen und darauf reagieren zu können. Damit wird es schwierig für Benutzer, an dringenden Projekten zusammenzuarbeiten, wenn sie nur Zugriff auf mobile Geräte haben (z. B. wenn sie unterwegs sind).
  • Kurzdarstellung
  • In diesem Dokument sind Systeme und Verfahren geoffenbart, mit denen Benachrichtigungen über in cloudbasierten Dateispeichersystemen gespeicherte Dateien erstellt werden. Ein Aspekt bezieht sich auf die Benachrichtigung eines Benutzers über eine Änderung an einer Datei, die in einem cloudbasierten Dateispeichersystem gespeichert ist. Ein erster Hinweis auf eine erste Änderung an der Datei durch einen ersten Benutzer wird von einem externen Server empfangen, wo die Datei einem zweiten Benutzer zugeordnet und vom externen Server gespeichert wird. Die Abonnementpräferenzen des zweiten Benutzers werden empfangen. Eine Benachrichtigung, die die erste Änderung an der Datei meldet, wird auf einem mobilen Gerät angezeigt, das dem zweiten Benutzer zugeordnet ist, falls die Benachrichtigungskategorie von den Abonnementpräferenzen zugelassen ist. Die Benachrichtigung beinhaltet eine grafische Vorschau auf die Datei, eine Datei-ID und eine Identität des ersten Benutzers. Die Bereitstellung von Benachrichtigungen über Änderungen an Dateien, die in einem cloudbasierten Dateispeichersystem gespeichert sind, kann dazu beitragen, doppelte Bearbeitungen durch mehrere Benutzer zu reduzieren. Die Reduzierung doppelter Änderungen kann dazu beitragen, die Verwendung von Rechenressourcen zu reduzieren, wie beispielsweise den Verarbeitungsaufwand und die Batterienutzung auf den Geräten des Benutzers, ebenso wie die Bandbreite bei der Kommunikation mit dem cloudbasierten Dateispeichersystem. Durch die Reduzierung der doppelten Bearbeitung kann außerdem Rechenzeit in der Cloud reduziert werden, die andernfalls nötig wäre, um doppelte oder widersprüchliche Änderungen zu korrigieren.
  • Ein weiterer Aspekt bezieht sich auf das System für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei. Das System umfasst Schaltungen, die so konfiguriert sind, dass sie von einem externen Server einen ersten Hinweis auf eine erste Änderung der Datei durch einen ersten Benutzer empfangen, wobei die Datei einem zweiten Benutzer zugeordnet wird und von einem externen Server gespeichert wird. Die Schaltung ist außerdem darauf ausgelegt, Abonnementpräferenzen des zweiten Benutzers zu empfangen, und über ein dem zweiten Benutzer zugeordnetes mobiles Gerät eine Benachrichtigung anzuzeigen, die die erste Änderung an der Datei meldet, wenn die Benachrichtigungskategorie von den Abonnementpräferenzen zugelassen ist. Die Benachrichtigung beinhaltet eine grafische Vorschau auf die Datei, eine Datei-ID sowie die ID des ersten Benutzers.
  • Bei einigen Ausführungsformen beinhaltet die grafische Vorschau einen Teil der Datei, der von der ersten Änderung betroffen ist. Bei einigen Ausführungsformen hebt die grafische Vorschau einen Teil der Datei hervor, der von der ersten Änderung betroffen ist. Die grafische Vorschau kann einen Teil der Datei anzeigen, der vom ersten Benutzer bearbeitet wurde, und verschiedene andere Teile der Datei (z. B. andere Absätze) ausschließen, die nicht verändert wurden. Auf diese Weise kann der Benutzer in die Lage versetzt werden, die Änderungen zu sehen, ohne auf das gesamte Dokument zugreifen zu müssen, womit die Bandbreitennutzung und andere zugehörige Rechenressourcen reduziert werden. Bei einigen Beispielen kann der zweite Benutzer in der Lage sein, die erste Datei von der Benachrichtigung aus zu bearbeiten. Bei solchen Beispielen kann die Datei direkt von der Benachrichtigung aus bearbeitet werden, ohne die Datei in einer separaten Applikation zu öffnen. Dies kann unter anderem die Last der Benutzerschnittstellenkomponenten auf dem Gerät des Benutzers reduzieren, ebenso wie die kognitive Belastung des Benutzers. Die Benachrichtigung kann Aktionsschaltflächen enthalten, die dem zweiten Benutzer gestatten, auf die Benachrichtigung zu reagieren. Die Aktionsschaltflächen können eine Schaltfläche für die Kontaktierung des ersten Benutzers enthalten. Auf dem mobilen Gerät kann eine lokale Applikation aufgerufen werden, um die Datei in Reaktion auf die Auswahl einer der Aktionsschaltflächen zu verarbeiten. Zur Verarbeitung der Datei kann mindestens das Öffnen der Datei, die Anzeige der Datei oder die Bearbeitung der Datei gehören. Bei einigen Ausführungsformen wird auf dem mobilen Gerät eine lokale E-Mail-Applikation aufgerufen, die auf die Auswahl der Schaltfläche reagiert, den ersten Benutzer zu kontaktieren. Mit der lokalen E-Mail-Applikation wird automatisch eine E-Mail an die E-Mail-Adresse des ersten Benutzers generiert. Die Kontaktinformationen des ersten Benutzers können aus einem auf dem mobilen Gerät gespeicherten Adressbuch abgerufen werden. Bei einigen Ausführungsformen wird basierend auf der Identität des ersten in der Benachrichtigung enthaltenen Benutzers eine Telefonnummer des ersten Benutzers abgerufen und es wird in Reaktion auf eine Auswahl der Schaltfläche für die Kontaktierung des ersten Benutzers eine Textmeldung an die Telefonnummer des ersten Benutzers geschickt. Bei einigen Ausführungsformen wird eine zweite Meldung über eine zweite Änderung der Datei vom externen Server empfangen, und die erste und die zweite Änderung werden in Reaktion auf die Feststellung, dass die erste und die zweite Änderung zusammenhängen, gruppiert, sodass die Benachrichtigung die gruppierte erste und zweite Änderung meldet. Die Gruppierung von Änderungen kann dazu dienen, die Anzahl der gesendeten Benachrichtigungen zu reduzieren und damit die Bandbreite und die Rechenressourcen, die vom gesamten System verwendet werden, reduzieren.
  • Bei einigen Ausführungsformen beinhaltet die erste Änderung, dass dem zweiten Benutzer Zugriff auf die Datei erteilt wird. Die Aktionsschaltflächen können eine Aktionsschaltfläche für die Aktualisierung der Abonnementpräferenzen des zweiten Benutzers enthalten. Die Abonnementpräferenzen können mindestens einen Aktivitätstyp beinhalten, eine ID einer überwachten Datei, eine ID eines überwachten Ordners sowie eine Identität eines relevanten Benutzers. In einigen Ausführungsformen können die Kontaktinformationen des ersten Benutzers aus einem auf dem mobilen Gerät gespeicherten Adressbuch abgerufen werden. Bei einigen Ausführungsformen beinhaltet die Benachrichtigung weiterhin ein Bild des ersten Benutzers, einen Dateityp, eine Beschreibung der Datei, eine Größe der Datei, eine der Datei zugeordnete offene URL, eine Zeit der ersten Änderung, einen Typ der ersten Änderung oder eine ID des Dateieigentümers.
  • Kurze Beschreibung der Zeichnungen
  • Die obigen und anderen Merkmale der vorliegenden Offenbarung, einschließlich ihrer Art und ihrer verschiedenen Vorteile, werden anhand der folgenden detaillierten Beschreibung offensichtlicher, die sich in Zusammenhang mit den begleitenden Zeichnungen versteht, wobei:
  • 1 ein Blockdiagramm eines computergestützten Systems für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei gemäß einer veranschaulichenden Ausführungsform ist.
  • 2 ein Diagramm einer Systemarchitektur für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei gemäß einer veranschaulichenden Ausführungsform ist.
  • 3 ein Diagramm einer Anzeige einer Benutzeroberfläche, die die Abonnementpräferenzen eines Benutzers für den Empfang von Benachrichtigung über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei anzeigt, gemäß einer veranschaulichend Ausführungsform ist.
  • 4 ein Diagramm einer Benutzeroberfläche, die einen Benutzer über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei informiert, gemäß einer veranschaulichend Ausführungsform ist.
  • 5 ein Diagramm einer Anzeige einer Benutzeroberfläche, die einem Benutzer die Auswahl gestattet, wie er mit einer Datei, die einer Benachrichtigung zugeordnet ist, verfahren soll, gemäß einer veranschaulichenden Ausführungsform ist.
  • 6 ein Diagramm einer Anzeige einer Benutzeroberfläche, die einem Benutzer gestattet, eine Datei zu bearbeiten, die einer Benachrichtigung zugeordnet ist, ohne die Datei zu öffnen, gemäß einer veranschaulichenden Ausführungsform ist.
  • 7 ein Diagramm einer Anzeige einer Benutzeroberfläche, die eine E-Mail generiert, die an einen Bearbeiter einer im cloudbasierten Dateispeichersystem gespeicherten Datei adressiert ist, gemäß einer veranschaulichend Ausführungsform ist.
  • 8 ein Ablaufdiagramm eines veranschaulichenden Verfahrens für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei gemäß einer veranschaulichenden Ausführungsform ist.
  • 9 ein Ablaufdiagramm eines veranschaulichenden Verfahrens für das Ergreifen einer Maßnahme in Reaktion auf die Aktionseingabe eines Benutzers, die einer Benachrichtigung zugeordnet ist, gemäß einer veranschaulichenden Ausführungsform ist.
  • 10 ein Blockdiagramm eines Rechengeräts für die Ausführung eines der in diesem Dokument beschriebenen Prozesse gemäß einer veranschaulichenden Ausführungsform ist.
  • Ausführliche Beschreibung
  • Für ein allgemeines Verständnis der Offenbarung sind nachfolgend einige veranschaulichende Ausführungsformen beschrieben, einschließlich eines Systems für die Bereitstellung von Benachrichtigungen über Änderungen an Dateien, die in einem cloudbasierten Dateispeichersystem gespeichert sind. Insbesondere werden Systeme und Verfahren beschrieben, die die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei erlauben. Ein sachverständiger Leser wird jedoch verstehen, dass die in diesem Dokument beschriebenen Systeme und Verfahren nach Bedarf angepasst und abgeändert werden können, wie es für die jeweilige Applikation erforderlich ist, und dass die in diesem Dokument beschriebenen Systeme und Verfahren in anderen geeigneten Applikationen eingesetzt werden können, und dass solche andere Ergänzungen und Abänderungen nicht vom hier demonstrierten Umfang abweichen. Im Allgemeinen können die in diesem Dokument beschriebenen computergestützten Systeme aus einer oder mehreren Engines bestehen, die ein Verarbeitungsgerät oder mehrere Verarbeitungsgeräte beinhaltet bzw. beinhalten, wie beispielsweise einen Computer, einen Mikroprozessor, ein Logikgerät oder ein anderes Gerät oder einen anderen Prozessor, die unter Verwendung von Hardware, Firmware und Software so konfiguriert sind, dass sie ein oder mehrere der in diesem Dokument beschriebenen computergestützten Verfahren ausführen.
  • Die vorliegende Offenbarung beschreibt Systeme und Verfahren für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei. Die in diesem Dokument beschriebenen Systeme und Verfahren gestatten rechtzeitige, sinnvolle und verfolgbare Benachrichtigungen über Änderungen an Dateien. Die Systeme und Verfahren gestatten außerdem unter Verwendung von Abonnementpräferenzen, dass ein Benutzer steuern kann, welche Benachrichtigungsarten der Benutzer erhält. Die in diesem Dokument beschriebenen Benachrichtigungen sind dateizentriert, weil sie einen Benutzer über Aktionen und Aktivitäten benachrichtigen, die sich auf Dateien beziehen. Während sich diese Beschreibung hauptsächlich auf Anwendungsfälle auf einem mobilen Gerät konzentriert, sind die in diesem Dokument beschriebenen Systeme und Verfahren auch direkt auf beliebige andere Plattformen anwendbar, die Benachrichtigungen zugeordnet sind. Die in diesem Dokument beschriebenen Systeme und Verfahren sind im Hinblick auf ein webbasiertes Speichersystem beschrieben, das über ein Netzwerk mit anderen Systemen kommunizieren kann, um Benutzerdaten zu speichern und gemeinsam zu nutzen. Im Allgemeinen wird eine Person mit normalen Kenntnissen dieser Materie verstehen, dass die hier beschriebenen Systeme und Methoden sich auf Systeme beziehen, die lokal miteinander verbunden sind, ohne über das Ausmaß dessen hinauszugehen.
  • Die in diesem Dokument beschriebenen Systeme und Verfahren gestatten, dass ein Benutzer über eine Änderung benachrichtigt wird, die an einer Datei in einem cloudbasierten Dateispeichersystem vorgenommen wird, ohne dass es erforderlich ist, eine Applikation manuell zu starten und manuell auf Änderungen zu überprüfen. Stattdessen gestatten die Systeme und Verfahren, dass ein Prozess im Hintergrund eines mobilen Geräts ausgeführt wird, der überprüft, ob eine Änderung an einer Datei stattgefunden hat. Wenn eine Änderung erkannt wird, kann der Prozess den Benutzer über die Änderung benachrichtigen. Der Benutzer wird nicht nur über die Änderung benachrichtigt, sondern es werden auch Details über die Änderung bereitgestellt. Zu den Details können beispielsweise unter anderem eine ID des für die Änderung verantwortlichen Benutzers, relevante Metadaten (z. B. eine ID der geänderten Datei, ein Titel, ein Symbol, eine offene URL, ein Dateityp, eine Beschreibung, eine Dateigröße) oder eine grafische Vorschau auf die geänderte Datei gehören. Auf diese Weise entfällt die Notwendigkeit, dass ein Benutzer eine separate Benutzeroberfläche öffnen muss, um Details über die Änderung zu erfahren. Darüber hinaus kann die Benachrichtigung Aktionsschaltflächen enthalten, die gestatten, Aktionen in Reaktion auf die Benachrichtigung zu ergreifen. Beispielsweise kann der Benutzer in der Lage sein, die Datei direkt über die grafische Vorschau zu bearbeiten (z. B. Text in die Datei einfügen oder daraus löschen), die zusammen mit der Benachrichtigung bereitgestellt wird, ohne eine separate Applikation starten zu müssen. Auf diese Weise kann der Benutzer schnell Änderungen an Dateien erkennen, interpretieren und darauf reagieren, ohne zusätzliche Benutzeroberflächen starten zu müssen.
  • Bei einigen Ausführungsformen beinhaltet die Benachrichtigung eine E-Mail-Option, die dem Benutzer gestattet, eine E-Mail an den für eine Änderung verantwortlichen Bearbeiter zu senden. In solchen Fällen kann die E-Mail automatisch an den Bearbeiter adressiert werden, und die Betreffzeile der E-Mail kann vorab mit einer Beschreibung der Datei ausgefüllt werden. Die automatische Adressierung und das automatische Befüllen der E-Mail können die Kommunikation mit dem Bearbeiter schneller und bequemer machen, und damit die Zusammenarbeit an dringenden Projekten vereinfachen. In einigen Ausführungsformen kann ein Benutzer die Benachrichtigung verwenden, um den Bearbeiter über andere Kommunikationsmodi zu kontaktieren. Beispielsweise kann die Benachrichtigung eine Option enthalten, die dem Benutzer gestattet, eine Textmeldung, eine Videokonferenz oder einen Telefonanruf zum Bearbeiter zu veranlassen. Dies kann für sehr dringende Projekte eine Kommunikationsmethode darstellen, die noch schneller und direkter als E-Mail ist. Die oben genannten Merkmale vereinfachen außerdem die Zusammenarbeit mit Benutzern, die gerade nicht an ihrem Arbeitsplatz oder auf Reisen sind, insbesondere bei der Arbeit an zeitkritischen Projekten. Diese und andere Vorteile werden nach Berücksichtigung der folgenden detaillierten Beschreibung noch offensichtlicher.
  • 1 zeigt ein Beispiel für ein Netzwerk und eine Datenbankstruktur, die verwendet werden können, um die in diesem Dokument beschriebenen Systeme und Verfahren zu implementieren. 1 ist ein Blockdiagramm eines computergestützten Systems 100 für die Ermöglichung dateizentrierter Benachrichtigungen. Das System 100 beinhaltet ein webbasiertes Speichersystem 114, ein Benutzergerät 102 und ein mobiles Gerät 104, die alle so konfiguriert sind, dass sie über ein Netzwerk 101 kommunizieren. Ein erster Benutzer 103 ist dem Benutzergerät 102 zugeordnet, und ein zweiter Benutzer 105 ist dem mobilen Gerät 104 zugeordnet. Der erste Benutzer 103 kann der Eigentümer des Benutzergeräts 102 sein oder dieses physisch besitzen. Analog dazu kann der zweite Benutzer 105 der Eigentümer des mobilen Geräts 104 sein oder dieses physisch besitzen. Das webbasierte Speichersystem 114 beinhaltet einen Server 116, einen Prozessor 118 und eine Benutzerdatenbank 120. Das mobile Gerät 104 beinhaltet einen Prozessor 108, ein Display 110, ein Benutzereingabegerät 112 und eine Datenbank, in der die Abonnementpräferenzen 113 gespeichert sind. Das Benutzergerät 102 und das mobile Gerät 104 können jeweils ein Smartphone, ein Tablet, ein am Körper tragbares Rechengerät, ein Laptop, ein Desktop oder ein anderes geeignetes Rechengerät sein.
  • Wie in diesem Dokument benutzt, bezieht sich der Begriff „Prozessor” auf einen oder mehrere Computer, Mikroprozessoren, Logikgeräte, Server oder andere Geräte, die unter Verwendung von Hardware, Firmware und Software konfiguriert sind, um eine oder mehrere der in diesem Dokument beschriebenen computergestützten Techniken auszuführen. Prozessoren und Rechengeräte können auch ein oder mehrere Speichergeräte für das Speichern von Eingaben, Ausgaben und aktuell verarbeiteten Daten beinhalten. Nur ein webbasiertes Speichersystem 114 und nur zwei Geräte 102 und 104 sind in 1 gezeigt, um die Zeichnung nicht zu verkomplizieren. Im Allgemeinen kann das System 100 mehrere webbasierte Speichersysteme und beliebig viele Benutzergeräte und mobile Geräte unterstützen.
  • Das webbasierte Speichersystem 114 ist ein Datei-Hostingsystem, das Benutzern gestattet, Daten zu speichern, abzurufen und zu ändern. Diese Daten können als die Webdaten eines Benutzers bezeichnet werden, die in der Benutzerdatenbank 120 gespeichert sind. Der Server 116, der Prozessor 118 oder beide können Funktionen ausführen, die mit der Verwaltung der Benutzerdatenbank 120 zu tun haben, wie beispielsweise das Reservieren von Speicher für die Daten, den Empfang neuer Daten, die in der Datenbank gespeichert werden sollen, das Löschen von Daten aus der Datenbank oder jede andere geeignete Funktion, die mit der Datenbankverwaltung zu tun hat. Das webbasierte Speichersystem 114 kann auf einem einzigen Serversystem oder in einem verteilten System gespeichert werden. Insbesondere kann das webbasierte Speichersystem 114 einen Cloud-Speicher verwenden, um Benutzerdaten zu speichern.
  • Die Benutzerdatenbank 120 des Web-Speichersystems 114 beinhaltet eine Datei 121, die dem zweiten Benutzer 105 zugeordnet ist. Insbesondere ist im Beispiel in 1 die Datei 121 Eigentum des zweiten Benutzers 105. In einigen Ausführungsformen ist die Datei 121 dem zweiten Benutzer 105 zugeordnet, weil der zweite Benutzer 105 ein Interesse an der Datei registriert hat (z. B. wenn er die Dateien abonniert hat), die Datei kommentiert hat, den Zugriff auf die Datei erhalten hat, zuvor Zugriff auf die Datei hatte, oder aus irgendeinem anderen vertretbaren Grund. Der erste Benutzer 103 kann mit der Datei 121 über das Benutzergerät 102 interagieren. Der erste Benutzer 103 kann mit der Datei 121 interagieren, indem er die Datei 121 teilt (mit dem zweiten Benutzer 105 oder mit einem anderen Benutzer), indem er die Datei 121 bearbeitet (direkt oder über eine Applikation eines Drittanbieters), indem er die Datei 121 kommentiert, indem er die Datei 121 löscht, indem er eine Operation des Arbeitsablaufs für die Datei 121 ausführt (z. B. Prozessgenehmigung), indem er der Datei 121 eine neue Überarbeitung hinzufügt, indem er auf einen der Datei 121 zugeordneten Kommentar antwortet, oder durch irgendeine andere geeignete Aktion, die mit einer Änderung des Inhalts oder den zugeordneten Metadaten der Datei 121 zu tun hat.
  • Nachdem der erste Benutzer 103 eine Aktion für die Datei 121 ausgeführt hat, wird die Änderung vom webbasierten Speichersystem 114 protokolliert. Ein Hinweis auf die Aktion des ersten Benutzers 103 (z. B. ein Änderungsereignis) wird über das Netzwerk 101 an das mobile Gerät 104 gesendet. Der Hinweis kann von dem webbasierten Speichersystem 114 gesendet werden, unmittelbar nachdem die Änderung erkannt wurde (z. B. eine Push-Architektur), oder in Reaktion auf einen regelmäßigen Abruf durch das mobile Gerät 104 (z. B. eine Polling-Architektur). Wenn eine Polling-Architektur verwendet wird, können die Änderungen vom mobilen Gerät 104 in regelmäßigen Abständen abgefragt werden (z. B. 1 s, 10 s, 30 s, 1 min, 5 min, 30 min, 1 h, 1 Tag oder in einem anderen geeigneten Intervall), und die verwandten Änderungen können in einem Stapel zusammenfasst, gruppiert, kombiniert, verbunden oder anderweitig in einer kombinierten Benachrichtigung zusammengefasst werden. Verwandte Änderungen können Aktionen sein, die für dieselbe Datei ausgeführt werden, Aktionen, die vom selben Bearbeiter ausgeführt werden, oder Aktionen, die temporär eng gruppiert sind (z. B. innerhalb von 1 s, 2 s, 5 s, 10 s, 1 min, 5 min, 10 min, 1 h oder eines anderen geeigneten Zeitrahmens). Hinweise können an den zweiten Benutzer 105 in Reaktion auf Aktionen von anderen Akteuren als dem ersten Benutzer 103 gesendet werden (z. B. von einem anderen Benutzer, einer Applikation eines Drittanbieters oder jeder anderen Einheit, die gegebenenfalls Zugriff auf die Datei 121 hat).
  • Nachdem das mobile Gerät 104 einen Hinweis über eine Änderung von dem webbasierten Speichersystem 114 erhalten hat, verwendet das mobile Gerät 104 die Abonnementpräferenzen 113, um festzustellen, ob die Änderung zu einer Kategorie gehört, an der der zweite Benutzer 105 ein Interesse registriert hat. Wenn die Abonnementpräferenzen 113 anzeigen, dass der zweite Benutzer 105 daran interessiert ist, eine Benachrichtigung über die Änderung zu erhalten, wird eine Benachrichtigung generiert und auf dem Display 110 des mobilen Geräts 104 angezeigt. Der zweite Benutzer 105 kann die Benachrichtigung ansehen, auf die Benachrichtigung reagieren, seine Abonnementpräferenzen 113 aktualisieren oder eine beliebige andere geeignete Operation in Reaktion auf den Empfang der Benachrichtigung ausführen.
  • Bei einigen Ausführungsformen stellt das webbasierte Speichersystem 114 fest, ob eine Änderung mit den Abonnementpräferenzen des zweiten Benutzers übereinstimmt, bevor ein Hinweis auf eine Änderung gesendet wird. In solchen Fällen können die Abonnementpräferenzen des zweiten Benutzers 105 in der Benutzerdaten-Datenbank 120 gespeichert werden, oder in einer separaten Datenbank, auf die 114 Zugriff hat. Stimmt eine erkannte Änderung nicht mit einer in den Abonnementpräferenzen registrierten Kategorie übereinstimmt, sendet das webbasierte Speichersystem 114 keinen Änderungshinweis an das mobile Gerät 104.
  • 2 ist ein Diagramm einer Systemarchitektur 200 für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei gemäß einer veranschaulichenden Ausführungsform. Die Architektur 200 kann für das System 100 der 1 verwendet werden. Die Architektur 200 beinhaltet drei Schichten: eine Schicht 202 mit der Client-Benutzeroberfläche (UI) eine logische Schicht des Clients 204 und eine Server-Schicht 206. Die Client-UI-Schicht 202 beinhaltet einen Präferenzen-Manager 208 und ein Benachrichtigungs-API (Application Programming Interface) 210. Das Client-Gerät kann das mobile Gerät 104 der 1 sein. Die logische Schicht des Clients 204 beinhaltet eine Schicht der Benachrichtigungs-Serverschnittstelle 212, eine Datenbank mit den Benachrichtigungspräferenzen des Benutzers 214, einen Benachrichtigungs-Prozessor 216, einen Kommunikations-Manager 218, ein Verarbeitungsprogramm für die Aktionen des Benutzers bei Benachrichtigungen 220 sowie ein Intent-Verarbeitungssystem 222. Die Logikschicht des Clients 204 ist verantwortlich für das Speichern von Benutzerpräferenzen, den Empfang von Änderungsereignissen, die Verarbeitung von Änderungsereignissen, die Zusammenfassung von Änderungsereignissen, die Veranlassung von Benachrichtigungen und die entsprechende Weiterleitung der Interaktionen des Benutzers für die Benachrichtigungen. Die Serverschicht 206 beinhaltet einen Cloud-Speicherservice 224, der einen Push-Benachrichtigungskanal 232 und mehrere APIs hat: ein Dateien-API 226, ein Änderungen-API 228 und ein Aktivitäts-API 230. Es wird vorausgesetzt, dass die Server-Schicht bei einigen Anwendungen eine geeignete Anzahl an APIs beinhalten kann. Die Server-Schicht 206 ist verantwortlich für den Empfang, die Verarbeitung und die Beantwortung von programmierten Abfragen, die von Komponenten in der Client-Logikschicht 204 ausgegeben werden.
  • Im Allgemeinen arbeitet die Architektur 200 in drei Phasen: einer Phase für die Anzeige der Präferenzen, einer Phase für die Erkennung einer Benachrichtigung und einer Phase der Anzeige der Benachrichtigung. In der Phase für die Anzeige der Präferenzen werden die Präferenzen des Benutzers zusammengefasst und vom Präferenzen-Manager 208 aufgezeichnet. Der Präferenzen-Manager 208 ist so konfiguriert, dass er eine Liste der Benachrichtigungsoptionen anzeigt und einen Hinweis auf die Typen oder Kategorien von Benachrichtigungen empfängt, die der Benutzer erhalten will. Eine exemplarische Benutzeroberfläche für den Präferenzen-Manager 208 ist in Bezug auf die 3 gezeigt und beschrieben. Unter Verwendung des Präferenzen-Managers 208 können die Benutzer auswählen, beispielsweise benachrichtigt zu werden, wenn eine Datei mit ihnen geteilt wird, wenn eine Datei, die ihnen gehört, bearbeitet wird, wenn eine Datei, die ihnen gehört, mit jemandem anderen geteilt wird (z. B. Zugriffseskalation), wenn eine Datei, die ihnen gehört, bearbeitet, gelöscht, geteilt oder kommentiert wird, wenn ihr Zugriff auf eine Datei entfernt wird, wenn bestimmte Operationen des Arbeitsablaufs für eine Datei ausgeführt wurden (z. B. Prozessgenehmigung), wenn eine Applikation eines Drittanbieters eine Datei bearbeitet, die ihnen gehört, oder an denen sie ein Interesse registriert haben, wenn einer Datei, die ihnen gehört, eine neue Überarbeitung hinzugefügt wird, wenn eine Datei, die ihnen gehört, oder an der sie ein Interesse ausgedrückt haben, kommentiert wird, wenn ein bestimmter Kommentar, den sie in einer Datei hinterlassen haben, beantwortet wurde, oder bei irgendeinem anderen relevanten Ereignis im Hinblick auf eine Datei. Nach Empfang der Präferenzen speichert der Präferenzen-Manager 208 die Präferenzen des Benutzers in der Datenbank für die Benutzerpräferenzen der Benachrichtigungen 214. Die Benutzerpräferenzen können auch vom Datei-API 226 im Cloud-Speicherservice 224 gespeichert werden. Bei einigen Ausführungsformen ist die Liste der verfügbaren Optionen (einschließlich derjenigen, die aktuell nicht vom Benutzer ausgewählt sind) im Cloud-Speicherservice 224 definiert, und sie werden deshalb vom Präferenzen-Manager 208 empfangen.
  • In der Phase der Erkennung der Benachrichtigung werden Benachrichtigungsdaten empfangen und verarbeitet und es wird darauf reagiert. Die Phase der Erkennung der Benachrichtigung wird möglicherweise hauptsächlich vom Kommunikations-Manager 218 ausgeführt. Der Kommunikations-Manager 218 kann ein Prozess sein, der im Wesentlichen stetig im Hintergrund auf dem Client-Gerät (z. B. dem mobilen Gerät 104) ausgeführt wird. Der Kommunikations-Manager 218 erhält Änderungsereignisse (z. B. einen Hinweis auf eine Änderung einer Datei) von einem der APIs (z. B. dem Änderungs-API 228). Die Änderungsereignisse können in Reaktion auf eine regelmäßige Abfrage der APIs empfangen werden (z. B. Polling-Architektur), oder sie können in einer gepushten Daten-Nutzlast vom Cloud-Speicherservice 224 über eine spezielle Socket-Verbindung (z. B. Push-Architektur) empfangen werden.
  • Bei Ausführungsformen, die eine Polling-Architektur verwenden, kann der Kommunikations-Manager 218 als Hintergrund-Thread arbeiten und regelmäßig eine Polling-Schleife ausführen. Während der Polling-Schleifen fragt der Kommunikations-Manager 218 Änderungsereignisse ab (z. B. potentielle Benachrichtigungen), fasst alle Änderungsereignisse mit Benutzerpräferenzen zusammen und sendet alle zulässigen Benachrichtigungen für die Anzeige. Zulässige Benachrichtigungen sind Benachrichtigungen, die von den Benutzerpräferenzen erlaubt sind. Die Erfassung und Verarbeitung von Änderungsereignissen wird somit regelmäßig durchgeführt. Das Intervall kann festgelegt werden oder variieren (z. B. abhängig von der Server-Auslastung). Im Allgemeinen kann das Intervall ausgewählt werden, um die Benachrichtigungslatenz zu reduzieren (z. B. die Zeit zwischen dem Auftreten des Ereignisses und der Benachrichtigung über das Ereignis an den Benutzer), während eine akzeptabel geringe Last auf dem Server des Cloud-Speicherservice 224 beibehalten wird.
  • In Ausführungsformen, die eine Push-Architektur verwenden, kann der Kommunikations-Manager 218 einen langfristigen Push-Benachrichtigungskanal 232 bei dem Cloud-Speicherservice 224 einrichten. Daten können direkt vom Cloud-Speicherservice 224 über den Push-Benachrichtigungskanal 232 an den Client gesendet werden, womit die Notwendigkeit entfallen kann, dass der Kommunikations-Manager 218 ein Polling durchführen muss. Bei einer solchen Architektur kann der Cloud-Speicherservice 224 Änderungsereignisse an den Client senden, wenn diese auftreten. Da Änderungsereignisse im Allgemeinen seltener auftreten können, als innerhalb eines Polling-Intervalls, kann die direkte Übertragung von Änderungsereignissen den Verkehr zwischen Client und Server reduzieren, ebenso wie die Akkunutzung und den Datenverbrauch eines mobilen Netzwerks. In solchen Ausführungsformen sind zusätzliche Informationen über die Datei (z. B. Aktivitätsinformationen) in der Nutzlast enthalten, die vom Cloud-Speicherservice 224 an den Kommunikations-Manager 218 gesendet wird. In solchen Fällen muss der Kommunikations-Manager 218 das Aktivitäts-API 230 möglicherweise nicht aufrufen, um zusätzliche Informationen über die geänderte Datei zu erhalten.
  • Nach dem Empfang eines Änderungsereignisses (oder einer Gruppe von Änderungsereignissen) führt der Kommunikations-Manager 218 das Änderungsereignis mit den Benutzerpräferenzen zusammen, indem er die im Benachrichtigungsprozessor 216 gespeicherte Logik aufruft. Der Kommunikations-Manager 218 fragt dann den Benachrichtigungsprozessor 216 ab, um mehrere Änderungen an derselben Datei in einem Stapel zusammenzufassen, zu gruppieren, zu kombinieren, zu verbinden oder anderweitig zusammenzufassen, um doppelte oder ähnliche Benachrichtigungen zu vermeiden. Nach Bedarf und falls vom Benachrichtigungsprozessor 216 angewiesen, ruft der Kommunikations-Manager 218 die APls erneut auf (z. B. das Aktivitäts-API 230), um weitere Details über eine spezifische Datei zu erhalten, die einer Benachrichtigung zugeordnet ist. Die zusätzlichen Details können den Benutzer beinhalten, der die Datei zuletzt geändert hat, spezifische Änderungen, die durchgeführt wurden, oder andere relevante Informationen über die Datei. Anschließend bereitet der Kommunikations-Manager 218 die Benachrichtigung vor, die eine Client-Benachrichtigungsnutzlast mit den für die Anzeige erforderlichen Informationen enthält. Die Client-Benachrichtigungsnutzlast wird durch das Benachrichtigungs-API 210 definiert, das lokal für den Client sein kann. Die Client-Benachrichtigungsnutzlast beinhaltet Metadaten, die der Datei zugeordnet sind. Metadaten können eine Datenmenge sein, die andere Daten beschreibt und Informationen über diese bereitstellt. Metadaten für eine Datei können vom Inhalt der Datei unterschieden werden. Beispielsweise kann der Inhalt einer Textdatei Text sein, der in dieser gespeichert ist, während die Metadaten den Dateinamen, die Dateigröße, den Dateityp, das Datum der letzten Änderung, das Datum der Erstellung, den Namen des Dateieigentümers oder vergleichbare Informationen enthalten. Bei einigen Ausführungsformen beinhaltet die Client-Benachrichtigungsnutzlast eine primäre Beschreibung, eine sekundäre Beschreibung, ein Bild, Aktionen, Callbacks oder andere relevante Metadaten, die der Datei zugeordnet sind.
  • Nachdem die Benachrichtigungsnutzlast vorbereitet ist, ruft der Kommunikations-Manager 218 den Benachrichtigungsprozessor 216 auf, um die Benachrichtigung anzuzeigen. Wie oben beschrieben, ist der Benachrichtigungsprozessor 216 verantwortlich für die Zusammenfassung der Daten in Stapeln. die Gruppierung, Kombination, Verbindung oder anderweitige Zusammenfassung mehrerer doppelter oder ähnlicher Benachrichtigungen. Bei einigen Ausführungsformen kombiniert der Benachrichtigungsprozessor 216 diese Benachrichtigungen, um eine einzige kombinierte Benachrichtigung an den Benutzer zu senden, falls mehrere Bearbeiter dieselbe Datei ändern, die dem aktuellen Benutzer gehört (vorausgesetzt, die Benachrichtigungen sind durch die Benutzerpräferenzen erlaubt). Wenn beispielsweise vier Benutzer dieselbe Datei bearbeiten, kann eine kombinierte Benachrichtigung mit der primären Beschreibung „Benutzer A und drei andere haben die Datei <Dateiname> geändert” angezeigt werden.
  • Die Phase für die Anzeige der Benachrichtigung beginnt, wenn das Benachrichtigungs-API 210 auf dem Client einen Aufruf vom Benachrichtigungsprozessor 216 erhält. In Reaktion auf den Aufruf zeigt das Benachrichtigungs-API 210 dem Benutzer die Benachrichtigung an. Die Mechanik und das Aussehen der Benachrichtigung kann zwischen verschiedenen Plattformen variieren, wie auch die Benutzeroberfläche der Plattform für Benachrichtigungen variieren kann. Eine Plattform kann eine beliebige Umgebung sein, in der eine bestimmte Software zur Ausführung vorgesehen ist. Eine Plattform kann eine Hardware-Architektur, ein Betriebssystem (OS) oder Laufzeitbibliotheken beinhalten. Plattformen, die mit den in diesem Dokument beschriebenen Systemen und Verfahren kompatibel sind, können lokale Betriebssysteme, mobile Geräte (z. B. Smartphones oder Tablets), webbasierte Betriebssysteme, am Körper tragbare elektronische Geräte (z. B. Brillen oder Uhren) sowie beliebige andere geeignete Plattformen sein. Die Phase für die Anzeige der Benachrichtigung kann mit verschiedenen anderen Plattformen über ihr jeweiliges Benachrichtigungs-API zusammenarbeiten. Aus diesem Grund sind die in diesem Dokument beschriebenen Benachrichtigungssysteme und -verfahren nicht an eine bestimmte Plattform gebunden, sondern stattdessen so konfiguriert, dass sie plattformübergreifend funktionieren (z. B. für plattformübergreifende Benachrichtigungen). Bei einigen Ausführungsformen erscheinen die Benachrichtigungen nicht störend, z. B. in einer Benachrichtigungsleiste oben auf dem Display, ohne das restliche Display zu stören. In solchen Fällen kann der Benutzer zusätzliche Details abrufen, indem er mit der Benachrichtigung interagiert (z. B. durch Wischen, Ziehen, Schieben oder Drücken).
  • Die Phase für die Anzeige der Benachrichtigung kann auch beinhalten, es einem Benutzer zu erlauben, verschiedene Aktionen für die Benachrichtigung oder in Reaktion darauf auszuführen. Beispielsweise kann der Benutzer mit der der Benachrichtigung zugeordneten Datei interagieren, den für die Benachrichtigung verantwortlichen Benutzer kontaktieren (z. B. den Bearbeiter), die in der Datenbank 214 gespeicherten Abonnementpräferenzen aktualisieren, die Benachrichtigung verwerfen oder eine beliebige andere geeignete Aktion ausführen. Diese Aktionen werden weiter beschrieben in Bezug auf 9. Unabhängig davon, welche Aktion der Benutzer auswählt, verarbeitet das Aktionsverarbeitungsprogramm 220 des Benutzers die Aktion. Die Verarbeitung kann die Aktion interpretieren oder eine Callback-Funktion ausführen. Wenn die der Benachrichtigung zugeordnete Datei geöffnet wird, wird das Intent-Verarbeitungssystem 222 aufgerufen. Das Intent-Verarbeitungssystem 222 ist so konfiguriert, dass es prozessübergreifende Operationen ausführt, beispielsweise das Öffnen der Datei mit einer nativen Applikation auf dem Client, oder das Öffnen einer lokalen E-Mail-Applikation, um eine E-Mail an den Bearbeiter der Datei zu senden.
  • Wenn sich die empfangene Benutzeraktion auf das Öffnen der der Benachrichtigung zugeordneten Datei bezieht, kann die Datei in einer von vielen verschiedenen Arten geöffnet werden. Bei einigen Ausführungsformen wird eine einzige Applikation, die zuvor für den Dateityp festgelegt wurde, aufgerufen, um eine vollständige Bearbeitung der Datei zu gestatten. Bei bestimmten Ausführungsformen werden mehrere lokale Applikationen auf dem Client-System angezeigt, die für die Verarbeitung der Datei registriert sind (z. B. Applikationen von Drittanbietern), und ein Benutzer wählt eine einzige Applikation aus, die für das Öffnen der Datei verwendet werden soll. Bei einigen Ausführungsformen wird eine generische eingebaute Vorschauapplikation aufgerufen, die mehrere Dateitypen verarbeiten kann, wie beispielsweise Dokumente, Tabellenkalkulationen und Diashow-Präsentationen, um eine schreibgeschützte Anzeige der Datei zu bieten. Bei bestimmten Ausführungsformen wird die Datei in einer webbasierten Ansicht (z. B. nicht nativ) geöffnet, beispielsweise in einem Webbrowser, so als würde von einem Desktop-Computer über das Web darauf zugegriffen.
  • 3 ist ein Diagramm einer Anzeige einer exemplarischen Benutzeroberfläche 300, die die Abonnementpräferenzen eines Benutzers für den Empfang von Benachrichtigung über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei anzeigt. Vor dem Empfangen einer Benachrichtigung muss sich ein Benutzer möglicherweise für eine oder mehrere Benachrichtigungskategorien registrieren (z. B. ein Abonnement dafür anmelden). Dazu verwendet er die Benutzeroberfläche 300. Die Benutzeroberfläche 300 kann dem zweiten Benutzer 105 von 1 über das Display 110 des mobilen Geräts 104 angezeigt werden. Die Benutzeroberfläche 300 beinhaltet einen Abschnitt mit einem Benachrichtigungskonto 302, dem Feld für das ausgewählte Benachrichtigungskonto 304, einen Optionsabschnitt 306, eine Vibrationsoption 310, eine Option für eine akustische Benachrichtigung 312, einen Abschnitt mit den Benachrichtigungskategorien 314 sowie Benachrichtigungsoptionen 316321. Im Abschnitt für das Benachrichtigungskonto 302 gibt der Benutzer das Benachrichtigungskonto an, für das er Abonnementpräferenzen setzen will. Das Benachrichtigungssystem gestattet dem Benutzer, mehrere Benutzerkonten zu verwalten, sodass ein Benutzer unterschiedliche Präferenzen für unterschiedliche Konten spezifizieren kann. Das ausgewählte Benutzerkonto wird in dem Feld für das ausgewählte Benachrichtigungskonto 304 angezeigt. Bei einigen Ausführungsformen hat der Benutzer die Option, eine automatische Synchronisierung der Abonnementpräferenzen mit den Abonnementpräferenzen für ein anderes Gerät, das dem ausgewählten Benutzerkonto zugeordnet ist, zu konfigurieren.
  • Die Option zur Aktivierung von Benachrichtigungen 308 im Optionsabschnitt 306 ermöglicht dem Benutzer die Auswahl, ob überhaupt Benachrichtigungen aktiviert sein sollen. Wenn Benachrichtigungen aktiviert sind, kann der Benutzer wählen, welche Arten von Benachrichtigungsmechanismen für die Benachrichtigung enthalten sind. Beispielsweise aktivieren die Vibrationsoption 310 sowie die Option für die Ausgabe eines akustischen Hinweises 312 zusammen mit der Benachrichtigung eine Vibration bzw. einen akustischen Hinweis. Bei einigen Ausführungsformen kann ein Benutzer ein Licht auswählen (z. B. eine LED am mobilen Gerät), oder einen anderen Sound-Typ, der zusammen mit der Benachrichtigung ausgegeben wird. Der Benutzer kann auch das visuelle Aussehen der angezeigten Benachrichtigung auswählen. Beispielsweise kann der Benutzer auswählen, ob die Benachrichtigung als Popup, als Badge oder als Banner angezeigt werden soll. Ein Popup kann vom Benutzer eine unmittelbare Reaktion oder ein Verwerfen der Benachrichtigung erforderlich machen, bevor er die Client-Geräte weiter benutzen kann. Ein Banner kann dem Benutzer erlauben, das Client-Gerät weiter zu verwenden, während die Benachrichtigung angezeigt wird, und sie kann automatisch verworfen werden. Ein Badge kann eine Benachrichtigung sein, die einem Symbol für eine bestimmte Applikation übergelagert ist (z. B. auf einem Home-Bildschirm eines Client-Geräts). Eine Benachrichtigung kann auch in einem speziellen Benachrichtigungsbereich oder im Benachrichtigungszentrum auf dem Client-Gerät erscheinen.
  • Der Benachrichtigungskategoriebereich 314 gestattet einem Benutzer, die Arten der Benachrichtigungen auszuwählen, die der Benutzer empfangen will. Die Optionen 316321 erlauben, dass Benachrichtigungen erzeugt werden, wenn jemand eine Datei mit dem Benutzer teilt, wenn Änderungen an einer Datei stattfinden, die dem Benutzer gehört, wenn Änderung an einer Datei stattfinden, an der der Benutzer ein Interesse registriert hat, wenn Änderungen an einer Datei stattfinden, die der Benutzer kommentiert hat, wenn eine Applikation eines Drittanbieters eine Datei bearbeitet, die dem Benutzer gehört, oder wenn Änderungen an einer Datei in einem Ordner stattfinden, an dem der Benutzer ein Interesse registriert hat. Während die in 3 nur die Optionen 316321 gezeigt sind, können in anderen Ausführungsformen mehr Optionen, weniger Optionen oder andere Optionen angezeigt werden. Beispielsweise gestattet die Benutzeroberfläche 300 in einigen Ausführungsformen einem Benutzer, die Benachrichtigung für einige vom Benutzer festgelegte Dateien stummzuschalten oder zu unterdrücken. Auf diese Weise erhält der Benutzer keine Benachrichtigungen über bestimmte, festgelegte Dateien. In bestimmten Ausführungsformen kann ein Benutzer alle Benachrichtigungen unterdrücken, außer einer spezifischen nummerierten Liste mit Dateien. Auf diese Weise erhält der Benutzer nur Benachrichtigungen über bestimmte, festgelegte Dateien. Die oben beschriebenen Ausführungsformen können auch Abonnementpräferenzen gestatten, die sich zusätzlich zu oder anstelle von bestimmten Dateien auf ganze Ordner beziehen. Beispielsweise kann ein Benutzer Benachrichtigungen über alle Dateien in einem bestimmten Ordner oder in einer Ordnermenge stummschalten oder unterdrücken, oder nur Benachrichtigungen gestatten, wenn sie sich auf eine Datei in einem bestimmten Ordner oder in einer Ordnermenge beziehen. Darüber hinaus gestattet es die Benutzeroberfläche 300 in einigen Ausführungsformen, Benachrichtigungen über eine Aktion stummzuschalten oder zu unterdrücken, die von einem bestimmten Benutzer oder einer Liste von Benutzern ausgeführt wurden. Auf ähnliche Weise gestattet es die Benutzeroberfläche 300 in einigen Ausführungsformen, nur Benachrichtigungen über eine Aktion zu empfangen, die von einem bestimmten Benutzer oder einer Liste von Benutzern ausgeführt wurden. Alle oben genannten Kriterien können kombiniert werden. Beispielsweise kann der Benutzer die Benutzeroberfläche 300 verwenden, um sich für Benachrichtigungen über Dateien in den Ordnern A, B oder C zu bieten dem Benutzer ein hohes Maß an Kontrolle über die Anzeige von Benachrichtigungen. Die Blockierung von Benachrichtigungen im Hinblick auf bestimmte Dateien, Ordner oder Benutzer können die Anzahl der unerwünschten Benachrichtigungen reduzieren, die der Benutzer empfängt. Einem Benutzer zu gestatten, Benachrichtigungen im Hinblick auf Dateien oder Ordner zu empfangen, an denen ein Benutzer ein Interesse registriert hat, gestattet dem Benutzer, wichtige Änderungen an Dateien zu überwachen, die nicht dem Benutzer gehören. Dies kann die Nachverfolgung von Änderungen an einer Datei vereinfachen, an der ein Benutzer mitarbeitet, die ihm aber nicht gehört.
  • 4 ist ein Diagramm einer exemplarischen Benutzeroberfläche 400, die einen Benutzer über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei informiert. Die Benutzeroberfläche 400 kann auf dem mobilen Gerät 104 von 1 angezeigt werden. Die Benutzeroberfläche 400 benachrichtigt den zweiten Benutzer 105 von 1 darüber, dass der erste Benutzer 103 eine Datei bearbeitet hat, die dem zweiten Benutzer 105 gehört. Die Benutzeroberfläche 400 beinhaltet eine Benachrichtigung 402, die eine primäre Beschreibung 404 enthält, eine sekundäre Beschreibung 406, ein Bild, 408, eine grafische Vorschau 410, eine Zeit 412 und Aktionsschaltflächen 416 und 418. Die primäre Beschreibung 404 gibt den Typ der Aktion aus, die die Benachrichtigung ausgelöst hat, und die ID des Benutzers, der die Aktion ausgeführt hat. In dem Beispiel in 4, die primäre Beschreibung 404 gibt an, dass Benutzer 1 (z. B. der erste Benutzer 103 in 1) eine Datei bearbeitet hat. Die sekundäre Beschreibung 406 kennzeichnet die Datei, für die die Aktion ausgeführt wurde. In diesem Fall ist „FileNameA.type” die betroffene Datei. Das Bild 408 zeigt den Benutzer an, der die Aktion ausgeführt hat. In diesem Fall ist das Bild 408 ein Foto oder ein grafischer Hinweis auf den ersten Benutzer. Bei einigen Ausführungsformen gestattet die Arbeit mit dem Bild 408 dem Benutzer, den Benutzer zu kontaktieren, der die Aktion ausgeführt hat. Beispielsweise kann der zweite Benutzer auf das Bild 408 klicken, um die Kontaktinformationen des ersten Benutzers zu erhalten. Diese Kontaktinformation kann aus dem Adressbuch des zweiten Benutzers abgerufen werden. Der zweite Benutzer kann den ersten Benutzer über eine E-Mail, eine Textmeldung, eine Videokonferenz oder einen Anruf an eine Telefonnummer oder eine andere dem ersten Benutzer zugeordnete Adresse kontaktieren, oder über einen anderen geeigneten Kommunikationsweg. Die Kontaktinformationen des ersten Benutzers können aus einem Adressbuch auf dem Client-Gerät abgerufen werden. Die Funktion gestattet eine schnelle und direkte Kommunikation zwischen Benutzern, damit diese eine Änderung an einer Datei diskutieren können. Diese schnelle und direkte Kommunikation kann hilfreich bei dringenden Projekten sein. Darüber hinaus kann ein Telefonanruf nützlich für einige Projekte sein, wenn ein Kommentar nicht schriftlich ausgedrückt werden kann.
  • Die grafische Vorschau 410 zeigt einen Teil der Datei, der von einer vom ersten Benutzer vorgenommenen Änderung betroffen ist. Bei einigen Implementierungen zeigt die grafische Vorschau ein autorisiertes Miniaturbild an, das der Datei zugeordnet ist. Ein autorisiertes Miniaturbild kann eindeutig für jedes Dokument sein. Beispielsweise kann das autorisierte Bild die erste Seite eines Dokuments oder einer Bilddatei sein, oder ein Schlüsseleinzelbild in einem Video. Die grafische Vorschau 410 kann Teile der Datei ausschließen, wie beispielsweise einen Teil der Datei, der von der Änderung nicht betroffen ist. Die grafische Vorschau kann auch Teile der Datei hervorheben, die von der Änderung betroffen sind. In dem Beispiel in 4, die Änderung ist das Löschen von Text und wird durch den Änderungshinweis 414 angegeben. Der Benutzer kann die Datei öffnen, indem er die grafische Vorschau 410 auswählt (z. B. durch Drücken oder Klicken). Einem Benutzer kann eine Liste von Programmen angezeigt werden, die ausgewählt werden können, um die Datei zu verarbeiten (z. B. Öffnen, Anzeigen, Bearbeiten, Rendern). Bei einigen Ausführungsformen kann der Benutzer direkt mit der grafischen Vorschau 410 interagieren, um die Datei zu bearbeiten, ohne sie zu öffnen. Die Interaktionen können Optionen für das Zoomen und Drehen von Bildern beinhalten; das Abspielen von Video; oder das Durchblättern des seitenweisen Inhalts (z. B. mehrseitige PDFs oder Dokumente). Dies wird diskutiert in Bezug auf 6.
  • Die in der Benutzeroberfläche 400 enthaltenen Aktionsschaltflächen 416 und 418 gestatten dem Benutzer, Aktionen in Reaktion auf die Benachrichtigung zu ergreifen. Die Aktionsschaltfläche 416 gestattet dem Benutzer, seine Abonnementpräferenzen zu aktualisieren. Die Auswahl der Aktionsschaltfläche 416 kann die Benutzeroberfläche 300 öffnen, wie in 3 gezeigt, sodass der Benutzer seine Präferenzen ändern kann, die zuvor vom Benutzer ausgewählt oder auf die Standardeinstellungen gesetzt wurden. Die Aktionsschaltfläche 418 gestattet dem zweiten Benutzer, eine E-Mail in Reaktion auf die Benachrichtigung zu senden. Insbesondere erzeugt die Aktionsschaltfläche 418 eine E-Mail vom zweiten Benutzer an den ersten Benutzer. Der Empfänger und der Betreff können basierend auf den Informationen aus der Benachrichtigung gefüllt werden. Ein Beispiel für eine E-Mail, die in Reaktion auf die Auswahl der Aktionsschaltfläche 418 generiert werden kann, ist gezeigt in 7.
  • 5 ist ein Diagramm einer Anzeige einer Benutzeroberfläche 500, die einem Benutzer die Auswahl gestattet, wie er mit einer Datei, die einer Benachrichtigung zugeordnet ist, verfahren will. Die Benutzeroberfläche 500 kann in Reaktion auf den Empfang einer Auswahl der grafischen Vorschau 410 in 4 angezeigt werden, um die Datei „FileNameA.type” zu öffnen. Die Benutzeroberfläche 500 beinhaltet eine Eingabeaufforderung 502, eine Abbruchoption 510 sowie Beschriftungen 504506 entsprechend Applikation 1, Applikation 2 bzw. Applikation 3. Obwohl auf Benutzeroberfläche 500 drei Applikationen gezeigt sind, kann eine beliebige geeignete Anzahl an Applikationen gezeigt werden. Die Eingabeaufforderung 502 fordert den Benutzer auf, die Datei mit einer der drei Applikationen zu öffnen. Jede der drei gezeigten Applikationen wurde als in der Lage registriert, den ausgewählten Dateityp zu öffnen. Der Dateityp kann anhand der Dateinamenerweiterung (in diesem Beispiel z. B. „type”) der Datei bestimmt werden. Eine oder mehrere der Applikationen können so konfiguriert werden, dass der Dateityp nur angezeigt wird, während andere so konfiguriert werden können, dass der Dateityp angezeigt und bearbeitet werden kann. Bei den Applikationen kann es sich um native Applikationen, Applikationen von Drittanbietern oder webbasierte Applikationen handeln. Eine native Applikation kann eine Applikation sein, die für den Einsatz auf einer bestimmten Plattform oder einem bestimmten Gerät entwickelt wurde. Die Beschriftung für die dritte Applikation 506 beinhaltet die sekundäre Beschreibung „im Webbrowser öffnen”, weil Applikation 3 eine webbasierte Applikation ist. Dementsprechend startet die Auswahl von Applikation 3 einen Webbrowser, der die webbasierte Applikation anzeigt.
  • 6 ist ein Diagramm einer Anzeige einer exemplarischen Benutzeroberfläche 600, die einem Benutzer gestattet, eine Datei zu bearbeiten, die einer Benachrichtigung zugeordnet ist, indem er mit der Benachrichtigung 402 interagiert, ohne die Datei zu öffnen. Die Benutzeroberfläche 600 ist ähnlich der Benutzeroberfläche 400 von 4 und kann auch auf dem mobilen Gerät 104 von 1 angezeigt werden. Wie Benutzeroberfläche 400 beinhaltet die Benutzeroberfläche 600 eine Benachrichtigung 402, die eine primäre Beschreibung 404 enthält, eine sekundäre Beschreibung 406, ein Bild, 408, eine grafische Vorschau 410, eine Zeit 412 und Aktionsschaltflächen 416 und 418. Die Benachrichtigung 402 benachrichtigt den zweiten Benutzer über eine Änderung an einer Datei („FileNameA.type”) durch den ersten Benutzer. Die grafische Vorschau 410 zeigt einen Teil der Datei, der von einer vom ersten Benutzer vorgenommenen Änderung betroffen ist. Insbesondere zeigt die grafische Vorschau 410 einen Teil der Datei an, der vom ersten Benutzer bearbeitet wurde, und schließt verschiedene andere Teile der Datei (z. B. andere Absätze) aus, die nicht verändert wurde. Die grafische Vorschau 410 beinhaltet ein erstes Änderungskennzeichen 414 (z. B. durchgestrichene Formatierung), das die Änderung durch den ersten Benutzer kennzeichnet, ein zweites Änderungskennzeichen 604 (z. B. unterstrichene Formatierung), das eine Änderung durch den zweiten Benutzer kennzeichnet, und einen Cursor 602, der den aktuellen Einfügepunkt für neuen Text kennzeichnet. In diesem Beispiel hat der erste Benutzer einen Satz gelöscht, wie durch das erste Änderungskennzeichen 414 gekennzeichnet. In Reaktion auf die Benachrichtigung hat die zweite Registerkarte neuen Text eingefügt, wie durch das zweite Änderungskennzeichen 604 gekennzeichnet. Das Vorhandensein des Cursors 602 zeigt an, dass der zweite Benutzer neuen Text in das Fenster der grafischen Vorschau 410 einfügen kann. Der durch das zweite Änderungskennzeichen 604 gekennzeichnete neue Text wurde unter Verwendung der Benachrichtigung eingegeben, ohne die Datei FileNameA.type in einem separaten Fenster zu öffnen. Bei einigen Ausführungsformen kommuniziert die Benachrichtigung im Hintergrund des Client-Geräts mit einer Applikation, die für die Bearbeitung der Datei konfiguriert ist. Während die Benachrichtigung noch angezeigt wird, kann die Benachrichtigung unter Verwendung einer prozessübergreifenden Kommunikation (z. B. unter Verwendung eines Signals, eines Sockets, einer Nachrichtenwarteschlange, einer Pipe, von gemeinsam genutztem Speicher, einer Nachrichtenweitergabe oder einer speicherabgebildeten Datei, die von Prozessen gemeinsam genutzt wird) die Eingabe des Benutzers an die Applikation weitergegeben werden, die für die Bearbeitung der Datei konfiguriert wurde. Neben der Texteingabe können weitere Bearbeitungen an der Datei von der Vorschau aus vorgenommen werden, wie beispielsweise die Umbenennung der Datei, die Änderung des Dateispeicherorts, das Kopieren der Datei, das Löschen der Datei, das Teilen der Datei, das Kommentieren der Datei, die Bearbeitung mehrerer Teile innerhalb der Datei oder jede andere geeignete Operation. Bei einigen Ausführungsformen kann ein kontextabhängiges Menü (z. B. ein durch Rechtsklick aufgerufenes Menü) angezeigt werden, das die Operationen auflistet, die für die Datei ausgeführt werden können. Eine solche Funktion gestattet das Dateimanagement direkt von der Benachrichtigung aus. Obwohl oben die Bearbeitung in der Vorschau der Datei beschrieben ist, kann die Datei bei einigen Ausführungsformen möglicherweise nicht von der grafischen Vorschau 410 aus bearbeitet werden. In solchen Fällen kann der Benutzer immer noch die Erlaubnis haben, mit der grafischen Vorschau 410 zu interagieren. Beispielsweise kann die grafische Vorschau 410 dem Benutzer gestatten, die Datei in der Vorschau zu verschieben, darin zu blättern, sie zu zoomen oder die Ansicht zu ändern. Analog dazu kann die grafische Vorschau 410 auch das Abspielen von Videodateien erlauben, die Weiterschaltung von Folien einer Präsentation oder das Blättern in einer Datei mit Seiteninhalt (z. B. eine PDF). In noch anderen Ausführungsformen kann die grafische Vorschau eine schreibgeschützte Miniaturansicht sein, die der Datei zugeordnet ist, wie beispielsweise ein autorisiertes Bild.
  • 7 ist ein Diagramm einer exemplarischen Anzeige einer Benutzeroberfläche 700, die eine E-Mail generiert, die an einen Bearbeiter einer im cloudbasierten Dateispeichersystem gespeicherten Datei adressiert ist. Die Benutzeroberfläche 700 kann in Reaktion auf die Auswahl einer E-Mail-Aktionsschaltfläche 418 auf der Benutzeroberfläche 400 von 4 angezeigt werden. Die Benutzeroberfläche 700 beinhaltet ein Senderfeld 702, ein Empfängerfeld 704, eine Betreffzeile 706, ein Rumpftextfeld 708, eine Tastatur 710, eine Anhang-Schaltfläche 712, eine Sendeschaltfläche 714 und eine Return-Schaltfläche 716. Die Benutzeroberfläche 700 kann die Benutzeroberfläche einer lokalen E-Mail-Applikation auf dem mobilen Gerät 104 von 1 sein. Das Empfängerfeld 704 wird automatisch mit der E-Mail-Adresse 705 des ersten Benutzers („user1@example.com”) ausgefüllt, weil der erste Benutzer die Änderung vorgenommen hat, die zu der Benachrichtigung gehört. Die Betreffzeile 706 wird ebenfalls automatisch mit der primären Beschreibung 406 der geänderten Datei gefüllt. Das automatische Ausfüllen oder der Vorabeintrag des Empfängerfelds 704 und der Betreffzeile 406 gestatten dem zweiten Benutzer, dem Bearbeiter (den ersten Benutzer) in Reaktion auf die Änderung schnell zu antworten. Auf diese Weise können Kommentare zeitnah bereitgestellt werden. Wenn in einigen Ausführungsformen mehrere E-Mail-Adressen des Senders zur Verfügung stehen, wird das Senderfeld 702 automatisch mit der E-Mail-Adresse 703 ausgefüllt, das der geänderten Datei zugeordnet ist. Nachdem die vorab eingetragenen Daten hinzugefügt wurden, kann der zweite Benutzer über die Tastatur 710 einen Kommentar oder eine andere Meldung in das Rumpftextfeld 708 eingeben, bevor die Meldung an den ersten Benutzer gesendet wird. Der zweite Benutzer kann jede der automatisch hinzugefügten Informationen automatisch bearbeiten. Beispielsweise kann der zweite Benutzer entscheiden, der Betreffzeile 706 mehr Informationen hinzuzufügen, oder im Empfängerfeld zusätzliche Empfänger in das Empfängerfeld 704 hinzufügen. Der zweite Benutzer kann über die Anhang-Schaltfläche 712 auch einen Anhang hinzufügen. In einigen Ausführungsformen wird der E-Mail die geänderte Datei oder ein Link darauf automatisch hinzugefügt. Nachdem ein Entwurf der E-Mail erstellt wurde, sendet der zweite Benutzer die E-Mail durch Auswahl der Sende-Schaltfläche 714. Durch den Vorabeintrag in das Empfängerfeld 704 und in die Betreffzeile 406 kann die Kommunikation zwischen Bearbeitern schneller und unkomplizierter erfolgen und damit die Zusammenarbeit bei dringenden Projekten vereinfachen. Darüber hinaus können weitere Empfänger, die keine Bearbeiter der Datei sind, in die E-Mail an den ersten Benutzer kopiert werden. Auf diese Weise kann ein Benutzer zusätzliche Empfänger (z. B. einen Projektmanager) für Kommentare im Hinblick auf besonders wichtige Änderungen kopieren (z. B. das Löschen oder Einfügen von großen Textmengen), und weniger Empfänger kopieren, wenn die Änderungen weniger wichtig sind (z. B. die Korrektur von Rechtschreibfehlern). Dieser gezielte Ansatz für die Kommentierung kann die Anzahl der unerwünschten E-Mails reduzieren, die von Team-Mitgliedern empfangen werden, die nur am Rande in die Zusammenarbeit einbezogen sind. Die kann auch gestatten, dass zusätzliche Benutzer in den Bearbeitungsprozess einbezogen werden, ohne dass sie zu Bearbeitern der Datei gemacht werden müssen.
  • 8 ist ein Ablaufdiagramm eines veranschaulichenden Verfahrens 800 für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei. Das Verfahren 800 kann unter Verwendung des Systems 100, der Architektur 200, der Benutzeroberflächen 300, 400, 500, 600 oder 700 erfolgen, die in den 17 gezeigt sind, oder in einer beliebigen Kombination davon. In Schritt 802 wird ein erster Hinweis auf eine erste Änderung an einer Datei durch einen ersten Benutzer von einem externen Server empfangen. Die Datei ist einem zweiten Benutzer zugeordnet und wird vom externen Server gespeichert. Der erste Hinweis über die erste Änderung kann vom webbasierten Speichersystem 114 aus 1 über das Netzwerk 101 an das mobile Gerät 104 gesendet werden. Der erste Hinweis kann in Reaktion auf einen Aufruf des Änderungen-API 228 des Cloud-Speicherservice 224 von 2 empfangen werden, oder von einer Nutzlast, die über den Push-Benachrichtigungskanal 232 gesendet wird.
  • In Schritt 804 werden die Abonnementpräferenzen des zweiten Benutzers empfangen. Die Abonnementpräferenzen können unter Verwendung des Präferenzen-Managers 208 von 2 empfangen werden, der Benutzeroberfläche 300 von 3 oder über ein beliebiges anderes Mittel. In einigen Ausführungsformen können die Abonnementpräferenzen mindestens einen Aktivitätstyp beinhalten, eine ID einer überwachten Datei, eine ID eines überwachten Ordners sowie eine Identität eines relevanten Benutzers. Die Abonnementpräferenzen können auch verschiedene Abschnitte enthalten, wie beispielsweise einen Abschnitt für das Benachrichtigungskonto, einen Abschnitt für globale Benachrichtigungsoptionen und einen Abschnitt für die Benachrichtigungskategorie. Der Abschnitt für das Benachrichtigungskonto kann dem Benutzer ermöglichen, das Benachrichtigungskonto anzugeben, für das er Abonnementpräferenzen setzen will. Bei einigen Ausführungsformen gestattet das Benachrichtigungssystem dem Benutzer, mehrere Benutzerkonten zu verwalten, sodass ein Benutzer unterschiedliche Präferenzen für unterschiedliche Konten spezifizieren kann. Bei einigen Ausführungsformen hat der Benutzer die Option, eine automatische Synchronisierung der Abonnementpräferenzen mit den Abonnementpräferenzen für ein anderes Gerät, das dem ausgewählten Benutzerkonto zugeordnet ist, zu konfigurieren. Der Abschnitt für die globalen Benachrichtigungsoptionen kann dem Benutzer die Auswahl gestatten, ob überhaupt Benachrichtigungen aktiviert sein sollen. Wenn Benachrichtigungen aktiviert sind, kann die globale Option für Benachrichtigungseinstellungen den Benutzern gestatten, zu wählen, welche Benachrichtigungsmechanismen in der Benachrichtigung enthalten sind. Beispielsweise könnte ein Benutzer wählen, dass der Benachrichtigung eine Vibration oder ein akustisches Signal zugeordnet werden. Der Benutzer kann auch das visuelle Aussehen der angezeigten Benachrichtigung auswählen. Beispielsweise kann der Benutzer entscheiden, ob die Benachrichtigung als Popup, als Badge oder als Banner angezeigt wird. Ein Popup kann erforderlich machen, dass der Benutzer eine Aktion ergreift oder die Benachrichtigung verwirft, bevor er wieder mit dem Client-Gerät arbeiten kann. Ein Banner kann dem Benutzer erlauben, das Client-Gerät weiter zu verwenden, während die Benachrichtigung angezeigt wird, und sie kann automatisch verworfen werden. Ein Badge kann eine Benachrichtigung sein, die einem Symbol für eine bestimmte Applikation übergelagert ist (z. B. auf einem Home-Bildschirm eines Client-Geräts). Eine Benachrichtigung kann auch in einem speziellen Benachrichtigungsbereich oder im Benachrichtigungszentrum auf dem Client-Gerät erscheinen. Der Abschnitt für die Benachrichtigungskategorie gestattet dem Benutzer, die Arten der Benachrichtigungen auszuwählen, die der Benutzer empfangen will. Die Optionen in einem solchen Abschnitt erlauben, dass Benachrichtigungen erzeugt werden, wenn jemand eine Datei mit dem Benutzer teilt, wenn Änderungen an einer Datei stattfinden, die dem Benutzer gehört, wenn Änderung an einer Datei stattfinden, an der der Benutzer ein Interesse registriert hat, wenn Änderungen an einer Datei stattfinden, die der Benutzer kommentiert hat, wenn eine Applikation eines Drittanbieters eine Datei bearbeitet, die dem Benutzer gehört, oder wenn Änderungen an einer Datei in einem Ordner stattfinden, an dem der Benutzer ein Interesse registriert hat. Außerdem kann einem Benutzer gestattet sein, Benachrichtigungen für bestimmte vom Benutzer festgelegte Dateien stummzuschalten oder zu unterdrücken. Auf diese Weise erhält der Benutzer keine Benachrichtigungen über bestimmte, festgelegte Dateien. In bestimmten Ausführungsformen kann ein Benutzer alle Benachrichtigungen unterdrücken, außer einer spezifischen nummerierten Liste mit Dateien. Auf diese Weise erhält der Benutzer nur Benachrichtigungen über bestimmte, festgelegte Dateien. Die oben beschriebenen Ausführungsformen können auch Abonnementpräferenzen gestatten, die sich zusätzlich zu oder anstelle von bestimmten Dateien auf ganze Ordner beziehen. Beispielsweise kann ein Benutzer Benachrichtigungen über alle Dateien in einem bestimmten Ordner oder in einer Ordnermenge stummschalten oder unterdrücken, oder nur Benachrichtigungen gestatten, wenn sie sich auf eine Datei in einem bestimmten Ordner oder in einer Ordnermenge beziehen. Darüber hinaus kann der Benutzer bei einigen Ausführungsformen Benachrichtigungen stummschalten oder unterdrücken, abhängig von einer von einem bestimmten Benutzer oder einer Liste von Benutzern ausgeführten Aktion. Auf ähnliche Weise kann der Benutzer bei einigen Ausführungsformen entscheiden, nur Benachrichtigungen über eine Aktion zu empfangen, die von einem bestimmten Benutzer oder einer Liste von Benutzern ausgeführt wurde. Alle oben genannten Kriterien können kombiniert werden. Beispielsweise kann sich der Benutzer für Benachrichtigungen über Dateien in den Ordnern A, B oder C registrieren, außer von den Benutzern D, E oder F. Diese verschiedenen Abonnementoptionen bieten dem Benutzer ein hohes Maß an Kontrolle über die Anzeige von Benachrichtigungen. Die Blockierung von Benachrichtigungen im Hinblick auf bestimmte Dateien, Ordner oder Benutzer können die Anzahl der unerwünschten Benachrichtigungen reduzieren, die der Benutzer empfängt. Einem Benutzer zu gestatten, Benachrichtigungen im Hinblick auf Dateien oder Ordner zu empfangen, an denen ein Benutzer ein Interesse registriert hat, gestattet dem Benutzer, wichtige Änderungen an Dateien zu überwachen, die nicht dem Benutzer gehören. Dies kann die Nachverfolgung von Änderungen an einer Datei vereinfachen, an der ein Benutzer mitarbeitet, die ihm aber nicht gehört.
  • In Schritt 806 wird eine Benachrichtigung, die die erste Änderung an der Datei anzeigt, auf einem mobilen Gerät angezeigt, das dem zweiten Benutzer zugeordnet ist, wenn die Benachrichtigungskategorie von den Abonnementpräferenzen zugelassen ist. Die Benachrichtigung beinhaltet eine grafische Vorschau auf die Datei, eine Datei-ID sowie die Identität des ersten Benutzers. Die grafische Vorschau kann auch einen Teil der Datei ausschließen, der nicht von der Änderung betroffen ist. Die Benachrichtigung kann unter Verwendung eines API auf dem mobilen Gerät angezeigt werden (z. B. dem Benachrichtigungs-API 210 von 2), oder über ein beliebiges anderes Mittel. Bei einigen Ausführungsformen werden die Benachrichtigungen auf einem Desktop-Computer, einem Laptop-Computer oder einem anderen geeigneten Rechengerät angezeigt. Die Benachrichtigung kann ähnlich wie die Benachrichtigung 402 in den 4 und 6 angezeigt werden.
  • Bei einigen Ausführungsformen wird die Feststellung, ob die Benachrichtigung von den Abonnementpräferenzen zugelassen ist, vom einem Kommunikations-Manager durchgeführt, wie beispielsweise dem Kommunikations-Manager 218 aus 2, oder durch ein anderes geeignetes Mittel. In bestimmten Ausführungsformen werden mehrere Hinweise auf Änderungen in einem Stapel abgelegt, gruppiert, kombiniert, verbunden oder anderweitig in einer einzigen Benachrichtigung zusammengefasst, bevor sie angezeigt werden, um doppelte oder ähnliche Benachrichtigungen zu vermeiden. Die Anzeige der Benachrichtigung kann die Generierung einer Benachrichtigungsnutzlast beinhalten, die eine primäre Beschreibung, eine sekundäre Beschreibung, ein Bild, mögliche Benutzeraktionen oder andere geeignete Informationen enthält. Bei einigen Ausführungsformen beinhalten die möglichen Benutzeraktionen Optionen, um die Abonnementpräferenzen zu aktualisieren, den für die Änderung verantwortlichen Benutzer zu kontaktieren, die Datei in einem separaten Programm zu öffnen oder die Datei innerhalb der Benachrichtigung zu bearbeiten.
  • 9 ist ein Ablaufdiagramm eines veranschaulichenden Verfahrens 900 für das Ergreifen einer Maßnahme in Reaktion auf die Aktionseingabe eines Benutzers, die einer Benachrichtigung zugeordnet ist. Das Verfahren 900 kann unter Verwendung des Systems 100, der Architektur 200, der Benutzeroberflächen 300, 400, 500, 600 oder 700 erfolgen, die in den 17 gezeigt sind, oder in einer beliebigen Kombination davon. In Schritt 902 wird eine Benachrichtigung angezeigt. Die Benachrichtigung bietet dem Benutzer mehrere Optionen, eine Aktion in Reaktion auf die Benachrichtigung auszuführen. In Verfahren 900 umfassen die zur Auswahl stehenden Optionen das Öffnen einer der Benachrichtigung zugeordneten Datei, das Senden einer E-Mail, die Aktualisierung von Abonnementpräferenzen und die Bearbeitung der Datei innerhalb der Benachrichtigung. Obwohl Verfahren 900 vier Optionen beinhaltet, stehen in anderen Ausführungsformen beliebig viele Optionen zur Verfügung.
  • In Schritt 904 wird die Eingabe aus einer Benutzeraktion empfangen. Die Eingabe aus einer Benutzeraktion ist eine Auswahl einer Aktion von den verschiedenen bereitgestellten Optionen. In Reaktion auf die Auswahl wird in Schritt 906 eine Aktion ausgewählt. Die möglichen Aktionen beinhalten das Öffnen der Datei, das Senden einer E-Mail an den für die Änderung verantwortlichen Benutzer oder die Aktualisierung der Abonnementpräferenzen. Bei einigen Ausführungsformen beinhalten die möglichen Aktionen auch das Verwerfen der Benachrichtigung, die Kontaktierung des für die Änderung verantwortlichen Benutzers über andere Kommunikationsmodi (z. B. Textmeldung, Telefonanruf oder Videokonferenz) oder jede andere geeignete Aktion oder eine Kombination aus allen.
  • Wenn der Benutzer in Schritt 906 auswählt, die Datei zu öffnen, wird in Schritt 908 eine Liste der Programme angezeigt, die für das Öffnen der Datei konfiguriert sind. Bei einigen Ausführungsformen wird die Absicht, die Datei zu öffnen, in Reaktion auf den Empfang einer Auswahl einer grafischen Vorschau der Datei festgestellt. Die Liste der Programme kann unter Verwendung einer Benutzeroberfläche angezeigt werden, wie beispielsweise die Benutzeroberfläche 500 von 5. Es kann eine beliebige geeignete Anzahl an Programmen angezeigt werden. Jedes der angezeigten Programme kann als in der Lage registriert worden sein, den Typ der ausgewählten Datei zu öffnen. Der Dateityp kann anhand der Dateinamenerweiterung der Datei festgestellt werden. Eine oder mehrere der Applikationen können so konfiguriert werden, dass der Dateityp nur angezeigt wird, während andere so konfiguriert werden können, dass der Dateityp angezeigt und bearbeitet werden kann. Bei den Programmen kann es sich um native Applikationen, Applikationen von Drittanbietern oder webbasierte Applikationen handeln. Eine native Applikation kann eine Applikation sein, die für den Einsatz auf einer bestimmten Plattform oder einem bestimmten Gerät entwickelt wurde. In Schritt 910 wird eine Benutzerauswahl eines Programms aus der Programmliste empfangen. In Schritt 912 wird die Datei mit dem ausgewählten Programm geöffnet. Wenn es sich bei der ausgewählten Applikation um eine webbasierte Applikation handelt, wird ein Webbrowser gestartet, um die webbasierte Applikation anzuzeigen.
  • Wählt der Benutzer in Schritt 906 stattdessen aus, eine E-Mail zu senden, wird in Schritt 914 die lokale E-Mail-Applikation geöffnet. Eine Benutzeroberfläche einer lokalen E-Mail-Applikation kann angezeigt werden, wie beispielsweise die Benutzeroberfläche 700 von 7. Eine neue E-Mail wird generiert, die ein Sender-Feld, ein Empfänger-Feld, eine Betreffzeile, ein Rumpftextfeld und ein Anhang-Feld enthalten kann. Nachfolgend werden in Schritt 916 der Betreff und der Empfänger der E-Mail vorab ausgefüllt. Das Empfängerfeld kann automatisch mit der E-Mail-Adresse des für die Änderung verantwortlichen Benutzers gefüllt werden. Die Betreffzeile kann automatisch mit der primären Beschreibung der geänderten Datei gefüllt werden. Das automatische Ausfüllen oder der Vorabeintrag des Empfängerfelds und der Betreffzeile gestatten dem zweiten Benutzer, dem Bearbeiter in Reaktion auf die Änderung schnell zu antworten. Auf diese Weise können Kommentare zeitnah bereitgestellt werden. In einigen Ausführungsformen wird, wenn mehrere E-Mail-Adressen des Senders zur Verfügung stehen, das Senderfeld automatisch mit der E-Mail-Adresse ausgefüllt, das der geänderten Datei zugeordnet ist. Nachdem die vorab eingetragenen Daten hinzugefügt wurden, kann der zweite Benutzer einen Kommentar oder eine andere Meldung eingeben, bevor die Meldung gesendet wird. Der zweite Benutzer kann jede der automatisch hinzugefügten Informationen automatisch bearbeiten. Beispielsweise kann der zweite Benutzer entscheiden, der Betreffzeile mehr Informationen hinzuzufügen, oder im Empfängerfeld zusätzliche Empfänger hinzufügen. Der zweite Benutzer kann auch einen Anhang hinzufügen. In einigen Ausführungsformen wird der E-Mail die geänderte Datei oder ein Link darauf automatisch hinzugefügt. Der Vorabeintrag in das Empfängerfeld und in die Betreffzeile kann die Kommunikation zwischen Bearbeitern schneller und unkomplizierter machen und damit die Zusammenarbeit bei dringenden Projekten vereinfachen. Darüber hinaus können weitere Empfänger, die keine Bearbeiter der Datei sind, in die E-Mail an den Bearbeiter kopiert werden. Auf diese Weise kann ein Benutzer zusätzliche Empfänger (z. B. einen Projektmanager) für Änderungen kopieren (z. B. das Löschen oder Einfügen von großen Mengen Text), und weniger Empfänger kopieren, wenn die Änderungen weniger wichtig sind (z. B. die Korrektur von Rechtschreibfehlern). Dieser gezielte Ansatz für die Kommentierung kann die Anzahl der unerwünschten E-Mails reduzieren, die von Team-Mitgliedern empfangen werden, die nur am Rande in die Zusammenarbeit einbezogen sind. Dies kann auch gestatten, dass zusätzliche Benutzer in den Bearbeitungsprozess einbezogen werden, ohne dass sie zu Bearbeitern der Datei gemacht werden müssen.
  • Wählt der Benutzer in Schritt 906 aus, die Abonnementpräferenzen zu aktualisieren, wird in Schritt 918 ein Abonnementpräferenzen-Manager geöffnet. Der Abonnementpräferenzen-Manager kann der Präferenzen-Manager 208 von 2 sein und kann auch die Benutzeroberfläche 300 von 3 anzeigen. In einigen Ausführungsformen können die Abonnementpräferenzen mindestens einen Aktivitätstyp beinhalten, eine ID einer überwachten Datei, eine ID eines überwachten Ordners sowie eine Identität eines relevanten Benutzers. In Schritt 920 werden nachfolgend die aktualisierten Abonnementpräferenzen empfangen und gespeichert.
  • Wenn der Benutzer in Schritt 906 auswählt, die Datei zu bearbeiten, kann die Datei aus der Benachrichtigung heraus in Schritt 922 bearbeiten werden. In solchen Fällen wird die Datei direkt von der Benachrichtigung aus bearbeitet, ohne die Datei in einer separaten Applikation zu öffnen. Die Bearbeitungsoperation kann unter Verwendung einer Benutzeroberfläche angezeigt werden, wie beispielsweise die Benutzeroberfläche 600 von 6. Die Bearbeitung kann in einer grafischen Vorschau ausgeführt werden, die in der Benachrichtigung enthalten ist. Die grafische Vorschau zeigt einen Teil der Datei an, der von einer Änderung betroffen sein kann, und verschiedene andere Teile der Datei ausschließen, die nicht verändert wurde. In der grafischen Vorschau kann ein Cursor angezeigt werden, der den aktuellen Einfügepunkt für neuen Text anzeigt. Neuer Text oder Daten können hinzugefügt werden, ohne dass die Datei in einem separaten Fenster geöffnet wird. Dazu kann die Benachrichtigung mit einer Applikation kommunizieren, die so konfiguriert ist, dass sie die Datei im Hintergrund eines Client-Geräts bearbeitet. Während die Benachrichtigung noch angezeigt wird, kann sie unter Verwendung einer prozessübergreifenden Kommunikation (z. B. unter Verwendung eines Signals, eines Sockets, einer Nachrichtenwarteschlange, einer Pipe, von gemeinsam genutztem Speicher, einer Nachrichtenweitergabe oder einer speicherabgebildeten Datei, die von Prozessen gemeinsam genutzt wird) die Eingabe des Benutzers an die Applikation weitergeben, die für die Bearbeitung der Datei konfiguriert wurde. Auf diese Weise kann der zweite Benutzer die Datei aus der eigentlichen Benachrichtigung heraus schnell und unkompliziert bearbeiten oder Änderung kurz nach ihrer Durchführung schnell kommentieren. Die Bearbeitungen können die Umbenennung der Datei, das Verschieben des Dateispeicherorts, das Kopieren der Datei, das Löschen der Datei oder jede andere geeignete Operation umfassen. Bei einigen Ausführungsformen kann ein kontextabhängiges Menü (z. B. ein durch Rechtsklick aufgerufenes Menü) angezeigt werden, das die Operationen auflistet, die für die Datei ausgeführt werden können. Eine solche Funktion gestattet das Dateimanagement direkt von der Benachrichtigung aus.
  • 10 ist ein Blockdiagramm eines Rechengeräts, wie beispielsweise einer der Komponenten des Systems von 1, um einen der in diesem Dokument beschriebenen Prozesse auszuführen. Jede der Komponenten dieser Systeme kann auf einem oder mehreren Rechengeräten 1000 implementiert werden. In einigen Aspekten können mehrere Komponenten dieser Systeme in ein Rechengerät 1000 integriert sein. Bei einigen Implementierungen können eine Komponente und ein Speichersystem über mehrere Rechengeräte 1000 implementiert werden.
  • Das Rechengerät 1000 umfasst mindestens eine Kommunikationsschnittstelleneinheit, einen Eingabe/Ausgabe-Controller 1010, Systemspeicher und ein oder mehrere Datenspeichergeräte. Der Systemspeicher beinhaltet mindestens einen Speicher mit wahlfreiem Zugriff (RAM 1002) und mindestens einen schreibgeschützten Speicher (ROM 1004). Alle diese Elemente stehen in Kommunikation mit einer zentralen Verarbeitungseinheit (CPU 1006), um die Bedienung des Rechengeräts 1000 zu vereinfachen. Das Rechengerät 1000 kann auf viele unterschiedliche Arten konfiguriert werden. Beispielsweise kann es sich bei dem Rechengerät 1000 um einen konventionellen unabhängigen Computer handeln, oder alternativ können die Funktionen des Rechengeräts 1000 über mehrere Computersysteme und Architekturen verteilt sein. In 10, das Rechengerät 1000 ist per Netzwerk oder lokales Netzwerk mit anderen Servern oder Systemen verbunden.
  • Das Rechengerät 1000 kann in einer verteilten Architektur konfiguriert sein, wobei Datenbanken und Prozessoren in unterschiedlichen Einheiten oder an unterschiedlichen Standorten untergebracht werden können. Einige Einheiten führen primäre Verarbeitungsfunktionen aus und enthalten mindestens einen allgemeinen Controller oder einen Prozessor und einen Systemspeicher. Bei Implementierungen mit verteilter Architektur kann jede dieser Einheiten über eine Kommunikationsschnittstelleneinheit 1008 mit einem Kommunikations-Hub oder -Port verbunden sein (nicht gezeigt), der als primärer Kommunikationslink zu anderen Servern, Client- oder Benutzergeräten und anderen zugehörigen Geräten dient. Der Kommunikationsknotenpunkt oder -port kann selbst über eine minimale Verarbeitungskapazität verfügen und dient primär als Kommunikationsrouter. Verschiedene Kommunikationsprotokolle können Teil des Systems sein, insbesondere: Ethernet, SAP, SASTM, ATP, BLUETOOIHTM, GSM und TCP/IP.
  • Die CPU 1006 enthält einen Prozessor, wie beispielsweise einen oder mehrere konventionelle Mikroprozessoren und einen oder mehrere ergänzende Co-Prozessoren, wie beispielsweise mathematische Co-Prozessoren, um der CPU 1006 Arbeitslast abzunehmen. Die CPU 1006 kommuniziert mit der Kommunikationsschnittstelleneinheit 1008 und dem Eingabe/Ausgabe-Controller 1010, über den die CPU 1006 mit anderen Geräten kommuniziert, wie beispielsweise anderen Servern, Benutzerterminals oder Geräten. Die Kommunikationsschnittstelleneinheit 1008 und der Eingabe/Ausgabe-Controller 1010 können mehrere Kommunikationskanäle für die gleichzeitige Kommunikation mit beispielsweise anderen Prozessoren, Servern oder Client-Terminals beinhalten.
  • Die CPU 1006 kommuniziert auch mit dem Datenspeichergerät. Das Datenspeichergerät kann eine geeignete Kombination aus Magnet-, optischem oder Halbleiterspeicher beinhalten, und beispielsweise RAM 1002, ROM 1004, Flash-Laufwerke, einen optischen Datenträger, wie beispielsweise eine CD, oder eine Festplatte oder ein Laufwerk enthalten. Die CPU 1006 und das Datenspeichergerät können jeweils beispielsweise vollständig in einem einzigen Computer oder anderen Rechengerät enthalten sein; sie können auch über ein Kommunikationsmedium miteinander verbunden sein, wie beispielsweise einen USB-Anschluss, ein serielles Anschlusskabel, ein Koaxialkabel, ein Ethernet-Kabel, eine Telefonleitung, einen Funkfrequenz-Transceiver oder andere vergleichbare drahtlose oder drahtgebundene Medien oder Kombinationen aus allen genannten. Beispielsweise kann die CPU 1006 über die Kommunikationsschnittstelleneinheit 1008 mit dem Datenspeichergerät verbunden sein. Die CPU 1006 kann so konfiguriert werden, dass sie eine oder mehrere spezielle Verarbeitungsfunktionen ausführt.
  • Das Datenspeichergerät kann beispielsweise speichern: (i) ein Betriebssystem 1012 für das Rechengerät 1000; (ii) eine oder mehrere Applikationen 1014 (z. B. Computerprogrammcode oder ein Produkt eines Computerprogramms), die so angepasst sind, dass sie die CPU 1006 in Übereinstimmung mit den in diesem Dokument beschriebenen Systemen und Verfahren steuern, und insbesondere in Übereinstimmung mit den im Hinblick auf die CPU 1006 detailliert beschriebenen Prozessen; oder (iii) Datenbank(en) 1016, die so angepasst ist/sind, dass sie verwendet werden können, um vom Programm benötigte Informationen zu speichern.
  • Das Betriebssystem 1012 und Applikationen 1014 können beispielsweise in einem komprimierten, einem nicht kompilierten und in einem verschlüsselten Format gespeichert werden, und können Computerprogrammcode enthalten. Die Anweisungen des Programms können von einem anderen computerlesbaren Medium als dem Datenspeichergerät in einen Hauptspeicher des Prozessors gelesen werden, wie beispielsweise aus dem ROM 1004 oder dem RAM 1002. Während die Ausführung von Anweisungsfolgen im Programm die CPU 1006 veranlasst, die in diesem Dokument beschriebenen Prozessschritte auszuführen, kann eine fest verdrahtete Schaltung anstelle oder in Kombination mit Software-Anweisungen für die Implementierung der Prozesse der vorliegenden Offenbarung verwendet werden. Daher sind die hier beschriebenen Systeme und Methoden nicht auf eine spezifische Kombination aus Hardware und Software beschränkt.
  • Geeigneter Computerprogrammcode kann bereitgestellt werden, um eine oder mehrere Funktionen in Bezug auf einen der in diesen Dokumenten beschriebenen Prozesse auszuführen. Das Programm kann auch Programmelemente enthalten, wie beispielsweise ein Betriebssystem 1012, ein Datenbankmanagementsystem und „Gerätetreiber”, die dem Prozessor gestatten, über den Eingabe/Ausgabe-Controller 1010 mit Peripheriegeräten des Computers zusammenzuarbeiten (z. B. einer Grafikanzeige, einer Tastatur oder einer Maus).
  • Der Begriff „computerlesbares Medium”, wie in diesem Dokument verwendet, bezieht sich auf alle nicht flüchtigen Medien, die Anweisungen für den Prozessor des Rechengeräts 1000 (oder einen anderen Prozessor eines in diesem Dokument beschriebenen Geräts) zur Ausführung bereitstellen oder an dieser Bereitstellung beteiligt sind. Dieses Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtige und flüchtige Medien. Zu den nichtflüchtigen Medien gehören z. B. optische magnetische oder optomagnetische Disks oder integrierte Speicherschaltung, wie Flash-Speicher. Zu den flüchtigen Medien gehören dynamisches RAM (DRAM), welches gewöhnlich als Hauptspeicher dient. Gebräuchliche Formen von computerlesbaren Medien beinhalten beispielsweise Disketten, Floppy-Disks, Festplatten, Magnetband, jedes andere magnetische Medium, CD-ROMs, DVDs oder jedes andere optische Medium, Lochkarten, Papierband und andere physische Medien mit Lochmustern, RAM, PROM, EPROM oder EEPROM („Electronically Erasable Programmable Read-Only Memory”), FLASH-EEPROM oder einen anderen Speicherchip oder Kassetten, oder ein beliebiges anderes nicht flüchtiges Medium, von dem ein Computer lesen kann.
  • Verschiedene Formen computerlesbarer Medien können daran beteiligt sein, ein oder mehrere Sequenzen mit einer oder mehreren Anweisungen für die CPU 1006 (oder einen anderen Prozessor eines in diesem Dokument beschriebenen Geräts) zur Ausführung zu enthalten. So können die Anweisungen zum Beispiel zunächst auf einer magnetischen Disk eines Ferncomputers getragen werden (ohne Abbildung). Der Ferncomputer kann diese Anweisungen in seinen dynamischen Speicher laden und die Anweisungen anschließend über eine Ethernet-Verbindung, ein Kabel oder sogar über eine Telefonleitung mit Modem senden. Ein lokales Kommunikationsgerät für ein Rechengerät 1000 (z. B. ein Server) können die Daten auf der zugehörigen Kommunikationsleitung empfangen und die Daten für den Prozessor auf einen Systembus stellen. Der Systembus transportiert die Daten in den Hauptspeicher, von wo aus der Prozessor die Anweisungen abruft und ausführt. Die vom Hauptspeicher empfangenen Anweisungen können optional entweder vor oder nach der Ausführung durch den Prozessor gespeichert werden. Darüber hinaus können Anweisungen über einen Kommmunikationsport als elektrische, elektromagnetische oder optische Signale empfangen werden; dies sind Beispiele der drahtlosen Kommunikation oder Datenstreams, die diverse unterschiedliche Arten von Informationen übertragen.
  • Während in diesem Dokument verschiedene Ausführungsformen der vorliegenden Offenbarung vorgestellt und beschrieben wurden, ist für Sachkundige offensichtlich, dass solche Ausführungsformen nur als Beispiele bereitgestellt werden. Den Fachkräften werden zahlreiche Variationen, Abänderungen und Ersetzungen einfallen, ohne von der Veröffentlichung abzuweichen. Es muss klar sein, dass im praktischen Einsatz der Offenbarung verschiedene Alternativen zu den in diesem Dokument beschriebenen Ausführungsformen der Offenbarung verwendet werden können.

Claims (13)

  1. System für die Benachrichtigung eines Benutzers über die Änderung an einer im cloudbasierten Dateispeichersystem gespeicherten Datei, wobei das System eine Schaltung beinhaltet, die für Folgendes konfiguriert ist: das Empfangen (von einem externen Server) eines ersten Hinweises über eine erste Änderung an der Datei durch einen ersten Benutzer, wobei die Datei einem zweiten Benutzer zugeordnet ist und vom externen Server gespeichert wird; das Empfangen der Abonnementpräferenzen des zweiten Benutzers; und das Anzeigen einer Benachrichtigung durch ein dem zweiten Benutzer zugeordneten mobiles Gerät, die auf die erste Änderung an der Datei hinweist, wenn die Benachrichtigungskategorie durch die Abonnementpräferenzen zugelassen ist; wobei die Benachrichtigung Folgendes beinhaltet: eine grafische Vorschau der Datei, eine ID der Datei und eine Identität des ersten Benutzers.
  2. System nach Anspruch 1, wobei die grafische Vorschau einen Teil der Datei enthält, der von der ersten Änderung betroffen ist.
  3. System nach Anspruch 1 oder 2, wobei die Benachrichtigung Aktionsschaltflächen beinhaltet, die dem zweiten Benutzer gestatten, Aktionen in Reaktion auf die Benachrichtigung auszuführen.
  4. System nach Anspruch 3, wobei die Schaltung des Weiteren konfiguriert ist, um eine lokale Applikation auf dem mobilen Gerät aufzurufen, um die Datei in Reaktion auf die Auswahl einer der Aktionsschaltflächen zu handeln.
  5. System nach Anspruch 4, wobei das Handeln der Datei mindestens entweder das Öffnen der Datei, die Anzeige der Datei, das Teilen der Datei und die Bearbeitung der Datei beinhaltet.
  6. System nach irgendeinem der Ansprüche 3 bis 5, wobei die Aktionsschaltflächen eine Schaltfläche für die Kontaktierung des ersten Benutzers beinhalten.
  7. System nach Anspruch 6, wobei die Schaltung weiterhin konfiguriert ist für Folgendes: das Aufrufen einer lokalen E-Mail-Applikation auf dem mobilen Gerät in Reaktion auf eine Auswahl der Schaltfläche für die Kontaktierung des ersten Benutzers; und das automatische Generieren einer E-Mail mit der lokalen E-Mail-Applikation, die adressiert ist an die E-Mail-Adresse des ersten Benutzers.
  8. System nach Anspruch 6 oder Anspruch 7, wobei die Schaltung weiterhin konfiguriert ist, um Kontaktinformationen des ersten Benutzers aus einem auf dem mobilen Gerät gespeicherten Adressbuch abzurufen.
  9. System nach Anspruch 6, wobei die Schaltung weiterhin konfiguriert ist für Folgendes: das Abrufen einer Telefonnummer des ersten Benutzers basierend auf der Identität des in der Benachrichtigung enthaltenen ersten Benutzers; und in Reaktion auf eine Auswahl der Schaltfläche für das Kontaktieren des ersten Benutzers das Generieren einer Textmeldung, die an die Telefonnummer des ersten Benutzers adressiert ist.
  10. System nach irgendeinem der Ansprüche 1 bis 9, wobei die Schaltung weiterhin konfiguriert ist für Folgendes: das Empfangen eines zweiten Hinweises über eine zweite Änderung an der Datei vom externen Server, und Gruppieren der ersten und zweiten Änderungen in Reaktion auf die Feststellung, dass die erste und die zweite Änderung zusammenhängen; wobei die Benachrichtigung die gruppierten ersten und zweiten Änderungen mitteilt.
  11. System nach irgendeinem der Ansprüche 1 bis 10, wobei die Aktionsschaltflächen eine Option für die Aktualisierung der Abonnementpräferenzen beinhalten.
  12. System nach irgendeinem der Ansprüche 1 bis 11, wobei die Abonnementpräferenzen mindestens einen Aktivitätstyp beinhalten, eine ID einer überwachten Datei, eine ID eines überwachten Ordners und eine Identität eines relevanten Benutzers.
  13. System nach irgendeinem der Ansprüche 1 bis 12, wobei die Benachrichtigung weiterhin ein Bild des ersten Benutzers, einen Dateityp, eine Beschreibung der Datei, eine Größe der Datei, eine der Datei zugeordnete offene URL, eine Zeit der ersten Änderung, einen Typ der ersten Änderung oder eine ID des Dateieigentümers beinhaltet.
DE202016107435.5U 2015-04-16 2016-04-15 Systeme für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen Active DE202016107435U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/688,848 2015-04-16
US14/688,848 US10356157B2 (en) 2015-04-16 2015-04-16 Systems and methods for notifying users of changes to files in cloud-based file-storage systems

Publications (1)

Publication Number Publication Date
DE202016107435U1 true DE202016107435U1 (de) 2017-01-24

Family

ID=55861228

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112016001737.5T Pending DE112016001737T5 (de) 2015-04-16 2016-04-15 Systeme und Verfahren für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen
DE202016107435.5U Active DE202016107435U1 (de) 2015-04-16 2016-04-15 Systeme für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE112016001737.5T Pending DE112016001737T5 (de) 2015-04-16 2016-04-15 Systeme und Verfahren für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen

Country Status (5)

Country Link
US (3) US10356157B2 (de)
CN (2) CN117873980A (de)
DE (2) DE112016001737T5 (de)
GB (1) GB2553930B (de)
WO (1) WO2016168726A1 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998555B2 (en) 2014-04-08 2018-06-12 Dropbox, Inc. Displaying presence in an application accessing shared and synchronized content
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US10091287B2 (en) 2014-04-08 2018-10-02 Dropbox, Inc. Determining presence in an application accessing shared and synchronized content
US10171579B2 (en) 2014-04-08 2019-01-01 Dropbox, Inc. Managing presence among devices accessing shared and synchronized content
US10387834B2 (en) 2015-01-21 2019-08-20 Palantir Technologies Inc. Systems and methods for accessing and storing snapshots of a remote application in a document
US9846528B2 (en) 2015-03-02 2017-12-19 Dropbox, Inc. Native application collaboration
US9740378B2 (en) * 2015-05-25 2017-08-22 Cisco Technology, Inc. Collaboration content sharing
US10528627B1 (en) * 2015-09-11 2020-01-07 Amazon Technologies, Inc. Universal search service for multi-region and multi-service cloud computing resources
US10489492B2 (en) * 2015-12-10 2019-11-26 Dropbox, Inc. Sending feature-instruction notifications to user computing devices
US10089289B2 (en) 2015-12-29 2018-10-02 Palantir Technologies Inc. Real-time document annotation
US10248933B2 (en) 2015-12-29 2019-04-02 Dropbox, Inc. Content item activity feed for presenting events associated with content items
US10620811B2 (en) * 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US10439968B2 (en) * 2016-01-27 2019-10-08 Microsoft Technology Licensing, Llc Activity notification system
US20170286490A1 (en) * 2016-04-01 2017-10-05 Arista Networks, Inc. Implicit subscriptions in the connection protocol of a network switch
US10642844B2 (en) 2016-04-01 2020-05-05 Arista Networks, Inc. Non-materialized tables with standing queries
US10817512B2 (en) 2016-04-01 2020-10-27 Arista Networks, Inc. Standing queries in memory
US10783144B2 (en) 2016-04-01 2020-09-22 Arista Networks, Inc. Use of null rows to indicate the end of a one-shot query in network switch
US10860568B2 (en) 2016-04-01 2020-12-08 Arista Networks, Inc. External data source linking to queries in memory
US10783147B2 (en) 2016-04-01 2020-09-22 Arista Networks, Inc. Query result flow control in a network switch
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
US10075583B2 (en) * 2016-04-13 2018-09-11 Microsoft Technology Licensing, Llc Suppressing indications of incoming communications in user interfaces
US11356396B2 (en) 2016-12-30 2022-06-07 Dropbox, Inc. Content management system with integrated email service
US10552529B2 (en) * 2017-05-03 2020-02-04 International Business Machines Corporation Data change alerts in a collaborative environment
US10652037B2 (en) 2017-09-25 2020-05-12 Microsoft Technology Licensing, Llc Notifying affected users of feature changes in a software application
US11399357B2 (en) * 2018-01-29 2022-07-26 Ranjan Jagannathan Method and system of context-based personalized notification batching
US11200282B1 (en) * 2018-03-22 2021-12-14 Atlassian Pty Ltd. Integrated views of multiple different computer program applications with action options
US11003468B2 (en) * 2018-11-07 2021-05-11 Citrix Systems, Inc. Preloading of application on a user device based on content received by the user device
CN109729218B (zh) * 2018-12-10 2021-08-31 珠海格力电器股份有限公司 消息的处理方法、系统和手机
US11481205B2 (en) * 2019-06-01 2022-10-25 Apple Inc. User interfaces for managing subscriptions
FR3102587B1 (fr) * 2019-10-24 2023-04-07 Amadeus Sas Système, procédé et appareil pour la corrélation d’objets de données
CN111325004B (zh) * 2020-02-21 2021-08-31 腾讯科技(深圳)有限公司 一种文件评论、查看方法
US20230185859A1 (en) * 2021-12-13 2023-06-15 Toshiba Tec Kabushiki Kaisha Document management device, document management method, and non-transitory recording medium
US11722552B2 (en) * 2021-12-21 2023-08-08 Citrix Systems, Inc. Accessing files from virtual desktops and applications during interruptions to connectivity

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438564B1 (en) * 1998-06-17 2002-08-20 Microsoft Corporation Method for associating a discussion with a document
US20030172368A1 (en) * 2001-12-26 2003-09-11 Elizabeth Alumbaugh System and method for autonomously generating heterogeneous data source interoperability bridges based on semantic modeling derived from self adapting ontology
US7568151B2 (en) * 2002-06-27 2009-07-28 Microsoft Corporation Notification of activity around documents
US7543003B2 (en) * 2005-08-25 2009-06-02 Microsoft Corporation Providing change notifications to an entity-regarding a change of a specific type to data in a relational database
US8015152B2 (en) * 2006-01-24 2011-09-06 Microsoft Corporation Web based client/server notification engine
US20070282959A1 (en) * 2006-06-02 2007-12-06 Stern Donald S Message push with pull of information to a communications computing device
US9798789B2 (en) * 2006-09-12 2017-10-24 Facebook, Inc. Method and system for tracking changes to user content in an online social network
US8037093B2 (en) * 2006-09-12 2011-10-11 Facebook, Inc. Feeding updates to landing pages of users of an online social network from external sources
JP2008257317A (ja) * 2007-04-02 2008-10-23 Fuji Xerox Co Ltd 情報処理装置、情報処理システム及びプログラム
CN101315621B (zh) * 2007-05-29 2010-10-06 北京书生国际信息技术有限公司 一种实现文档共享编辑的方法
US8484578B2 (en) * 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8868499B2 (en) * 2007-08-15 2014-10-21 Salesforce.Com, Inc. Method and system for pushing data to subscribers in an on-demand service
WO2009043033A2 (en) * 2007-09-28 2009-04-02 Xcerion Aktiebolag Network operating system
US7889092B2 (en) * 2007-11-27 2011-02-15 Alertus Technologies Alert device having notification-based customizable settings
US8086565B2 (en) * 2008-02-18 2011-12-27 Microsoft Corporation File system watcher in the presence of different file systems
CN101888620A (zh) * 2009-05-14 2010-11-17 联芯科技有限公司 移动终端应用服务共享系统及共享方法
US9298834B2 (en) * 2009-05-26 2016-03-29 Adobe Systems Incorporated User presence data for web-based document collaboration
JP5743469B2 (ja) * 2010-09-22 2015-07-01 キヤノン株式会社 情報処理装置、その制御方法、及び制御プログラム
US9706247B2 (en) * 2011-03-23 2017-07-11 Audible, Inc. Synchronized digital content samples
US9760920B2 (en) * 2011-03-23 2017-09-12 Audible, Inc. Synchronizing digital content
US8655321B2 (en) 2011-04-11 2014-02-18 Microsoft Corporation Adaptive notifications
US8682989B2 (en) * 2011-04-28 2014-03-25 Microsoft Corporation Making document changes by replying to electronic messages
US8965983B2 (en) * 2011-05-06 2015-02-24 Microsoft Technology Licensing, Llc Changes to documents are automatically summarized in electronic messages
US9256859B2 (en) * 2011-07-26 2016-02-09 Salesforce.Com, Inc. Systems and methods for fragmenting newsfeed objects
US20130185252A1 (en) * 2012-01-17 2013-07-18 Jeffrey J. Palmucci Document Revision Manager
US20130254699A1 (en) * 2012-03-21 2013-09-26 Intertrust Technologies Corporation Systems and methods for managing documents and other electronic content
US9483652B2 (en) * 2012-06-14 2016-11-01 Google Inc. Enabling user privacy for changes of access to shared content
US8640257B1 (en) * 2012-06-14 2014-01-28 Google Inc. Enabling user privacy for changes of access to shared content
EP2704398A1 (de) 2012-08-27 2014-03-05 Awingu Nv Verfahren zur Inhaltsänderungsmitteilung in einem Cloud-Speichersystem, zugehöriger Cloud-Broker und Cloud-Agent
US20140129661A1 (en) * 2012-11-06 2014-05-08 Somas THYAGARAJA Smart Web Notifications
US20140281870A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Document collaboration and notification of changes using different notification mechanisms
US20140325629A1 (en) 2013-03-15 2014-10-30 Securedock, Llc System and method of online document storage and retrieval for use by hosting companies as a service to their clients
US20140359465A1 (en) * 2013-05-31 2014-12-04 Nubo Software Ltd. Method and Apparatus for Annotated Electronic File Sharing
CA2853411C (en) 2013-06-04 2024-03-12 Diego Matute A method for securely sharing a url
US10229134B2 (en) * 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US10476758B2 (en) 2013-07-11 2019-11-12 Google Llc Systems and methods for providing notifications of changes in a cloud-based file system
JP6265007B2 (ja) * 2014-03-31 2018-01-24 京セラドキュメントソリューションズ株式会社 情報処理装置、画像形成装置、文書管理システム、文書管理方法
US10110536B2 (en) * 2014-04-21 2018-10-23 Dropbox, Inc. System for managing event notifications to client devices
US9990372B2 (en) * 2014-09-10 2018-06-05 Panzura, Inc. Managing the level of consistency for a file in a distributed filesystem

Also Published As

Publication number Publication date
CN117873980A (zh) 2024-04-12
GB2553930B (en) 2021-09-22
US11258842B2 (en) 2022-02-22
US20160308940A1 (en) 2016-10-20
GB2553930A (en) 2018-03-21
US20220224750A1 (en) 2022-07-14
WO2016168726A1 (en) 2016-10-20
CN107430622A (zh) 2017-12-01
US10356157B2 (en) 2019-07-16
US20190342369A1 (en) 2019-11-07
GB201715223D0 (en) 2017-11-08
DE112016001737T5 (de) 2018-01-18

Similar Documents

Publication Publication Date Title
DE202016107435U1 (de) Systeme für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen
JP6961994B2 (ja) デバイス上でのメッセージ管理とドキュメント生成のためのシステムと方法、メッセージの管理プログラム、モバイルデバイス
US20220147489A1 (en) System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
JP6961993B2 (ja) デバイス上でのメッセージ管理とドキュメント生成のためのシステムと方法、メッセージの管理プログラム、モバイルデバイス
US7568151B2 (en) Notification of activity around documents
EP3008614B1 (de) Produktivitätsunterstützung in sozialen netzwerken
JP4920161B2 (ja) 情報の周辺アウェアネスを自動的に提供するシステムおよび動的オブジェクトを提供する方法
US20130283187A1 (en) Sharing files on a computer through use of uris
US20160140139A1 (en) Local representation of shared files in disparate locations
US9424281B2 (en) Systems and methods for document and material management
DE202011110894U1 (de) Serverbasierte gemeinsame Datennutzung in Computeranwendungen
DE112009000293T5 (de) Automatische Verbindungen zwischen Anwendungskomponenten
US9990102B2 (en) Creating and editing digital content works
US10088981B2 (en) User engagement application across user interface applications
DE202014010906U1 (de) Vorrichtung für zweidimensionale Dokumentennavigation
DE102016205009A1 (de) Intelligente interaktive Bildschirmaufnahme
US20070130183A1 (en) Methods, systems, and computer program products for associating computer-system-accessible resources using behaviors
US10936159B2 (en) Display of a plurality of files from multiple devices
WO2023147425A1 (en) Automatic canvas creation associated with a group-based communication channel
US10200496B2 (en) User interface configuration tool
DE202016008153U1 (de) Verringerung von Latenzzeiten in der Bereitstellung digitaler Inhalte über ein Netzwerk
US20230244848A1 (en) Previews for collaborative documents
JP2013045237A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years