DE202012013479U1 - System zur Synchronisierung von Aktionen im Hintergrund einer Anwendung - Google Patents

System zur Synchronisierung von Aktionen im Hintergrund einer Anwendung Download PDF

Info

Publication number
DE202012013479U1
DE202012013479U1 DE202012013479.5U DE202012013479U DE202012013479U1 DE 202012013479 U1 DE202012013479 U1 DE 202012013479U1 DE 202012013479 U DE202012013479 U DE 202012013479U DE 202012013479 U1 DE202012013479 U1 DE 202012013479U1
Authority
DE
Germany
Prior art keywords
action
application
website
actions
page script
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.)
Expired - Lifetime
Application number
DE202012013479.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 DE202012013479U1 publication Critical patent/DE202012013479U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Nichtflüchtiges, computerlesbares Medium, auf dem die Anweisungen eines Computerprogramms gespeichert sind, die, wenn sie von einem Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren durchführt, das Folgendes umfasst: Registrierung mehrerer Internetseiten, die auf einem Gerät ausgeführt werden, durch ein Hintergrund-Seitenskript, das auf dem Gerät ausgeführt wird; das Cachen einer von einer der Internetseiten erzeugten Aktion in einer Datenbank; und Als Reaktion auf eine Bestimmung, dass das Gerät sich in einem Online-Zustand befindet und dass die Internetseite(n) nicht mehr registriert ist (sind): das Auslesen der Aktion aus der Datenbank und Senden dieser Aktion durch das Hintergrund-Seitenskript.

Description

  • VERWEIS
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • TECHNISCHES GEBIET
  • Diese Beschreibung bezieht sich allgemein auf Systeme, Methoden und Geräte zur Synchronisierung von Aktionen im Hintergrund einer Anwendung, und hier insbesondere auf Systeme, Methoden und Geräte zur Synchronisierung von Aktionen im Hintergrund einer Web-Anwendung bei der Rückkehr in einen Online-Zustand.
  • HINTERGRUND
  • Vorhandene Systeme bieten Benutzern, die auf Web-Anwendungen zuzugreifen versuchen, während sie sich in einem Bereich mit begrenztem oder sporadischem Internetzugang befinden, nur begrenzte oder gar keine Funktionen. Zum Beispiel stehen bei vorhandenen elektronischen Mail-(E-Mail)-Anwendungen wenige bis keine Funktionen zur Verfügung, wenn ein Gerät, das auf die E-Mail-Anwendung zugreift, keinen oder nur sporadischen Internetzugang hat, bis das Gerät wieder Zugang zum Internet hat.
  • Manche Geräte, die auf E-Mail-Anwendungen zugreifen, während sie nicht mit dem Internet verbunden sind, bieten ggf. eine in einem Posteingang gecachte statische Anzeige der E-Mail-Nachrichten. Ein Benutzer kann z. B. mithilfe des Gerätes den Betreff von E-Mails oder gecachte Teile von E-Mails sehen, die bereits gesendet wurden, bevor das Gerät vom Internet getrennt wurde. Die Anzeige der Betreffzeilen der E-Mail-Nachrichten ist jedoch statisch, und dem Benutzer wird wenig Funktionsumfang angeboten, bis er wieder mit dem Internet verbunden ist. Des Weiteren haben vorhandene Systeme nur begrenzte Fähigkeiten hinsichtlich der Synchronisierung von Daten zwischen dem Gerät und dem E-Mail-Server.
  • ZUSAMMENFASSUNG
  • Entsprechend einer Ausführungsform werden mehrere Internetseiten, die auf ein und demselben Gerät ausgeführt werden, mit einem Hintergrund-Seitenskript registriert, das auf dem Gerät ausgeführt wird. Eine Aktion, die von einer der Internetseiten in einer Datenbank erzeugt wird, wird gecacht. Als Reaktion auf eine Bestimmung, dass sich das Gerät in einem Online-Zustand befindet und die Internetseite(n) nicht mehr registriert ist (sind), wird die Maßnahme von dem Hintergrund-Seitenskript von der Datenbank geladen und die Aktion wird von dem Hintergrund-Seitenskript gesendet.
  • Bei einer Ausführungsform wird die Aktion vom Hintergrund-Seitenskript an einen Host-Server gesendet.
  • Bei einer Ausführungsform wird die Aktion als Reaktion auf den Empfang einer Bestätigung, dass das Senden der Aktion erfolgreich war, von der Datenbank entfernt.
  • Bei einer Ausführungsform wird eine zweite Aktion von einer oder mehreren Internetseiten in der Datenbank gecacht. Die Internetseite(n) sendet (senden) die zweite Aktion. Die Internetseite(n) entfernt (entfernen) die zweite Aktion von der Datenbank. Bei einer Ausführungsform wird eine Anforderung, nicht länger registriert zu werden, von der (den) Internetseite(n) an das Hintergrund-Seitenskript gesendet.
  • Bei einer Ausführungsform erfolgt die Entfernung der zweiten Aktion von der Datenbank als Reaktion auf den Empfang einer zweiten Bestätigung, dass das Senden der zweiten Aktion erfolgreich war. Bei einer Ausführungsform erfolgt das Senden der Anforderung, nicht länger registriert zu werden, als Reaktion auf den Empfang einer Anfrage von einem Benutzer zum Schließen der Internetseite(n).
  • Bei einer Ausführungsform ist die Aktion in der Datenbank gesperrt.
  • Bei einer Ausführungsform ist jede der Internetseiten mit mindestens einem der folgenden Elemente verbunden: einer E-Mail-Anwendung, einer Anwendung zur Verarbeitung von Web-Dokumenten, einem Multimedia-Abspielgerät, einer Netzwerkanwendung für soziale Medien, einem Tabellenkalkulationsprogramm, einer Präsentationsanwendung, einer Spieleanwendung, einer Anwendung zur Bearbeitung von Grafiken und einer Anwendung zur Bearbeitung von Videoinhalten.
  • Entsprechend einer Ausführungsform greift ein Gerät über ein Internet auf eine Anwendung zu. Ein mit der Anwendung verbundenes Hintergrund-Seitenskript wird von dem Gerät ausgeführt. Eine erste mit der Anwendung verbundene Internetseite und eine zweite mit der Anwendung verbundene Internetseite werden in einer Hintergrundseite registriert. Eine erste von der ersten Internetseite erzeugte Aktion und eine zweite von der zweiten Internetseite erzeugte Aktion werden in einer Datenbank gespeichert, während das Gerät sich im Offline-Zustand befindet. Es wird ermittelt, dass die erste Internetseite und die zweite Internetseite geschlossen sind. Die erste Internetseite und die zweite Internetseite melden sich von der Hintergrundseite ab. Die erste Aktion und die zweite Aktion werden durch das Hintergrund-Seitenskript von der Datenbank ausgelesen. Die erste Aktion und die zweite Aktion werden über das Internet an einen Server gesendet.
  • Fachleute auf diesem Gebiet erkennen solche und weitere Vorteile dieser Darstellung unter Bezugnahme auf die folgende detaillierte Beschreibung und die dazugehörigen Zeichnungen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Kommunikationssystem 100, das zur Durchführung von Synchronisierungsaktionen im Hintergrund einer Anwendung entsprechend einer Ausführungsform dienen kann;
  • 2 zeigt die funktionalen Komponenten eines Gerätes entsprechend einer Ausführungsform;
  • 3 zeigt die funktionalen Komponenten eines Host-Servers entsprechend einer Ausführungsform;
  • 4 zeigt eine Anzeige einer Anwendung, die auf einem Browser ausgeführt wird, entsprechend einer Ausführungsform;
  • 5 ist ein Fließdiagramm, das eine Methode zeigt, bei der entsprechend einer Ausführungsform ein Hintergrund-Seitenskript zur Anwendung kommt;
  • 6 zeigt eine Anzeige einer Anwendung entsprechend einer Ausführungsform, die auf einem Browser ausgeführt wird;
  • 7 zeigt die Anzeige einer Anwendung mit Internetseiten mit Tabs entsprechend einer Ausführungsform;
  • 8 ist ein Fließdiagramm eines Verfahrens zur Synchronisierung von Aktionen entsprechend einer Ausführungsform; und
  • 9 zeigt Komponenten eines Computers, der zur Verwirklichung der Erfindung dienen kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt ein Kommunikationssystem 100, das zur Durchführung von Synchronisierungsaktionen im Hintergrund einer Anwendung entsprechend einer Ausführungsform dienen kann. Das Kommunikationssystem 100 beinhaltet ein Netzwerk 102, einen Host-Server 101 und ein Gerät 103. Das Kommunikationssystem 100 kann mehr als ein Gerät beinhalten. Bei einer Ausführungsform kann das Kommunikationssystem 100 mehr als einen Host-Server oder sonstigen Server beinhalten.
  • In der exemplarischen Ausführungsform von 1 ist das Netzwerk 102 das Internet. In weiteren Ausführungsformen kann das Netzwerk 102 einen oder mehrere verschiedene Typen von Netzwerken beinhalten, z. B. ein Intranet, ein Local Area Network (LAN), ein Wide Area Network (WAN), ein drahtloses Netzwerk, ein Speichernetzwerk (Storage Area Network (SAN)) auf Fibre-Channel-Basis oder ein Ethernet. Auch weitere Netzwerke können verwendet werden. Alternativ kann das Netzwerk 102 auch eine Kombination aus unterschiedlichen Netzwerktypen beinhalten.
  • Das Kommunikationssystem 100 beinhaltet außerdem den Host-Server 101. Bei einer Ausführungsform kann der Host-Server 101 eine Web-Anwendung hosten, auf die das Gerät 103 zugreifen kann. Bei einer alternativen Ausführungsform kann die Web-Anwendung auf einem beliebigen anderen Server gehostet werden. Bei einer Ausführungsform kann der Host-Server 101 den Zugang auf eine oder mehrere Internetseiten bereitstellen, die den Zugriff auf die Web-Anwendung ermöglichen. Wie z. B. in 3 und 6 gezeigt, kann der Host-Server 101 eine Anwendung 316 hosten, die die Internetseiten 611 und 612 anzeigt. Die Internetseiten 611 und 612 können alternativ auch als Vordergrundseiten bezeichnet werden. Das Gerät 103 kann auf eine World-Wide-Webseite zugreifen, z. B. die Internetseiten 611 und 612, die z. B. mithilfe eines herkömmlichen Internetbrowsers betrachtet werden können.
  • Das Gerät 103 kann jedes beliebige Gerät sein, das es dem Benutzer ermöglicht, auf die Anwendung 316 zuzugreifen. Das Gerät 103 kann entweder über eine direkte (drahtgebundenes) Verbindung oder drahtlos mit dem Netzwerk 102 verbunden sein. Das Gerät 103 kann über einen eigenen Anzeigebildschirm verfügen (nicht gezeigt), auf dem die Informationen angezeigt werden. Das Gerät 103 kann z. B. ein persönlicher Computer sein, ein Laptopcomputer, eine Workstation, ein Mainframe-Computer, ein mobiles Kommunikationsgerät, wie z. B. ein drahtloses Telefon, ein persönlicher digitaler Assistent, ein Mobilfunkgerät, ein Laptopcomputer, ein Netbook, ein Tabletgerät, ein Lesegerät für elektronische Bücher usw. Auch andere Geräte können verwendet werden.
  • 2 zeigt die funktionalen Komponenten des Gerätes 103 entsprechend einer Ausführungsform. Das Gerät 103 beinhaltet einen Browser 201 und eine Anzeige 202. Der Browser 201 kann ein herkömmlicher Internetbrowser sein, wie er z. B. verwendet wird, um über das Internet auf Seiten im World Wide Web zuzugreifen. Das Anzeigegerät 202 kann Softwareanwendungen, Internetseiten, Dokumente, Texte, Bilder, Video, Multimedia und sonstige Informationen anzeigen.
  • Das Gerät 103 beinhaltet darüber hinaus den Speicher 203, der eine Datenbank 204 beinhaltet. Die Datenbank 204 kann zum Speichern oder Cachen von Inhalten lokal auf dem Gerät 103 verwendet werden. Bei einer Ausführungsform kann die Datenbank 204 eine Structured Query Language(SQL)- oder SQLite-Datenbank sein. Das Gerät 103 beinhaltet einen Prozessor 205.
  • 3 zeigt die funktionalen Komponenten des Host-Servers 101 entsprechend einer Ausführungsform. Der Host-Server 101 beinhaltet einen Prozessor 302 und einen Speicher 303. Der Host-Server 101 kann weitere Komponenten enthalten, die in 3 nicht gezeigt sind. Der Speicher 303 enthält die Anwendung 316. Bei einer alternativen Ausführungsform kann die Anwendung 316 extern in dem Speicher 303 und auf dem Host-Server 101 gespeichert sein.
  • Unter der Voraussetzung, dass ein Benutzer das Gerät 103 dafür verwendet, auf die Anwendung 316 zuzugreifen, kann dem Benutzer die Anwendung angezeigt werden. Weiter sei angenommen, dass die Anwendung eine Web-Anwendung ist, wie z. B. eine Web-E-Mail-Anwendung, eine Anwendung zur Verarbeitung von Web-Dokumenten, eine Anwendung zum Abspielen von Multimedia, eine Anwendung für soziale Medien im Netzwerk, ein Tabellenkalkulationsprogramm, eine Präsentationsanwendung, eine Spieleanwendung, eine Anwendung zur Bearbeitung von Grafiken, eine Anwendung zur Bearbeitung von Videoinhalten oder irgendeine sonstige Anwendung, die Aktionen von einem Gerät an einen Server kommuniziert. Sollte der Benutzer auf die Web-Anwendung zugreifen wollen, kann er auf der Anzeige des Gerätes 103 auf ein Symbol für die Anwendung klicken, einen mit der Web-Anwendung verknüpften Uniform Resource Locator (URL) eingeben oder in sonstiger Weise auf die Anwendung zugreifen. Die Anwendung wird geöffnet und kann dann ggf. über eine Internetseite betrachtet werden (z. B. die Internetseite 611 in 6). Bei einer Ausführungsform kann die Internetseite eine Anzeige der Web-Anwendung bieten.
  • Bei einer weiteren Ausführungsform kann die Anwendung auf dem Gerät 103 sowie auf dem Host-Server 101 ausgeführt werden, und wenn der Benutzer auf die Internetseite zugreift, kann er Benutzer die Anwendung wie in 4 gezeigt nutzen. 4 zeigt eine Anzeige einer Anwendung, die auf einem Browser ausgeführt wird, entsprechend einer Ausführungsform. Das Gerät 103 umfasst z. B. den Browser 201, der die Anwendung 316 ausführt. In diesem Beispiel kann die Anwendung 316 dieselbe Anwendung sein, die auch auf dem Host-Server 101 ausgeführt wird. Alternativ kann die Anwendung 316 sich von jenen Anwendungen unterscheiden, die auf dem Hostserver 101 ausgeführt wird. In einer Ausführungsform kann die Anwendung 316 im Browser 201 ausgeführt werden. In dieser Ausführungsform kann der Host-Server 101 Daten fernspeichern, die mit der Anwendung 316 verbunden sind, die nur auf dem das Gerät 103 läuft.
  • 5 ist ein Fließdiagramm, das ein Verfahren zur Nutzung eines Hintergrund-Seitenskriptes entsprechend einer Ausführungsform zeigt. In Schritt 5002 werden mehrere Internetseiten, die auf ein und demselben Gerät ausgeführt werden, in einem Hintergrund-Seitenskript registriert, das auf dem Gerät ausgeführt wird. Wie in 6 gezeigt, registriert das Hintergrund-Seitenskript 614, das auf dem Gerät 103 in 1 ausgeführt wird, mehrere Internetseiten (z. B. die Internetseite 611 und die Internetseite 612), die auf dem Gerät 103 ausgeführt werden. Die Kommunikation zwischen dem Hintergrund-Seitenskript 614 und mehreren Internetseiten (z. B. der Internetseite 611 und der Internetseite 612) wird durch die in 6 gezeigten Pfeile dargestellt. Bei einer Ausführungsform gehört zu den verschiedenen Kommunikationsmethoden der direkte Funktionsanruf, die Postnachricht, Web Intents, Mechanismen zur Veröffentlichung/Benachrichtigung mithilfe gemeinsamer Speicherlaufwerke usw.
  • Bei einer Ausführungsform, die in den 6 und 7 dargestellt ist, sei angenommen, dass ein Benutzer, der das Gerät 103 einsetzt, die Anwendung 316 verwendet. Die Anwendung 316 kann eine Web-E-Mail-Anwendung sein. Wenn die Anwendung 316 vom Benutzer ausgeführt wird, wird ein Hintergrund-Seitenskript 614, dargestellt in 6, ebenfalls ausgeführt. Bei einer Ausführungsform kann nur ein Hintergrund-Seitenskript für eine Anwendung verwendet werden, und wenn mehrere Instanzen der Anwendung laufen, kann nur ein einziges Hintergrund-Seitenskript gebraucht werden. Das Hintergrund-Seitenskript 614 verwaltet darüber hinaus ein Internetseitenregister und registrierter darin jede Internetseite der Anwendung 316, die geöffnet wird. Das Hintergrund-Seitenskript 614 kann für den Benutzer sichtbar sein. Das Hintergrund-Seitenskript 614 kann einen Zähler für aktive Seiten betreiben und verfolgen, welche Seiten aktiv sind. Die Anwendung 316 kann mit dem Hintergrund-Seitenskript 614 kommunizieren, um das Hintergrund-Seitenskript 614 zu informieren, wenn eine Internetseite geöffnet wird (so dass sie mit dem Hintergrund-Seitenskript 614 registriert werden kann) und wenn eine Internetseite geschlossen wird (so dass sie mit dem Hintergrund-Seitenskript 614 abgemeldet werden kann). In dieser Weise zählt der Zähler abwärts, wenn eine Internetseite geschlossen wird. Bei einer Ausführungsform wartet das Hintergrund-Seitenskript 614, bis der Zähler bis auf null zurückgezählt hat (z. B. wenn null Internetseiten offen sind), bevor Aktionen entsprechend der unten gegebenen Beschreibung gesendet werden.
  • Der Benutzer kann mehrere Internetseiten öffnen (z. B. die Internetseite 611 und die Internetseite 612), die mit der Anwendung 316 verbunden sind. Wenn der Benutzer z. B. eine E-Mail liest, kann die Internetseite 611 dem Benutzer anbieten, die E-Mail-Nachrichten anzuzeigen. Der Benutzer kann eine neue Internetseite 612 öffnen, die die Anzeige einer neuen E-Mail-Nachricht anbietet, die der Benutzer gerade schreibt. Daher kann der Benutzer jedes Fenster dazu verwenden, eine getrennte Aufgabe auszuführen, z. B. ein Fenster zum Ausführen einer Aufgabe zum Lesen einer E-Mail und ein weiteres Fenster zum Ausführen einer Aufgabe zum Schreiben einer E-Mail. Bei einer Ausführungsform kann der Benutzer ein oder mehrere Fenster dazu verwenden, dieselbe Aufgabe auszuführen, oder ein oder mehrere Fenster können dafür verwendet werden, mehrere Aufgaben auszuführen.
  • Bei einer Ausführungsform kann die Anwendung 316 eine Web-Anwendung sein, die auf dem Host-Server 101 ausgeführt wird. Daher zeigen die 6 und 7 eine Anwendung oder Internetseiten an, die die ausgeführte Anwendung grafisch für einen Benutzer darstellen, der das Gerät 103 einsetzt.
  • Mehrere Aufhaben
  • Bei einer in 7 gezeigten Ausführungsform umfasst eine Anwendung 716 Internetseiten mit Tabs 702. Bei einer Ausführungsform kann die Anwendung 716 eine Web-E-Mail-Anwendung sein. Internetseiten mit Tabs 702 schließen die Internetseite 711-A und die Internetseite 711-B ein. In der in 7 gezeigten Ausführungsform wird die Internetseite 711-B ausgewählt (z. B. durch Klicken auf oder durch Auswählen eines Bereichs der Internetseite 711-B, durch Verwendung einer Maus, eines Tastenfeldes, sonstiger Eingabegeräte, auf Berührung mithilfe eines Gerätes mit berührungsempfindlichem Bildschirm, mithilfe eines Sprachbefehls usw.) und daher wird der Inhalt der Internetseite 711-B angezeigt. Die Internetseiten 711-B beinhalten einen Bereich 702, der eine Adressenleiste oder sonstige Informationen enthalten kann, einen Bereich 704, der die Anzeige eines Posteingangs enthalten kann, einen Bereich 708, der ein Chat-Log enthalten kann, sowie einen Bereich 706, der ein Bild, Video oder sonstige Multimedia-Inhalte enthalten kann. Die Internetseite 711-A kann ähnliche Inhalte enthalten wie die Internetseite 711-B, oder jedes Fenster kann eine exakte Wiedergabe der anderen sein. Bei einer Ausführungsform, die der oben beschriebenen bezüglich 6 ähnlich ist, kann ein Benutzer die Internetseite 711-A dafür verwenden, eine E-Mail-Nachricht zu schreiben und einen Satz Aufgaben ausführen, während er die Internetseite 711-B dafür verwendet, eine oder mehrere der gleichen oder andere Aufgaben wie in der Internetseite 711-A zu erledigen. Bei einer Ausführungsform können einige oder alle der in der Internetseite 711-A dargestellten Aufgaben andere sein als die in der Internetseite 711-B dargestellten.
  • Bei einer Ausführungsform kann die Internetseite 711-A von einem Benutzer dafür verwendet werden, sich bei einem E-Mail-Konto anzumelden, während die Internetseite 711-B von demselben oder von einem anderen Benutzer dafür verwendet werden kann, sich bei einem weiteren E-Mail-Konto anzumelden.
  • Angenommen nun, dass ein Benutzer auf dem Beifahrersitz eines PKW reist. Der Benutzer verwendet ein Netbook und möchte die Anwendung 716 dafür verwenden, Tätigkeiten zu betrachten und auszuführen, die mit einem E-Mail-Konto verbunden sind. Wenn der Benutzer die Internetseite 711-B in der Anwendung 716 öffnet oder in sonstiger Weise darauf zugreift, registriert sich die Internetseite 711-B mit einem Hintergrund-Seitenskript 714. Bei einer Ausführungsform läuft das Hintergrund-Seitenskript 714 im Hintergrund der Anwendung 716 und kann für den Benutzer unsichtbar sein. In ähnlicher Weise, wenn der Benutzer eine weitere Internetseite mit Tabs 711-A oder irgend eine andere Internetseite in der Anwendung 716 öffnet, registriert sich die Internetseite 711-A mit dem Hintergrund-Seitenskript 714. In ähnlicher Weise, wenn in der in 6 gezeigten Ausführungsform die Internetseite 611 oder die Internetseite 612 vom Benutzer geöffnet werden sollte, registriert sich jede der Internetseiten 611 und 612 mit dem Hintergrund-Seitenskript 614, das im Hintergrund der Anwendung 316 läuft.
  • Bei dem Schritt 5004 wird eine Aktion, die von einer oder mehreren Internetseiten erzeugt wird, in einer Datenbank gecacht. Eine von einer oder mehreren Internetseiten erzeugte Aktion (Internetseite 611 und Internetseite 612 in 6 oder Internetseite 711-A und Internetseite 711-B in 7) wird in der Datenbank 204 gecacht. Bei einer Ausführungsform kann die Aktion ein Befehl bzw. eine Mutation sein, z. B. speichern, löschen, als wichtig markieren, als Spam auswählen, in einen anderen Ordner verschieben, senden, weiterleiten, herunterladen, mit Sternchen versehen, weitergeben, bearbeiten, Dateianhang/Bild/Link/Medien usw. hinzufügen.
  • Nach der Anmeldung, dem Einloggen oder dem Zugriff auf das E-Mail-Konto in sonstiger Weise können dem Benutzer mehrere Aufgaben angezeigt werden. Der Benutzer kann z. B. einen E-Mail-Posteingang im Bereich 704 sehen, ein Chat-Log in Bereich 708 und ein Bild, Video usw. in Bereich 706. Wenn der PKW durch einen unterirdischen Tunnel fährt, kann der Benutzer zeitweilig keinen Internetzugang haben (z. B. aufgrund von schlechtem Empfang) und in den Offline-Zustand wechseln. Anstatt von der Anwendung 716 getrennt zu werden, kann der Benutzer weiterhin auf E-Mails im Posteingang klicken und Chat-Nachrichten an seine Freunde im Chat-Log schreiben. Der Benutzer wäre in der Lage, E-Mails in der Anwendung 716 zu betrachten, darauf zuzugreifen oder Entwürfe dafür zu verfassen, selbst wenn die Internetverbindung nur sporadisch vorhanden oder ganz verloren gegangen ist, während der PKW durch den unterirdischen Tunnel fährt. Bei einer Ausführungsform wird von den mit einem E-Mail-Konto verbundenen Inhalten eine lokale Kopie gespeichert und dem Benutzer auf der Internetseite 711-B angezeigt. Das heißt die mit dem E-Mail-Konto verbundenen E-Mail-Nachrichten, Chat-Nachrichten usw. werden lokal im Speicher 203 des Gerätes 103 gespeichert. Die mit dem E-Mail-Konto verbundenen Nachrichten usw. können in der Datenbank 204 oder in einem anderen Speichergerät (in 2 nicht gezeigt) gespeichert werden.
  • Bei einer weiteren Ausführungsform sei angenommen, dass sich das Gerät eines Benutzers für längere Zeit im Offline-Zustand befindet. Es sei z. B. angenommen, dass ein Benutzer sein/ihr Mobiltelefon, Laptop, Netbook usw. in einem Flugzeug verwendet, das keinen WLAN-Internetzugang anbietet. Der Benutzer kann eine E-Mail-Nachricht an einen in einem Adressbuch gespeicherten E-Mail-Kontakt verfassen. Der Benutzer ist in der Lage, die E-Mail im E-Mail-Programm zu verfassen, selbst wenn das Gerät sich für längere Zeit im Offline-Zustand befindet. Die E-Mail wird in der Datenbank 204 (oder in einem weiteren, in 2 nicht gezeigten Speicherelement) lokal gespeichert.
  • Alle vom Benutzer vorgegebenen Aktionen oder Befehle werden in der Datenbank 204 gecacht. Nehmen wir (in 7) z. B. an, dass der Benutzer eine in seinem Posteingang in Bereich 704 angezeigte E-Mail-Nachricht löschen, eine Chat-Nachricht an einen Freund in dem in Bereich 708 angezeigten Chat-Log verfassen und ein in dem Bereich 706 angezeigtes Video an einen weiteren Freund weiterleiten möchte. Wenn der Benutzer diese Aktionen ausführt, wird jede dieser Aktionen in der Datenbank 204 gecacht, so dass sie gespeichert werden können, bis sie erfolgreich an den Host-Server 101 gesendet werden können.
  • Es sei nun angenommen, dass der Benutzer die Arbeit in seinem E-Mail-Konto beendet hat. Der Benutzer verlässt dann die Internetseite 711-B, indem er auf das „x” 712 klickt. In ähnlicher Weise kann der Benutzer die Internetseite 711-A verlassen, indem er auf das „x” 713 klickt. Bei einer Ausführungsform kann der Benutzer die Internetseiten schließen, indem er einen Tastaturbefehl oder einen Sprachbefehl gibt, indem er auf ein anderes Element klickt, welches das Schließen der Internetseiten bewirkt, indem er einen Bereich der Internetseiten berührt, was dazu führt, dass diese geschlossen werden (falls der Benutzer ein Gerät mit berührungsempfindlichem Bildschirm verwendet) oder in sonstiger Weise.
  • Bei einer Ausführungsform kann der Benutzer die Anwendung 716 schließen oder eine andere Aufgabe ausführen, die zum Schließen der Internetseiten führt. Sobald die Internetseiten geschlossen werden, werden sie durch das Hintergrund-Seitenskript 714 abgemeldet. Die Aktionen bleiben in der Datenbank 204 gecacht, bis die Internetverbindung wiederhergestellt ist.
  • Wenn das Gerät 103 sich über das Netzwerk 102 wieder mit dem Host-Server 101 verbinden kann, werden die in der Datenbank 204 gecachten Aktionen an den Host-Server 101 gesendet. Bei einer Ausführungsform kann das Hintergrund-Seitenskript 714 bewirken, dass das Gerät 103 in regelmäßigen Abständen den Host-Server 101 anpingt, um zu prüfen, ob eine Verbindung hergestellt werden kann und das Gerät 103 sich in einem Online-Zustand befindet. In einer weiteren Ausführungsform können noch weitere Methoden dafür verwendet werden, zu ermitteln, wenn das Gerät 103 wieder Zugriff auf das Internet hat und dann eine Verbindung zum Host-Server 101 aufbauen kann.
  • Bei den Schritten 5006 und 5008 wird als Reaktion auf die Bestimmung, dass sich das Gerät in einem Online-Zustand befindet und dass eine der Internetseiten nicht mehr registriert ist, die Aktion durch das Hintergrund-Seitenskript von der Datenbank geladen. Als Reaktion auf eine Bestimmung, dass sich das Gerät 103 in einem Online-Zustand befindet und dass die Internetseite 711-B nicht mehr registriert ist, wird die Aktion durch das Hintergrund-Seitenskript 714 von der Datenbank 204 geladen.
  • Daher lädt das Hintergrund-Seitenskript 714 die Aktionen aus der Datenbank 204. Bei dem Schritt 5010 wird die Aktion von dem Hintergrund-Seitenskript gesendet. Die Aktion wird von dem Hintergrund-Seitenskript 714 über das Netzwerk 102 an den Host-Server 101 gesendet. Bei einer Ausführungsform kann das Hintergrund-Seitenskript 714 für einen voreingestellten Zeitraum warten, bevor es die Aktionen lädt und versucht, diese an den Host-Server 101 zu senden. Das Hintergrund-Seitenskript 714 kann z. B. einige Millisekunden, eine Minute oder gar nicht warten, um zu sehen, ob das Gerät 103 in einen Online-Zustand zurückkehrt.
  • Aktionen können mit Internetseiten verbunden sein und nach Internetseiten getrennt sein. Aktionen können auch nach Benutzern getrennt sein. Zum Beispiel kann der erste Benutzer Aktionen auf einer Internetseite ausführen, die von den Aktionen eines zweiten Benutzers getrennt sind.
  • Beim Versuch, Aktionen zu senden, wenn die Internetseite 711-B geschlossen ist, wird die Internetseite 711-B erkannt und nur solche Aktionen gesendet, die zur Internetseite 711-B gehören. Bei einer Ausführungsform werden vor dem Senden der Aktionen alle Internetseiten geschlossen, wenn mehrere Internetseiten geöffnet sind. Wenn alle Internetseiten geschlossen sind, können alle Aktionen gesendet werden, ohne Kenntnis der Verbindungen von Aktionen mit den jeweiligen Internetseiten. Das heißt alle Aktionen können ohne Kenntnis, welche Aktion mit welcher Internetseite verbunden ist, gesendet werden.
  • Bei einer Ausführungsform kann die Rückkehr des Gerätes 103 in einen Online-Zustand als Online-Ereignis bezeichnet werden. Insbesondere wenn das Gerät 103 von einem Offline-Zustand in einen Online-Zustand umschaltet, erfolgt das Online-Ereignis. Während des Online-Ereignisses kann sich das Gerät 103 erneut mit dem Host-Server 101 synchronisieren. Wenn das Gerät 103 von einem Online-Zustand in einen Offline-Zustand umschaltet, kommt es zu einem Offline-Ereignis.
  • Ausführung von Aktionen in Paketen (Batch-Verarbeitung)
  • Das Hintergrund-Seitenskript 714 kann die in der Datenbank 204 gespeicherten Aktionen oder Befehle an den Host-Server 101 senden. Bei einer Ausführungsform kann das Hintergrund-Seitenskript 714 mehrere Aktionen vor dem Senden an den Host-Server 101 in einer Stapelverarbeitungsdatei zusammenfassen. Bei einer weiteren Ausführungsform kann das Hintergrund-Seitenskript 714 vor dem Senden nur solche Aktionen in einer Stapelverarbeitungsdatei zusammenfassen, die miteinander in Verbindung stehen. Zum Beispiel können alle Aktionen, die mit E-Mail verbunden sind, in einer Stapelverarbeitungsdatei zusammengefasst werden, oder alle Aktionen, die mit dem Chat-Log verbunden sind usw. In einer weiteren Ausführungsform können alle Aktionen gebündelt und auf einmal gesendet werden. In einer weiteren Ausführungsform kann die Größe der Last voreingestellt und so viele Aktionen gesendet werden, wie innerhalb dieser voreingestellten Last möglich sind.
  • Bei einer Ausführungsform kann die Sendung von Aktionen in derjenigen Reihenfolge erfolgen, in der die Aktionen in einer Warteschlange angeordnet sind (z. B. die erste in der Warteschlange wird zuerst versendet). In weiteren Ausführungsformen kann die Warteschlange so abgearbeitet werden, dass die erste Aktion zuletzt ausgeführt wird, oder dass die letzte Aktion in der Warteschlange zuletzt ausgeführt wird, oder dass die letzte Aktion in der Warteschlange zuerst ausgeführt wird, oder in irgendeiner sonstigen Art.
  • Wenn der Host-Server 101 die Aktionen empfängt, führt der Host-Server 101 die gewünschten Aktionen aus. Gibt eine vom Host-Server 101 empfangene Aktion z. B. an, dass eine Nachricht gelöscht werden soll, so löscht der Host-Server 101 die Nachricht. Greift ein Benutzer erneut auf die E-Mail zu, so wird die Nachricht gelöscht und erscheint nicht mehr im E-Mail-Posteingang.
  • Bei einer Ausführungsform müssen alle mit der Anwendung verbundenen Internetseiten geschlossen bzw. bei dem Hintergrund-Seitenskript abgemeldet sein, bevor das Hintergrund-Seitenskript das Senden der Aktionen auslöst. Das Hintergrund-Seitenskript kann z. B. keine Aktionen mit dem Host-Server synchronisieren, während noch Anwendungsinternetseiten geöffnet sind, da dies das Risiko erhöhen würde, dass Aktionen doppelt ausgeführt werden. Um daher zu vermeiden, dass der Host-Server Doubletten entfernt, was den Host-Server zusätzlich belasten würde, wartet das Hintergrund-Seitenskript, bis alle Internetseiten geschlossen sind. Das Entfernen von Doubletten kann für den Host-Server kompliziert auszuführen sein, da aufgrund des Offline-Verhaltens doppelte Aktionen im Abstand von Stunden oder Tagen gesendet werden können.
  • Das Entfernen von Doubletten kann möglich sein, wenn jede Aktion eindeutig identifiziert werden kann. Daher kann die eindeutige Erkennung dazu dienen, zu gewährleisten, dass doppelte Aktionen eliminiert werden und die Synchronisierung korrekt durchgeführt wird. Zum Beispiel wird jedes Mal, wenn eine Aktion auf einer Internetseite ausgeführt wird, dieser Aktion eine eindeutige Erkennung zugewiesen werden. Wenn die nächste Aktion erfolgt, muss die nächste eindeutige Erkennung erhalten werden, wobei die nächste eindeutige Erkennung nicht mit einer weiteren eindeutigen Erkennung gleichbedeutend ist. Somit müssen alle Internetseiten mit derselben Zuordnungsvermittlung bzw. -quelle kommunizieren (z. B. mit dem Host-Server 101), damit ihnen eine eindeutige Kennung zugewiesen wird. Der Host-Server würde dann die Aktionen mit der eindeutigen Kennung empfangen. Die Instanz zur Vergabe eindeutiger Kennungen muss die Kennungen nach der Methode pflegen und zuweisen, dass die erste in der Warteschlange zuerst ausgeführt wird. Bei einer Ausführungsform, bei der nur ein Gerät mit dem Host-Server 101 kommuniziert und das Gerät das einzige ist, das die Erlaubnis zur Durchführung von Aktionen hat, kann die eindeutige Kennung alternativ von einer Datenbank kommen, die in dem Gerät enthalten ist oder mit diesem kommuniziert.
  • Bei einer Ausführungsform werden Aktionen auf der Basis von Internetseiten in einer Warteschlange aufgereiht. Zum Beispiel kann die Internetseite 711-A mehrere Aktionen beinhalten, die anzuwenden sind, und die Internetseite 711-B kann ihrerseits mehrere Aktionen beinhalten, die anzuwenden sind. Diese jeweiligen Aktionen für die Internetseite 711-A und die jeweiligen Aktionen für die Internetseite 711-B können voneinander getrennt gespeichert werden. Nach erfolgreichem Senden der in der Warteschlange gespeicherten Aktionen kann eine lokale Kopie der Aktionen aus der Warteschlange entfernt werden. Bei einer Ausführungsform wird die Aktion von dem Hintergrund-Seitenskript als Reaktion auf den Empfang einer Bestätigung von der Datenbank entfernt, dass die Aktion erfolgreich gesendet wurde. Wenn die Aktionen erfolgreich an den Host-Server 101 gesendet wurden (d. h. während sich das Gerät 103 in einem Online-Zustand befindet), kann der Host-Server 101 z. B. eine Empfangsbestätigung senden. Die Aktionen können dann von der Datenbank 204 entfernt werden. Somit werden die Aktionen zwischen dem Gerät 103 (sowie sonstigen Geräten) und dem Host-Server 101 synchronisiert.
  • Bei einer Ausführungsform sendet das Hintergrund-Seitenskript, nachdem eine oder mehrere Internetseiten geschlossen wurden, die in der Datenbank 204 gespeicherten Aktionen, die mit der (den) geschlossenen Seite(n) verbunden sind, an den Server 101. Wenn während des Sendens ein Benutzer, der das Gerät 103 verwendet, einen Befehl gibt, die Internetseite 711-B erneut zu öffnen, oder eine weitere Internetseite zu öffnen, die mit der Anwendung 716 verbunden ist, kann das Hintergrund-Seitenskript 714 den Benutzer informieren, dass es gerade ausgeführt wird. Bei einer Ausführungsform kann das Hintergrund-Seitenskript 714 die Aufforderung zum Öffnen einer weiteren Internetseite oder zum erneuten Öffnen einer Internetseite bzw. zum verzögerten Laden einer Internetseite ignorieren, bis die Aktionen vollständig an den Host-Server 101 gesendet wurden. Bei einer Ausführungsform kann das Hintergrundseitenskript 714 die Anwendung und die Internetseiten blockieren, bis das Senden abgeschlossen ist. Zum Beispiel kann einem Benutzer eine Textnachrichtenbox angezeigt werden, die besagt „Warten Sie bitte einen Moment, während Ihre Aktionen gesendet werden.” Alternativ kann dem Benutzer während des Sendens ein Symbol angezeigt werden, z. B. eine Sanduhr. Bei einer Ausführungsform kann ein beidseitiger Handshake zwischen dem Hintergrund-Seitenskript 714 und einer Vordergrundseite um die Erlaubnis ersuchen, Aktionen zu laden, die sich im Hintergrund in einer Warteschlange befinden. Die Vordergrundseite kann eine Nachricht senden, um um die Erlaubnis zu ersuchen. Während dieses Zeitraums kann ggf. ein Rad oder eine Sanduhr angezeigt werden, während auf eine Reaktion gewartet wird. Nach erteilter Erlaubnis kann das Hintergrund-Seitenskript 714 eine Nachricht senden, wenn das Laden von Aktionen sicher durchgeführt werden kann.
  • Bei einer Ausführungsform stellt das Hintergrund-Seitenskript 714, wenn Aktionen nicht erfolgreich gesendet werden konnten (z. B. bei einer Unterbrechung des Empfangssignals), die gescheiterten Aktionen voran und sendet sie erneut an den Host-Server 101.
  • Wenn die Aktionen an den Host-Server 101 gesendet wurden und das Gerät 103 in einem Online-Zustand verbleibt, gibt das Hintergrund-Seitenskript 714 die Kontrolle über das Senden von Aktionen ab. Das heißt, dass wenn das Gerät 103 wieder in den Online-Zustand zurückkehrt, die Internetseiten ihre eigene interne Warteschlange für Aktionen beibehalten und Aktionen ungestört durch das Hintergrund-Seitenskript 714 direkt an den Host-Server 101 senden können. Bei einer Ausführungsform cacht eine der Internetseiten (z. B. die Internetseite 711-B) eine zweite Aktion in der Datenbank 204, sendet die zweite Aktion (an den Host-Server 101) und entfernt durch eine der Internetseiten die zweite Aktion von der Datenbank 214. Bei einer Ausführungsform können die Internetseiten, wenn das Gerät 103 sich in einem Online-Zustand befindet, ihre eigenen internen Warteschlangen für Aktionen behalten und diese Aktionen in eine universellen Warteschlange einreihen (die über das Hintergrund-Seitenskript 714 zugänglich ist), die alle Aktionen enthält, die auf allen Internetseiten erfolgt sind. Bei einer Ausführungsform zählt das Hintergrund-Seitenskript 714 einen Zähler aufwärts, wenn eine Internetseite registriert wurde.
  • Bei einer Ausführungsform erfolgt das Entfernen der zweiten Aktion von der Datenbank 204 als Reaktion auf den Empfang einer zweiten Bestätigung, dass das Senden der zweiten Aktion erfolgreich war. Der Empfang wird vom Host-Server 101 gesendet.
  • Bei einer Ausführungsform sendet eine der Internetseiten eine Aufforderung an das Hintergrund-Seitenskript, dass sie nicht mehr registriert werden soll. Zum Beispiel kann ein Benutzer die Internetseite 711-A schließen. Somit sendet die Internetseite 711-A eine Aufforderung an das Hintergrund-Seitenskript 714, dass sie nicht mehr registriert werden soll (bzw. dass sie abgemeldet werden soll). Somit erfolgt das Senden der Anforderung, dass sie nicht mehr registriert werden soll, als Reaktion auf den Empfang einer Aufforderung durch den Benutzer, die Internetseite zu schließen.
  • Befindet sich das Gerät nach dem Absenden der Aktionen in der Warteschlange in einem Online-Zustand, so können diese Aktionen aus den Warteschlangen der einzelnen Internetseiten sowie aus den universellen Warteschlangen entfernt werden. Sollte das Gerät 103 jedoch offline gehen, bevor das Senden der Aktionen in der Warteschlange abgeschlossen ist, übernimmt das Hintergrund-Seitenskript 714 die Kontrolle wie oben beschriebenen.
  • Bei einer Ausführungsform ist jede der Internetseiten mit zumindest einer der folgenden Anwendungen verbunden: einer E-Mail-Anwendung; einer Anwendung zur Verarbeitung von Web-Dokumenten; einer Anwendung zum Abspielen von Multimedia; einer Anwendung für soziale Medien im Netzwerk; einem Tabellenkalkulationsprogramm; einer Präsentationsanwendung; einer Spieleanwendung, einer Anwendung zur Bearbeitung von Grafiken; oder einer Anwendung zur Bearbeitung von Videoinhalten.
  • Bei einer Ausführungsform wird das Hintergrund-Seitenskript 714 regelmäßig neu geladen oder aktualisiert, so dass in dem Gerät 103 stets die jeweils aktuelle Version des Hintergrund-Seitenskriptes vorhanden ist. Bei einer Aktualisierung des Hintergrund-Seitenskripts 714 müssen sich dann alle Internetseiten (z. B. die Internetseiten 711-A und 711-B usw.) beim Hintergrund-Seitenskript 714 neu anmelden. Das Hintergrund-Seitenskript 714 kann einen Zeitstempel für das letzte Mal schreiben, dass das Hintergrund-Seitenskript 714 geladen wurde. Die Internetseiten (z. B. Vordergrundseiten) können dann alle den Zeitstempel einsehen, um zu ermitteln, dass sie sich neu registrieren müssen. Vordergrundseiten können in einem gemeinsam verwendeten Speicher den Zeitstempel überwachen und sich jedes Mal, wenn sich der Wert des Zeitstempels ändert, neu registrieren. Zum Beispiel kann das Hintergrund-Seitenskript 714 mithilfe von HTML (Hyper Text Markup Language) 5 LocalStorage, bei jedem Laden ein window.localStorage.backgroundLoaded = now() ausführen. Die Vordergrundseiten können auf Änderungen im lokalen Speicher (LocalStorage) mit der Eigenschaft „backgroundLoaded” warten und sich jedes Mal, wenn sich der Wert ändert, neu registrieren.
  • Bei einer Ausführungsform können die Aktionen von der Datenbank 204 blockiert werden, um zu verhindern, dass dieselbe Aktion doppelt gesendet wird.
  • Bei einer Ausführungsform kann das Hintergrund-Seitenskript die Synchronisierung aller Aktionen verwalten, gleichgültig ob ein Gerät sich in einem Online- oder Offline-Zustand befindet. Daher würde das Hintergrund-Seitenskript das Senden aller Aktionen verwalten. Bei dieser Ausführungsform muss das Hintergrund-Seitenskript stets laufen.
  • 8 ist ein Fließdiagramm eines Verfahrens zur Synchronisierung von Aktionen entsprechend einer Ausführungsform. Wie in 8, mehrere Aktionen werden in Internetseiten erzeugt. Wenn daher ein Gerät, das die Internetseiten darstellt, in einen Online-Zustand zurückkehrt, müssen mehrere Aktionen mit einem Host-Server synchronisiert werden.
  • Bei dem Schritt 8002 wird von einem Gerät über ein Internet auf eine Anwendung zugegriffen. Zum Beispiel greift das Gerät 103 über ein Internet (d. h. Netzwerk 102) auf die Anwendung 316 zu.
  • Bei dem Schritt 8004 wird von dem Gerät ein mit der Anwendung verbundenes Hintergrund-Seitenskript ausgeführt. Das mit der Anwendung 316 verbundene Hintergrund-Seitenskript 614 wird von dem Gerät 103 ausgeführt. Das Hintergrund-Seitenskript 614 kann im Hintergrund der Anwendung 316 laufen, wie in 6 gezeigt.
  • Bei dem Schritt 8006 wird in einer Hintergrundseite die erste mit der Anwendung verbundene Internetseite und eine zweite mit der Anwendung verbundene Internetseite registriert. Die erste mit Anwendung 316 verbundene Internetseite 611 und die zweite mit Anwendung 316 verbundene Internetseite 612 werden im Hintergrund-Seitenskript 614 registriert.
  • Bei dem Schritt 8008 wird eine von der ersten Internetseite erzeugte erste Aktion und eine zweite von der zweiten Internetseite erzeugte Aktion in einer Datenbank gespeichert, während das Gerät sich im Offline-Zustand befindet. Eine von der ersten Internetseite 611 erzeugte erste Aktion und eine von der zweiten Internetseite 612 erzeugte zweite Aktion werden in der Datenbank 204 gespeichert, während sich das Gerät 103 im Offline-Zustand befindet. Zum Beispiel kann ein Benutzer, der das Gerät 103 einsetzt, wichtige E-Mails in der Internetseite 611 markieren (z. B. eine erste Aktion) und in der Internetseite 612 Junk-E-Mails löschen (z. B. eine zweite Aktion), während sich das Gerät 103 im Offline-Zustand befindet. Entsprechende Befehle oder Aktionen werden in der Datenbank 204 gespeichert.
  • Bei dem Schritt 8010 wird ermittelt, dass die erste Internetseite und die zweite Internetseite geschlossen sind. Es erfolgt eine Bestimmung (z. B. durch das Hintergrund-Seitenskript 614), dass die erste Internetseite 611 und die zweite Internetseite 612 geschlossen sind. Der Benutzer kann zum Beispiel die Internetseiten schließen, wenn er mit der E-Mail-Anwendung fertig ist.
  • Bei dem Schritt 8012 werden die erste Internetseite und die zweite Internetseite von der Hintergrundseite abgemeldet. Das Hintergrund-Seitenskript 614 kann die erste Internetseite 611 und die zweite Internetseite 612 in der oben beschriebenen Weise abmelden, nachdem sie geschlossen wurden. Daher zählt ein Zähler im Hintergrund-Seitenskript 614 abwärts und ermittelt, dass alle mit der Anwendung 316 verbundenen Internetseiten geschlossen sind.
  • Bei dem Schritt 8014 werden die erste und die zweite Aktion von dem Hintergrund-Seitenskript von der Datenbank geladen. Die erste Aktion und die zweite Aktion werden von dem Hintergrund-Seitenskript 614 von der Datenbank 204 geladen. Die erste Aktion und die zweite Aktion können in der Weise in die Warteschlange eingereiht werden, dass die erste Aktion in der Warteschlange zuerst ausgeführt wird. Des Weiteren können die erste Aktion und die zweite Aktion jeweils Aktionen beinhalten, die für jede der jeweiligen Internetseiten im Sinne einer Stapelverarbeitung verarbeitet werden. Das Gerät 103 kann eine Bestimmung vornehmen, dass das Gerät 103 in einen Online-Zustand zurückgekehrt ist.
  • Bei dem Schritt 8016 werden die erste Aktion und die zweite Aktion über ein Internet an einen Server gesendet. Die erste Aktion und die zweite Aktion werden über das Internet (d. h. Netzwerk 102) an den Host-Server 101 gesendet. Das Hintergrund-Seitenskript 614 kann die von der Datenbank 204 geladene erste und zweite Aktion an den Host-Server 101 senden.
  • Bei verschiedenen Ausführungsformen können die hierin beschriebenen Schritte der Methode, einschließlich der in 5 und 8 beschriebenen, in einer Reihenfolge ausgeführt werden, die von der beschriebenen oder gezeigten Reihenfolge abweicht. In weiteren Ausführungsformen können in den beschriebenen Methoden weitere Schritte auftreten bzw. ausgelassen werden.
  • Die hierin beschriebenen Systeme, Geräte und Methoden können mithilfe digitaler Schaltkreise oder eines oder mehrerer Computer, mithilfe wohl bekannter Computerprozessoren, Speichereinheiten, Speichergeräte, Computersoftware und sonstigen Komponenten verwirklicht werden. Typischerweise beinhaltet ein Computer einen Prozessor zum Ausführen der Anweisungen und einen oder mehrere Speicher zum Speichern von Anweisungen und Daten. Ein Computer kann darüber hinaus einen oder mehrere Massenspeichergeräte enthalten oder damit verbunden sein, wie z. B. eine oder mehrere Magnetplatten, interne Festplatten und austauschbare Platten, magneto-optische Platten, optische Platten usw.
  • Die hierin beschriebenen Systeme, Geräte und Methoden können mithilfe von Computer verwirklicht werden, die in einer Client-Server-Beziehung betrieben werden. Typischerweise sind in einem solchen System die Client-Computer vom Server-Computer entfernt untergebracht und beide interagieren über ein Netzwerk. Die Client-Server-Beziehung kann durch Computerprogramme definiert und gesteuert werden, die auf den jeweiligen Client- und Server-Computern laufen.
  • Die hierin beschriebenen Systeme, Geräte und Methoden können innerhalb eines netzwerkbasierten Cloud-Computersystems verwendet werden. In einem solchen netzwerkbasierten Cloud-Computersystem kommuniziert ein Server oder ein weiterer Prozessor, der mit einem Netzwerk verbunden ist, mit einem oder mehreren Client-Computer über ein Netzwerk. Ein Client-Computer kann mit dem Server über eine Netzwerk-Browser-Anwendung kommunizieren, die sich z. B. auf dem Client-Computer befindet und dort ausgeführt wird. Ein Client-Computer kann Daten auf dem Server speichern und über das Netzwerk auf die Daten zugreifen. Ein Client-Computer kann Anfragen für Daten oder Online-Dienste über das Netzwerk an den Server senden. Der Server kann die angeforderten Dienste ausführen und Daten für den/die Client-Computer bereitstellen. Der Server kann außerdem Daten senden, die einen Client-Computer zur Ausführung einer bestimmten Funktion veranlassen, z. B. die Ausführung einer Berechnung, die Anzeige bestimmter Daten auf einem Bildschirm usw. Zum Beispiel kann der Server eine Anfrage senden, die darauf abzielt, dass ein Client-Computer eine oder mehrere der Schritte der hierin beschriebenen Methode ausführt, einschließlich eines oder mehrerer der in den 5 und 8 beschriebenen. Bestimmte Schritte der hierin beschriebenen Methode, einschließlich eines oder mehrerer der in den 5 und 8 dargestellten Schritte, können von einem Server oder von einem weiteren Prozessor in einem netzwerkbasierten Cloud-Computersystem ausgeführt werden. Bestimmte Schritte der hierin beschriebenen Methode, einschließlich eines oder mehrerer der in den 5 und 8 können von einem Client-Computer in einem netzwerkbasierten Cloud-Computersystem ausgeführt werden. Die Schritte der hierin beschriebenen Methoden, einschließlich eines oder mehrerer der in den 5 und 8 beschriebenen Schritte, können von einem Server bzw. von einem Client-Computer in einem netzwerkbasierten Cloud-Computersystem in jeder beliebigen Kombination ausgeführt werden.
  • Die hierin beschriebenen Systeme, Geräte und Methoden können mithilfe eines Computerprogramms verwirklicht werden, das greifbar auf einem Datenträger vorliegt, z. B. auf einem nicht vorübergehenden, maschinenlesbaren Speichergerät, zur Ausführung durch einen programmierbaren Prozessor, und die Schritte der hierin beschriebenen Methode, einschließlich eines oder mehrerer der in den 5 und 8 beschriebenen Schritte, können mithilfe eines oder mehrerer Computerprogramme verwirklicht werden, die von einem solchen Prozessor ausgeführt werden können. Ein Computerprogramm ist ein Satz Computerprogrammanweisungen, das direkt oder indirekt in einem Computer dafür verwendet werden kann, eine bestimmte Aktivität aus- oder ein bestimmtes Ergebnis herbeizuführen. Ein Computerprogramm kann in jeder beliebigen Form von Programmiersprache geschrieben sein, einschließlich kompilierter oder übersetzter Sprachen, und das Programm kann in jeder beliebigen Form umgesetzt werden, auch als eigenständiges Programm oder als Modul, Komponente, Subroutine oder als sonstige Einheit, die sich zur Verwendung innerhalb einer Rechnerumgebung eignet.
  • Ein Blockdiagramm auf hoher Ebene eines beispielhaften Computers, der zur Verwirklichung der hierin beschriebenen Systeme, Geräte und Methoden dienen kann, zeigt 9. Der Computer 900 beinhaltet einen Prozessor 901, der operativ mit einem Datenspeichergerät 902 und einem Speicher 903 verknüpft ist. Der Prozessor 901 steuert die Gesamtoperationen des Computers 900, indem er Computerprogrammanweisungen ausführt, die diese Operationen beschreiben. Die Computerprogrammanweisungen können in dem Datenspeichergerät 902 oder in einem sonstigen computerlesbaren Medium gespeichert sein und in den Speicher 903 geladen werden, wenn die Computerprogrammanweisungen ausgeführt werden sollen. Somit können die in 5 und 8 beschriebenen Schritte der Methode durch die in dem Speicher 903 bzw. in dem Datenspeichergerät 902 gespeicherten und durch den Prozessor 901 gesteuerten Computerprogrammanweisungen beschrieben werden, der diese Computerprogrammanweisungen ausführt. Die Computerprogrammanweisungen können z. B. als computerausführbarer Programmcode verwirklicht werden, der von Fachleuten geschrieben wird, um einen durch die in den FIGS. gezeigten Schritte der Methode definierten Algorithmus auszuführen. 5 und 8 beschriebenen. Dementsprechend führt der Prozessor 901, indem er die Computerprogrammanweisungen ausführt, einen durch die in den FIGS. beschriebenen Schritte der Methode definierten Algorithmus aus. 5 und 8 beschriebenen. Der Computer 900 beinhaltet darüber hinaus eine oder mehrere Netzwerkschnittstellen 904 für die Kommunikation mit anderen Geräten über ein Netzwerk. Der Computer 900 beinhaltet darüber hinaus ein oder mehrere Ein-/Ausgabegeräte 905, mit deren Hilfe der Benutzer mit dem Computer 900 interagieren kann (z. B. Anzeige, Tastatur, Maus, Lautsprecher, Schaltflächen usw.).
  • Der Prozessor 901 kann Mikroprozessoren sowohl allgemeiner als auch spezieller Art enthalten und der einzige Prozessor oder einer von mehreren Prozessoren des Computers 900 sein. Der Prozessor 901 kann z. B. einen oder mehrere zentrale Prozessoreinheiten (CPUs) beinhalten. Der Prozessor 901, das Datenspeichergerät 902 bzw. der Speicher 903 können einen oder mehrere anwendungsspezifische integrierte Schaltkreise (ASICs) bzw. einen oder mehrere Field Programmable Gate Arrays (FPGAs) enthalten, zusätzlich enthalten oder in diesen enthalten sein.
  • Das Datenspeichergerät 902 und der Speicher 903 können jeweils ein greifbares nicht-vorübergehendes computerlesbares Speichermedium enthalten. Das Datenspeichergerät 902 und der Speicher 903 können jeweils Hochgeschwindigkeits-Random-Access-Memory enthalten, wie z. B. Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDR RAM) oder sonstige Festspeichergeräte zum Direktzugriff und können nicht-flüchtige Speicher enthalten, wie z. B. ein oder mehrere Magnetplattenspeichergeräte, z. B. interne Festplatten und austauschbare Platten, magnetooptische Plattenspeichergeräte, Speichergeräte, die optische Platten verwenden, Flash-Speichergeräte, Halbleiterspeichergeräte, wie z. B. Erasable Programmable Read-only Memory (EPROM), Electrically Erasable Programmable Read-only Memory (EEPROM), Compact Disc Read-only Memory (CD-ROM), Digital Versatile Disc Read-only Memory (DVD-ROM) oder sonstige nicht-flüchtige Festspeichergeräte.
  • Zu den Ein-/Ausgabe-Geräten 905 können Peripheriegeräte wie Drucker, Scanner, Bildschirm usw. gehören. Zu den Ein-/Ausgabe-Geräten 905 können z. B. ein Anzeigegerät, wie z. B. ein Kathodenstrahlröhren-(CRT) oder Flüssigkristall-(LCD)-Bildschirm zur Anzeige von Informationen für den Benutzer, eine Tastatur und ein Zeigegerät, wie z. B. eine Maus oder ein Trackball gehören, mit deren Hilfe der Benutzer Eingaben in den Computer 900 vornehmen kann.
  • Einige oder alle der hierin besprochenen Systeme und Geräte, einschließlich des Gerätes 103, des Host-Servers 101, des Browsers 201, der Anzeige 202, des Speichers 203, der Datenbank 204, des Prozessors 205, des Prozessors 302, des Speichers 303 und der Anwendung 316 können mithilfe eines Computer verwirklicht werden, z. B. des Computers 900.
  • Der Fachmann erkennt, dass die Verwirklichung eines konkreten Computers oder Computersystems weitere Strukturen haben und weitere Komponenten enthalten kann und dass 9 eine Darstellung einiger der Komponenten eines solchen Computers zu Illustrationszwecken auf hoher Ebene ist.
  • Die obige detaillierte Beschreibung ist in jeder Hinsicht als Veranschaulichung und als beispielhaft zu verstehen. Sie soll den Umfang der hier offengelegten Erfindung jedoch nicht einschränken und diese soll nicht aus der detaillierten Beschreibung ermittelt werden, sondern aus den Ansprüchen, die gemäß Gebrauchsmusterrecht in ihrer vollen Breite zu interpretieren sind. Es versteht sich, dass die hierin gezeigten und beschriebenen Ausführungsformen lediglich zur Veranschaulichung der Prinzipien dieser Erfindung dienen und dass Fachleute verschiedene Änderungen vornehmen können, ohne dass sie sich dadurch vom Umfang oder vom Geist dieser Erfindung entfernen. Fachleute können verschiedene weitere Kombinationen von Eigenschaften vornehmen, ohne sich dadurch vom Umfang oder vom Geist dieser Erfindung zu entfernen.

Claims (8)

  1. Nichtflüchtiges, computerlesbares Medium, auf dem die Anweisungen eines Computerprogramms gespeichert sind, die, wenn sie von einem Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren durchführt, das Folgendes umfasst: Registrierung mehrerer Internetseiten, die auf einem Gerät ausgeführt werden, durch ein Hintergrund-Seitenskript, das auf dem Gerät ausgeführt wird; das Cachen einer von einer der Internetseiten erzeugten Aktion in einer Datenbank; und Als Reaktion auf eine Bestimmung, dass das Gerät sich in einem Online-Zustand befindet und dass die Internetseite(n) nicht mehr registriert ist (sind): das Auslesen der Aktion aus der Datenbank und Senden dieser Aktion durch das Hintergrund-Seitenskript.
  2. Nichtflüchtiges, computerlesbares Medium nach Anspruch 1, das des Weiteren Anweisungen beinhaltet, die die Definition des Schrittes umfassen: das Senden der Aktion durch das Hintergrund-Seitenskript an einen Host-Server.
  3. Nichtflüchtiges, computerlesbares Medium nach Anspruch 1, das des Weiteren Anweisungen beinhaltet, die die Definition des Schrittes umfassen: das Löschen der Aktion aus der Datenbank durch das Hintergrund-Seitenskript als Reaktion auf das Empfangen einer Bestätigung, dass das Senden der Aktion erfolgreich war.
  4. Nichtflüchtiges, computerlesbares Medium nach Anspruch 3, das des Weiteren Anweisungen beinhaltet, die die Definition der Schritte umfassen: das Cachen einer zweiten Aktion in der Datenbank durch eine der Internetseiten; das Senden der zweiten Aktion durch eine der Internetseiten; und das Löschen der zweiten Aktion von der Datenbank durch eine der Internetseiten.
  5. Nichtflüchtiges, computerlesbares Medium nach Anspruch 4, das des Weiteren Anweisungen beinhaltet, welche die Definition des Schrittes umfassen: das Senden einer Anforderung durch eine der Internetseiten an das Hintergrund-Seitenskript, dass diese nicht länger registriert werden sollen.
  6. Nichtflüchtiges computerlesbares Medium nach Anspruch 4, worin das Löschen der zweiten Aktion aus der Datenbank als Reaktion auf den Empfang einer zweiten Bestätigung erfolgt, dass das Senden der zweiten Aktion erfolgreich war.
  7. Nichtflüchtiges Medium nach Anspruch 5, worin das Senden der Anforderung, nicht länger registriert zu werden, als Reaktion auf den Empfang einer Anfrage von einem Benutzer erfolgt, die eine der Internetseiten zu schließen.
  8. Das nicht vorübergehende, computerlesbare Medium nach Anspruch 1, das des Weiteren Anweisungen beinhaltet, die die Definition der Schritte umfassen: das Blockieren der Aktion in der Datenbank.
DE202012013479.5U 2011-08-31 2012-08-17 System zur Synchronisierung von Aktionen im Hintergrund einer Anwendung Expired - Lifetime DE202012013479U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161529646P 2011-08-31 2011-08-31
US61/529,646 2011-08-31
US13/463,131 US8554729B2 (en) 2011-08-31 2012-05-03 System and method for synchronization of actions in the background of an application
US13/463,131 2012-05-03

Publications (1)

Publication Number Publication Date
DE202012013479U1 true DE202012013479U1 (de) 2017-02-06

Family

ID=47745111

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202012013479.5U Expired - Lifetime DE202012013479U1 (de) 2011-08-31 2012-08-17 System zur Synchronisierung von Aktionen im Hintergrund einer Anwendung

Country Status (5)

Country Link
US (2) US8554729B2 (de)
EP (1) EP2751718B1 (de)
CN (2) CN107741977B (de)
DE (1) DE202012013479U1 (de)
WO (1) WO2013032736A1 (de)

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US20120204114A1 (en) * 2011-02-08 2012-08-09 Oscix, Llc Mobile application framework
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
SG190505A1 (en) * 2011-11-24 2013-06-28 Chikka Pte Ltd System and method for detecting broadband service and a charging mechanism for same
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
TWI511513B (zh) * 2012-11-14 2015-12-01 Wistron Corp 用於網路系統之偵測方法及其相關裝置
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9826024B2 (en) 2013-04-01 2017-11-21 Autodesk, Inc. Server side video screen capture
CN104216794A (zh) * 2013-06-04 2014-12-17 北大方正集团有限公司 用于稿件编辑的灾备方法和装置
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2014200728A1 (en) 2013-06-09 2014-12-18 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
CN104346158B (zh) * 2013-08-09 2017-11-21 华为终端(东莞)有限公司 一种处理级联页面的方法和用户设备
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10067652B2 (en) * 2013-12-24 2018-09-04 Dropbox, Inc. Providing access to a cloud based content management system on a mobile device
US9544373B2 (en) 2013-12-24 2017-01-10 Dropbox, Inc. Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
EP3480811A1 (de) 2014-05-30 2019-05-08 Apple Inc. Verfahren zur eingabe von mehreren befehlen mit einer einzigen äusserung
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
CN104333588B (zh) * 2014-10-31 2017-11-03 北京奇安信科技有限公司 一种网页计时的方法及装置
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
CN107066611B (zh) * 2017-05-04 2020-05-15 浙江数链科技有限公司 页面返回装置与方法
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
CN110020268B (zh) * 2017-07-28 2022-04-12 北京国双科技有限公司 页面返回方法及装置
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN109471990A (zh) * 2018-11-15 2019-03-15 用友网络科技股份有限公司 一种数据处理方法及数据处理装置
GB201818892D0 (en) * 2018-11-20 2019-01-02 Ve Global Uk Ltd Initiating a software application in dependence detection of closure of multiple web pages associated with the software application
CN109710582B (zh) * 2018-12-13 2021-10-26 创新科技术有限公司 一种共享目录管理方法和装置
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035332A (en) * 1997-10-06 2000-03-07 Ncr Corporation Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants
US6034621A (en) * 1997-11-18 2000-03-07 Lucent Technologies, Inc. Wireless remote synchronization of data between PC and PDA
US7299285B2 (en) * 2002-05-15 2007-11-20 Adc Dsl Systems, Inc. Resource sharing with database synchronization
US7167705B2 (en) * 2003-06-27 2007-01-23 Oracle International Corporation Roaming across different access mechanisms and network technologies
EP1577776B1 (de) * 2004-03-18 2007-05-02 Alcatel Lucent Verfahren und Vorrichtung zur Datensynchronisierung eines verteilten Datenbanksystems
US7487455B2 (en) 2004-04-19 2009-02-03 Yahoo! Inc. Techniques for simultaneously displaying a background page and an interactive content page in an application window
US7418213B2 (en) * 2004-08-12 2008-08-26 Finisar Corporation Transimpedance amplifier with integrated filtering and reduced parasitic capacitance
US20090094332A1 (en) 2004-09-02 2009-04-09 Zimbra, Inc. System and method for enabling offline use of email through a browser interface
US8195746B2 (en) * 2005-03-11 2012-06-05 International Business Machines Corporation Automatic off-line availability for document content linked in electronic mail messages
US7814234B2 (en) * 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
US20090259744A1 (en) * 2008-04-14 2009-10-15 Kolke Daniel J System and Method for Running a Web-Based Application while Offline
US7831673B1 (en) 2007-10-31 2010-11-09 Google Inc. Methods and systems for processing offline chat messages
US20090132556A1 (en) * 2007-11-16 2009-05-21 Nitin Gupta Offline operations for online applications
CN101470773A (zh) * 2007-12-25 2009-07-01 山东易通商业经纪有限公司 一种基于web浏览器的网页游戏系统实现方法
US9003059B2 (en) 2008-03-31 2015-04-07 Microsoft Technology Licensing, Llc Running applications in an online or offline mode based on the availability of the connection to the remote web server
US8725793B2 (en) 2009-04-03 2014-05-13 Google Inc. Architectural pattern for persistent web application design
US20120151368A1 (en) * 2010-12-10 2012-06-14 Mitel Networks Corporation Application operating environment for mobile computing devices

Also Published As

Publication number Publication date
CN107741977A (zh) 2018-02-27
US20130054550A1 (en) 2013-02-28
EP2751718A1 (de) 2014-07-09
US8554729B2 (en) 2013-10-08
US9015117B2 (en) 2015-04-21
CN103765420B (zh) 2017-11-07
CN107741977B (zh) 2021-08-03
WO2013032736A1 (en) 2013-03-07
CN103765420A (zh) 2014-04-30
US20140074778A1 (en) 2014-03-13
EP2751718B1 (de) 2019-02-13

Similar Documents

Publication Publication Date Title
DE202012013479U1 (de) System zur Synchronisierung von Aktionen im Hintergrund einer Anwendung
DE60125913T2 (de) Datenübertragungsverfahren und vorrichtung
DE112016004896T5 (de) Bereitstellung von Remote-Befehlsausführung mit fein abgestimmtem Zugriff für Instanzen von virtuellen Maschinen in einer verteilten Datenverarbeitungsumgebung
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE202010018490U1 (de) Architektonisches Muster für persistenten Webanwendungsentwurf
DE202013012500U1 (de) Systemübergreifende Installation von Online-Applikationen
DE112012006227B4 (de) Systeme und verfahren für den remotezugriff auf den direkten speicher mit reduzierter latenzzeit
DE102014214641A1 (de) Informationsverarbeitungsvorrichtung, Verfahren zur Steuerung der Vorrichtung und Speichermedium
DE202008018623U1 (de) Steuerung der Kommunikation innerhalb eines Containerdokuments
DE202011108541U1 (de) Systeme zum Erzeugen und Anzeigen eines Vorschaubilds eines Inhaltsbereichs
DE202017105834U1 (de) Verwaltung von Anwendungsaktualisierungen
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE202014011541U1 (de) System zum Herstellen einer Vertrauensverknüpfung
DE102013222384A1 (de) Sicherheits-Screening auf Kontextgrundlage für Zugriff auf Daten
DE202012013405U1 (de) Cloud-zu Gerät-Nachrichtenübermittlung zur Anwendungsaktivierung und Meldung
DE202016008323U1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE102010023691A1 (de) Gemeinsame Nutzung von dynamischen Inhaltsvoreinstellungen und Verhalten von EDV-Geräten
DE112019005881T5 (de) Kryptografische überprüfung von datenbanktransaktionen
DE202014010950U1 (de) Das Anzeigen von dynamischen Inhalten auf einer Karte auf Basis des Standorts des Benutzers und der geplanten Aufgabe
DE102016007400A1 (de) Techniken zum Evaluieren von Anwendungen durch die Verwendung einer Hilfsanwendung
DE112012005307T5 (de) Verfahren, Computerprogramm und Computer zum Erkennen von Gemeinschaften in einem sozialen Medium
DE202015009317U1 (de) Einbetten eines Guest-Moduls in ein Embedder-Modul
DE102013201973A1 (de) Verteilte Anwendung mit Vorwegnahme von Server-Antworten
DE202014010918U1 (de) Das Clustering von Werbeanzeigen mit organischen Karteninhalten

Legal Events

Date Code Title Description
R150 Utility model maintained after payment of first maintenance fee after three years
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: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

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
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016957000

R071 Expiry of right