-
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.