-
Hintergrund
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Funk-Endgerät, um das
Internet zu durchsuchen. Sie bezieht sich insbesondere darauf, die
Funktionalität
eines solchen Endgerätes
zu erweitern.
-
Der
Gebrauch von Mobiltelefonen breitet sich immer mehr aus, da sie
Sicherheit, Mobilität
und Flexibilität
bieten. In letzter Zeit hat die Beliebtheit des Internet in der
breiten Bevölkerung
immer mehr zugenommen. Das Internet kann mit einer sogenannten Browseranwendung
durchsucht werden, die eine leicht bedienbare grafische Oberfläche bietet.
Es wäre
besonders wünschenswert,
die Handbedienbarkeit eines Mobiltelefons und seine Tragbarkeit (portability)
mit der Fähigkeit
zu verbinden, das Internet zu durchsuchen. Das drahtlose Anwendungsprotokoll
(WAP) wurde zu diesem Zweck entwickelt. Es ermöglicht einem Funk-Handapparat
mit einer Sende/Empfangseinrichtung an einem Internet-Gateway zu
kommunizieren und auf das Internet über eine Funkverbindung zuzugreifen.
Ein Microbrowser ist Teil einer Wireless Application Umgebung, die
das obere Layer des WAP-Stacks bildet. Der Browser verwendet eine
drahtlose Textauszeichnungssprache (wireless mark-up language, WML)
und eine einfache mark-up language, WMLScript eine einfache Skriptsprache.
WML implementiert eine Karte und eine Stapel-(deck)-"metaphor". Das Zusammenspiel zwischen
Browser und Benutzer ist in einem Satz von Karten beschrieben, die
zu einem Dokument zusammengefasst sind und üblicherweise als Stapel bezeichnet
werden. Der Benutzer steuert eine Karte in einem Stapel an, prüft den Inhalt
und steuert dann zu einer anderen Karte im selben Stapel oder in
einem anderen Stapel. Kartenstapel werden von Origin-Servern nach
Bedarf übertragen.
-
Desktoprechner
oder Ähnliches
waren bis jetzt die üblichen
Geräte
um in das World Wide Web zu gelangen. Der Rechner hat üblicherweise
einen Bildschirm und Geräte,
wie Maus und Tastatur, zur Schreibmarkensteuerung und Eingabe. Beim
Durchsuchen des World Wide Web tauscht das benutzte Gerät üblicherweise
Informationen mit dem Internetgateway über einen feste Verbindung
hoher Bandbreite aus. Das Gerät
verhält
sich wie ein Client und das Internet wie ein Server. Der Browser
kann auf ein Objekt bestimmten Inhalts mit einem URL, einer Internetadresse,
zugreifen. Dieses Objekt gewährt
Zugang zu weiteren Objekten, von denen jedes selbst wieder aus Inhalten
besteht oder Mitteln, sich mit Inhalten zu verbinden. Üblicherweise
wird der Inhalt vom Internet auf das Gerät heruntergeladen, damit von
der Browseranwendung im Gerät
eine Seite mit einer Anzahl von Icons angezeigt werden kann, die "aktiv" sind. Die Auswahl
eines Icons mit einem Cursor aktiviert die Verbindung zu einer anderen
vorgegebenen Seite. Die Browseranwendung fordert diese Seite vom
Internet-Gateway an, das als Server fungiert. Mit dem aus dem Internet
auf das Gerät
heruntergeladenen Inhalt kann die Browseranwendung die Seite anzeigen,
auf die verknüpft
wurde. Diese Seite kann wiederum "aktive" Icons zur Auswahl anbieten. Die Browseranwendung
vermittelt zwischen dem Benutzer und dem Internet. Sie sendet Anfragen
an das Internet und empfängt
von dort Inhalte.
-
Der
vom Internet empfangene Inhalt kann aus Anweisungen bestehen, die
es der Browseranwendung ermöglichen,
eine Seite mit korrekten Verknüpfungen
aufzufrischen. Es kann aber auch ein Inhalt sein, der nicht von
der Browseranwendung selbst verarbeitet werden kann, sondern eine
separate, andere Anwendung verlangt, wie beispielsweise eine Emailanwendung,
eine Anwendung, um Nachrichten zu lesen, usw. Tragbare Endgeräte und insbesondere
Handgeräte
haben begrenzte Prozessierungs- und Speicherressourcen. Es ist wünschenswert,
ihre Ressourcen zu maximieren, indem diese Anwendungen im Browser
integriert werden, ohne die Komplexität der Browseranwendung selbst
signifikant zu erhöhen.
Eine solche Integration erfordert möglicherweise eine Veränderung
des Wireless Application Protocols, insbesondere eine Veränderung
des WML und/oder WMLScript.
-
Es
ist wünschenswert,
dass sich beim Benutzen eines Browsers der Verkehr zwischen Server
und Endgerät
nicht über
die Maßen
erhöht.
Das kann durch sogenanntes Cache Browsing erreicht werden, was bedeutet,
dass eine Kopie des Inhalts, der vom Server geholt wurde, im Speicher
des Telefons abgelegt wird. Das Cache Browsing für mobile Rechner ist offenbart, so
zum Beispiel in den Artikeln "Cache
Management for Mobile Databases".
Chan, B. Y. et al. Proceedings: 14th International conference on
Data Engineering 1998, Seiten 54–63 und "Overcoming the Network Bottleneck", Ebling, M. R. et
al., Conference: Workshop on Mobile computing 1995, Seiten 34–36. Allerdings
erfordert die Verarbeitung von Daten im Speicher (cache), wie sie
in diesen beiden Dokumenten beschrieben ist, die Mitwirkung des
Benutzers.
-
Zusammenfassung
der Erfindung
-
Das
Ziel der vorliegenden Erfindung ist es, das Browsen auf einem Telekommunikationsendgerät zu erleichtern,
ohne den Verkehr zwischen dem Server und dem Endgerät übermäßig zu erhöhen und gleichzeitig
die Mitwirkung des Benutzers zu minimieren, während die einfache Funktionalität des Browsers
beibehalten wird.
-
Gemäß der vorliegenden
Erfindung steht ein Endgerät
zu Verfügung
mit einer Anwendung, die einen Browser benutzt.
-
Kurzbeschreibung
der Zeichnungen
-
Zum
besseren Verständnis
der vorliegenden Erfindung und um zu verstehen, wie sie umgesetzt werden
kann, wird beispielhaft auf die beigefügten Zeichnungen verwiesen,
wobei:
-
1 und 2 einen
Funkhandapparat darstellen;
-
3 ein
Netzwerk für
den Zugang zum Internet darstellt;
-
4 eine
schematische Darstellung des Betriebs einer Browseranwendung auf
einem Endgerät
ist, entsprechend einer ersten Ausführungsform; und
-
5a und 5b die
Rangfolge der Objekte darstellt, die dazu dienen eine Emailanwendung und
eine Anwendung, um Nachrichten zu lesen anzubieten; und
-
6 die
Objekte in eine detaillierteren Rangfolge darstellt.
-
Ausführliche
Beschreibung der Erfindung
-
Die 1 und 2 zeigen
ein Handgerät für den Funkverkehr,
fortan als Endgerät
oder Funk-Handapparat 2 bezeichnet. Das Endgerät 2 ist klein
genug, um in der Hand getragen zu werden und ist vorzugsweise so
groß,
dass es in eine Jackentasche passt. Das Endgerät kommuniziert mit anderen Endgeräten oder
Geräten
mittels Radiowellen. Das Endgerät 2 hat
eine Benutzerschnittstelle einschließlich, für die Eingabe, eines Tastenfelds 24 mit
Tasten 24a und eines Mikrophons 20 und, für die Ausgabe, eines
Lautsprechers 18 und eines Displays 14. Die Größe von Tastenfeld 24 und
Display 14 sind notwendigerweise durch die Größe des Endgeräts 2 begrenzt.
Das Endgerät 2 wird
durch einen Controller 4 gesteuert und über eine Batterie 26 mit
Strom versorgt. Der Controller 4 erhält Signale vom Mikrophon 20 und
dem Tastenfeld 24 und liefert Signale and das Display 14 und
den Lautsprecher 18. Das Endgerät 2 hat eine Sende/Empfangseinrichtung 3,
die für
die Kommunikation außerhalb
des Endgerätes 2 verwendet
wird. Die Sende/Empfangseinrichtung 3 ist eine Hochfrequenz-
Sende/Empfangseinrichtung, die mit einer Antenne 28 und
dem Controller 4 verbunden ist. Sie ist so ausgeführt, dass
sie über
ein Hochfrequenzinterface 30 kommuniziert. Die Sende/Empfangseinrichtung 3 umfasst
einen Modulator 8 zur Modulation der Signale, die vom Controller 4 kommen
und einen Sender 6 der die modulierten Signale an die Antenne 28 weiterleitet.
Die Sende/Empfangseinrichtung 3 umfasst ebenfalls einen
Empfänger 12, der
die Signale, die von der Antenne 28 kommen, verarbeitet
und sie an einen Demodulator 10 weiterleitet, der demodulierte
Signale an den Controller 4 liefert. Das Endgerät 2 hat
einen Speicher 16, der über
einen Bus mit dem Controller 4 verbunden ist. Das Endgerät hat auch
einen mit dem Controller 4 verbundenen SIM-Speicher 22,
der die Informationen liefert, die benötigt werden, damit das Endgerät 2 als Mobiltelefon
funktioniert. Im Mobiltelefonbetrieb sendet und empfängt das
Endgerät 2 Hochfrequenzsignale über die
Antenne 28. Die Grundfunktionen des Endgeräts 2 werden
durch die Kombination von Controller 4 und Speicher 16 unterstützt.
-
Das
Endgerät 2 verfügt über eine
Anzahl von Grundfunktionen bezogen auf Funkverkehr, einschließlich Systemfunktionen.
Wird das Endgerät 2 als
Telefon betrieben, benutzt es Standardkommunikationsprotokolle,
wie GSM, AMPS, usw. und wenn es als Internetendgerät betrieben
wird, benutzt es das drahtlose Anwendungsprotokoll (WAP). Das WAP-Protokoll
sieht einen Web-Browser vor.
-
3 zeigt
ein Internet-Netzwerk 50 und ein drahtloses Netzwerk 60.
Das Internet-Netzwerk umfasst
einen Web-Server 52 und eine Vielzahl von Internetstationen 54,
welche Clients des Web-Servers 52 sind. Das Internet-Netzwerk
benutzt World Wide Web (WWW) Protokolle. Das drahtlose Netzwerk 60 umfasst
eine Vielzahl von drahtlosen Endgeräten 64, von denen
jedes über
ein Protokoll-Gateway 62 auf den Web-Server 52 zugreifen
kann. Diese Endgeräte
sind vorzugsweise Funk-Handapparate. Die Kommunikation zwischen
einem drahtlosen Endgerät 64 und
dem Protokoll-Gateway 62 erfolgt gemäß dem drahtlosen Anwendungsprotokoll
(WAP). WAP spezifiziert einen Anwendungsrahmen und Netzwerkprotokolle
für drahtlose
Endgeräte,
wie Mobiltelefone, Funkrufempfänger
(Pager) und Minicomputer (PDAs). WAP liefert Internetinhalte und
erweiterte Datendienste für
drahtlose Endgeräte.
WAP kann über
unterschiedliche drahtlose Netzwerktechnologien und Trägertypen
(GSM, CDMA, SMS) hinweg arbeiten. Die Kommunikation zwischen dem Web-Server 52 und
dem Protokoll-Gateway 62 erfolgt gemäß WWW-Protokollen.
-
Das
drahtlose Endgerät
unterscheidet sich von der Internetstation dahingehend, dass es üblicherweise
einen weniger leistungsstarken Prozessor, weniger Speicher, eine
begrenzte Leistungsaufnahme, ein kleineres Display und stärker eingeschränkte Eingabegeräte aufweist.
Das drahtlose Netzwerk unterscheidet sich vom Internet-Netzwerk
durch weniger Bandbreite, größere Latenzzeiten,
geringere Verbindungsstabilität
und schlechter vorhersagbare Verfügbarkeit. Die WAP-Architektur
ist auf Träger
geringer Bandbreiten optimiert, mit potentiell hohen Latenzzeiten
und ist damit optimiert für
die effiziente Ausnutzung von Geräteressourcen.
-
Jedes
Gerät in
einem Netzwerk ist in der Lage Informationspakete zu versenden und
zu empfangen. Ein Gerät
kann, je nach Kontext, Server oder Client sein und ein Server kann
eine Anzahl Clients bedienen während
er selbst Client eines anderen Servers ist. Web-Server 52,
Internet-Stationen 54, drahtlose Endgeräte 64 und ein Protokoll-Gateway 62 sind
solche Geräte.
Ein drahtloses Endgerät 64 verhält sich
wie ein Client und startet eine Anfrage bzgl. einer Verbindung
mit einem Origin-Server, dem WEB-Server 52, um auf eine
Ressource zuzugreifen. Die Ressource, identifiziert durch den URL
(Uniform Resource Locator), sind Daten (Inhalte), die auf einem
Origin-Server 52 gespeichert oder erzeugt werden. Der Inhalt
wird üblicherweise
vom Client angezeigt oder interpretiert. Das Protokoll-Gateway übersetzt
Anfragen vom WAP-Protokoll-Stack, der vom drahtlosen Endgerät benutzt
wird, auf den WWW (World Wide Web) Protokoll-Stack, den der WEB-Server
benutzt. Der WEB-Server liefert entweder WAP-Inhalte, wie WML (Wireless
Markup Language) oder WWW-Inhalte, wie HTML (HyperText Markup Language)
zurück.
Im letzten Fall wird ein Filter benutzt, um WWW-Inhalte in WAP-Inhalte
zu übersetzen,
z.B. HTML nach WML. Das Protokoll-Gateway verschlüsselt auch Inhalte, die über das
drahtlose Netzwerk an drahtlose Endgeräte geschickt werden und entschlüsselt Daten,
die ihm von einem drahtlosen Endgerät zugeschickt werden.
-
WAP
definiert einen Satz von Standardprotokollen, welche die Kommunikation
zwischen mobilen Endgeräten
und Netzwerkservern ermöglichen.
WAP verwendet ein Standardmodell zur Namensgebung entsprechend dem
Standard-Internet-URLs benutzt werden, um Inhalte auf Origin-Servern
zu identifizieren. Es benutzt auch Inhalttypisierung. Dem gesamten
WAP-Inhalt ist ein Typ, entsprechend der WWW-Typisierung, zugeordnet,
was einem drahtlosen Endgerät
erlaubt, den Inhalt auf dieser Grundlage korrekt abzuarbeiten bzw.
auszuführen.
WAP benutzt auch Standardinhaltsformate und Standardkommunikationsprotokolle.
-
Ein
Microbrowser ist Teil einer Wireless Application Umgebung, die das
obere Layer des WAP-Stacks bildet. Der Browser verwendet eine drahtlose
Textauszeichnungssprache (wireless mark-up language, WML) und eine
einfache mark-up language, WMLScript eine einfache Skriptsprache. Die
Ausführungsformen
der vorliegenden Erfindung bieten zusätzliche Anwendungen, wie z.B.
Emailanwendungen oder eine Anwendung, um Nachrichten zu lesen, indem
sie Erweiterungen zu WML und WMLScript schaffen. Dadurch darf die
Rechenleistung begrenzt sein, es kann ein Standard-WAP-Browser benutzt
werden und es wird Flexibilität
für neue
Features geboten.
-
4 ist
eine schematische Darstellung des Ablaufs einer Browseranwendung 100 in
einem Endgerät 2.
Die Browseranwendung bietet die normalen Browserfunktionen die WAP
bislang auch bietet, zusätzlich
bietet sie aber auch noch andere Funktionen über die Browser-Anwendung, wie Emailanwendungen
oder eine Anwendung, um Nachrichten zu lesen. Die zusätzlichen
Anwendungen werden angeboten, indem Inhalte auf das Endgerät übertragen werden.
Der Inhalt liefert eine Rangordnung von Stapeln die vom Browser
dazu benutzt wird, eine zusätzliche
Anwendung zu emulieren. Die Vorlage des Inhalts, um die zusätzliche
Anwendung im Browser zu emulieren, wird im Server gespeichert und
zurückbehalten/aufbewahrt.
Jedes Update und jede Veränderung
des Inhalts im Browser der sich während der Benutzung der zusätzlichen
Anwendung ergibt, muss dem Server mitgeteilt werden, so dass die
Vorlage des Inhalts aktualisiert werden kann.
-
Die
Abbildung enthält
die Antenne 28, die über
die Schnittstelle 30 kommuniziert, die Sende/Empfangseinrichtung 3,
die Browseranwendung 100, einen Speicher 110,
der Teil des Controllers 4 oder des Speichers 16 in 1 sein
kann, ein Vermittler 120, ein Ausgang 130, ein
Ausgangscontroller 140 und den Eingang 24.
-
Die
Sende/Empfangseinrichtung 3 empfängt Nachrichten vom Vermittler 120 zur
Weiterleitung über
die Schnittstelle 30 und liefert Nachrichten 121, die über die
Schnittstelle 30 empfangen werden zum Vermittler 120.
Der Vermittler 120 bestimmt, ob eine empfangene Nachricht
eine Antwort auf eine Anfrage des Browsers ist (synchron) oder vom
Server über das
Interface 30 angestoßen
wurde (asynchron). Ein Bezeichner in der über die Schnittstelle 30 übertragenen
Nachricht legt fest, ob die empfangenen Nachrichten synchron oder
asynchron sind. Der Vermittler 120 bestimmt anhand des
Bezeichners, ob eine empfangene Nachricht synchron oder asynchron
ist und dirigiert die empfangenen asynchronen Nachrichten 122 in
den Speicher 110 und die empfangenen synchronen Nachrichten 124 zum
Browser 100.
-
Erhält der Browser 100 eine
Nachricht, ruft er den Inhalt ab und reagiert darauf, schickt den
Inhalt 102 zum Speicher 110, wo er abgelegt wird,
so dass er über
den URL abgefragt werden kann. Der Inhalt der empfangenen asynchronen
Nachricht wird im Speicher 110 abgelegt, so dass er über den
URL des Inhalts abgefragt werden kann. Der Cache ist einheitlich
und nicht partitioniert. Der im Cache gespeicherte Inhalt ist nicht
in verschiedenen Segmenten, in Abhängigkeit von der Anwendung,
auf die er sich bezieht, gespeichert. Der Inhalt für alle Anwendungen ist
im ungeteilten Cache gespeichert. Hier kann entweder das FIFO-Verfahren
(die ältesten
Einträge
zuerst) zur Anwendung kommen, oder der Inhalt kann alternativ verschiedene
Prioritäten
aufweisen, entsprechend derer er aus dem Speicher gelöscht wird.
-
In
Browseranwendungen werden URLs benutzt, um auf Inhalte zuzugreifen.
Zunächst
versucht der Browser auf den Inhalt im Speicher 110 zuzugreifen,
indem er die richtige URL verwendet. Wenn der Inhalt im Speicher
abgelegt ist, wird er vom Speicher in den Browser gelesen 104.
Ist der Inhalt nicht im Speicher, ist das Lesen nicht erfolgreich
und der Browser erfragt synchron den Inhalt vom Server über die
Schnittstelle 30. Der Browser erzeugt eine Nachricht 108 mit
dem URL des benötigten
Inhalts und schickt diese Nachricht zum Server über die Schnittstelle 30.
Dann wartet der Browser auf eine synchrone Antwortnachricht 124 mit
dem benötigten
Inhalt, welche vom Server über
die Schnittstelle 30 zurückgeschickt wird und vom Vermittler 120 zum
Browser 110 dirigiert wird. Der Browser reagiert dann auf
den empfangenen Inhalt.
-
Der
Server kann Push-Inhalte asynchron den Endgeräten zur Verfügung stellen,
ohne dass dieser Inhalt angefragt wurde. Der Vermittler 120 dirigiert
diesen entgegengenommenen Inhalt zum Speicher 110, wo der
Browser zu einem späteren
Zeitpunkt zugreifen kann.
-
Wenn
der Browser 100 eine Anwendung emuliert, kann er die Vorlage
des Inhalts auf dem Server verändern.
Diese Vorlage wird vollständig oder
teilweise zum Endgerät übermittelt,
um die Anwendung zu emulieren. Die Veränderung wird ausgeführt indem
asynchrone Nachrichten 106 vom Browser 100 zum
Server geschickt werden. Die Nachrichten werden vom Browser 100 zum
Ausgang 130 geschickt. Der Ausgang 130, der durch
ein von einem Ausgangscontroller 140 bereitgestelltes Einschalt-/Ausschaltsignal
gesteuert wird, kann die Nachrichten über die Schnittstelle 30 zum
Server schicken. Wenn der Ausgangscontroller 140 den Ausgang 130 abschaltet,
werden die Nachrichten im Ausgang 130 zwischengespeichert 106.
Wenn der Ausgangscontroller 140 den Ausgang 130 einschaltet,
leert sich der Ausgang automatisch und fährt damit fort, bis er abgeschaltet
wird. Wenn sich der Ausgang leert, werden die dort gespeicherten
Nachrichten zur Sende/Empfangseinrichtung für die Übertragung geschickt. Der Ausgangscontroller 140 empfängt ein
Eingangskontrollsignal 144 von der Sende/Empfangseinrichtung.
Dieses Signal prüft,
ob der Controller 140 den Ausgang 130 ein- oder
ausschaltet. Wenn die Sende/Empfangseinrichtung mit dem Server über die
Schnittstelle 30 kommunizieren kann, schaltet das Eingangskontrollsignal 144 den Ausgang 130 an.
Wenn die Sende/Empfangseinrichtung nicht mit dem Server über die
Schnittstelle 130 kommunizieren kann, z.B. weil die Sende/Empfangseinrichtung
abgeschaltet ist, das Endgerät
außerhalb des
Sendegebiets des Servers ist, oder die Funkschnittstelle zwischen
Server und Endgerät
schlecht ist, dann schaltet das Eingangskontrollsignal 144 den Ausgang 130 aus
und die asynchronen Nachrichten 106 werden zwischengespeichert.
Der Ausgang kann dadurch kontrolliert werden, dass neue Bibliotheksabfragen
zur existierenden WMLScript-Funktionalität hinzugefügt werden.
-
Wird
der Eingang 24 aktiviert, liefert er ein Signal, das die
Sende/Empfangseinrichtung 3 abschaltet. Das Abschalten
der Sende/Empfangseinrichtung verhindert die Kommunikation über die
Schnittstelle 30, beeinflusst das Endgerät sonst
aber nicht. Somit kann die Browseranwendung in Situationen benutzt werden,
in denen Funkübertragungen
unerwünscht sind,
beispielsweise an Bord von Flugzeugen. Es kann besonders bei zusätzlichen
Browserfunktionen benutzt werden, wie off-line Emaillesen und -schreiben,
Antworten auf zuvor erhaltene Emails und das Lesen von Nachrichten.
Die Änderungen
während des
Off-Line-Betriebs, die sich auf die Vorlage des Inhalts auswirken,
der für
die Emulation der aktiven Anwendung(en) im Browser benutzt wurde,
sind als Nachrichten 106 im Ausgang 130 gespeichert
und werden abgeschickt, sobald das Endgerät wieder Online geht.
-
5a zeigt
eine Rangfolge von untereinander verbundenen Objekten mit Inhalten.
Die Kombination von Objekten wird verwendet, um eine Anwendung in
einem Browser eines Endgerätes
zu emulieren. Die Objekte werden auf dem Server als Vorlage gespeichert und
können
auf ein Endgerät überspielt
werden, um eine Anwendung zu emulieren. Die Objekte werden auf dem
Server weitergeführt
und über
die Schnittstelle zum Endgerät
geschickt, wenn nötig.
Wenn die Objekte durch die Benutzung des Browsers verändert werden,
müssen
die auf dem Server liegenden Objekte mit diesen abgeglichen werden.
-
Im
gezeigten Beispiel liefern die kombinierten Objekte die Funktionalität einer
Emailanwendung. Ein erstes Objekt 160 sorgt für Verknüpfungen 161, 163, 165,
die vom Benutzer ausgewählt
werden können,
zu weiteren Objekten 162, 164 und 166.
Das Objekt 160 und alle weiteren Objekte 162 wurden
von einem Stapel (deck) erzeugt. In diesem Beispiel liefert das
erste Objekt auf dem Display des Endgeräts eine Liste 170 von
auswählbaren
Links 161, 163, 165, von denen jeder
für eine
Email steht. Durch Auswählen
eines Links wird das entsprechende Objekt abgerufen und zeigt den
Text einer Email auf dem Display an. Jeder Link hat zwei Teile.
Ein erster Textteil 172 beschreibt den Link, in diesem
Fall Datum und Autor jeder Email, und ein zweiter Textteil 174 liefert
eine grafische Anzeige der Parameter, die zu diesem Link gehören. Hier
zeigt der Parameter an, ob der Link vorher aktiviert wurde (R),
um die Email zu lesen, oder nicht (U). Es ist daher offensichtlich,
dass die Bedienung dieser Anwendung möglicherweise den Inhalt ändert, den
der Browser enthält,
beispielsweise das Ändern
des Parameters von U nach R. Der Browser wird die Objekte auf dem
Server mit asynchronen Nachrichten 106 aktualisieren, damit
die Änderungen
dort wiedergespiegelt werden.
-
Üblicherweise
wird die Emailanwendung über
eine Bookmark-Liste im Browser geöffnet, welche eine Anzahl bevorzugter
(favourite) Internetseiten und die Emailanwendung aufführt. Jeder
Eintrag hat einen zugehörigen
URL und durch Auswählen
eines Eintrags in einer Bookmark-Liste wird der Browser veranlasst,
auf den Inhalt zuzugreifen, der mit diesem URL verknüpft ist.
Zuerst wird auf den Speicher 110 zugegriffen und, falls
der Inhalt nicht vorhanden ist, wird eine Anfrage an den Server über die Schnittstelle 30 gerichtet.
Der Eintrag für
die Email-Anwendung in der Bookmark-Liste ist mit dem URL des ersten
Objekts (dem Stapel) 160 verknüpft. Der Zugriff auf das erste
Objekt 160 liefert automatisch die Mittel, auf die verbleibenden
weiteren Objekte zuzugreifen, welche die Email-Anwendung ermöglichen. Die weiteren Objekte
können
entweder vom Speicher abgerufen werden und, falls dies nicht erfolgreich
ist, indem sie über
die Schnittstelle 30 übertragen
werden.
-
5b ist
der 5a sehr ähnlich
und zeigt eine Rangordnung von Objekten mit Inhalt. Die verknüpften Objekte
bieten die Funktionalität
einer Newsreader-Anwendung. Wie zuvor liefert ein erstes Objekt 160 durch
Benutzer auswählbare
Links 161, 163, 165 zu weiteren Objekten 162, 164 und 166. Das
Objekt 160 und jedes weitere Objekt 162 werden von
einem sogenannten Stapel im WAP erzeugt. In diesem Beispiel liefert
das erste Objekt auf dem Display des Endgeräts eine Liste 170 von
benutzerauswählbaren
Links 161, 163, 165 von denen jeder für ein neues
Bruchstück
steht. Durch das Auswählen
eines Links wird auf das entsprechende weitere Objekt zugegriffen
und der Text des neuen Bruchstücks
wird auf dem Display angezeigt. Jeder Link hat zwei Teile. Ein erster
Textteil 172 beschreibt den Link, in diesem Fall ist es
das Datum und die Nachrichtenüberschrift jedes
neuen Bruchstücks,
und ein zweiter Textteil 174 liefert einen grafischen Hinweis
auf einen Parameter dieses Links. Hier weist der Parameter darauf hin,
ob ein Link bereits aktiviert (R) wurde, um die Nachricht zu lesen,
oder nicht (U).
-
6 zeigt
die Rangordnung von Inhaltsobjekten, die für eine zusätzliche Anwendung im Browser
zusammenspielen müssen.
Die "Vorlage" dieses Inhalts ist
auf dem Server abgelegt. Jedes dieser Inhaltsobjekte hat einen individuellen
URL und kann mit dem Browser über
diesen URL abgefragt werden. Abfragen meint hier, dass das Objekt
unter Verwendung des URL vom Speicher gelesen wird, falls es dort
abgelegt wurde, und im Browser abgearbeitet wird, und, falls das
Objekt nicht im Speicher abgelegt ist, der Browser dieses unter
Verwendung des URL über
die Schnittstelle 30 vom Server holt. Das erste Objekt 160 ist
ein Stapel, der als Hauptstapel bezeichnet wird; er kennzeichnet
dem Browser die anderen Objekte und Ihre URLs. Der Hauptstapel 160 wird
aufgerufen, indem zuerst sein URL geholt wird. Falls der Hauptstapel
im Speicher abgelegt ist, wird der URL verwendet, um den Hauptstapel
vom Speicher zu laden, anderenfalls fordert der Browser den Stapel
vom Server über
die Schnittstelle 30 unter Verwendung des URL an. Der URL
des Hauptstapels kann durch Auswahl einer Bookmark in der Browseranwendung
erlangt werden, die dem URL des Hauptstapels verknüpft ist
oder indem der URL von einer SIM(subscriber identity module)- Karte gelesen wird, auf
dem der URL des Hauptstapels abgelegt ist. Somit können Betreiber
SIM-Karten, bevor sie herausgegeben werden, mit den URLs für zusätzliche
Anwendungen, die sie unterstützen,
vorprogrammieren.
-
Der
Hauptstapel 160 umfasst drei Karten: die Start Card 200,
die Option Card 210 und die Exit Card 220. Jede
Karte hat einen eigenen URL. Beim Laden des Hauptstapels in den
Browser wird die Start Card automatisch aktiviert. Die Start Card
hat einen ersten Teil 202, der eine Anzahl von Parametern
definiert (SCR1, SCR2, SCR3) von denen jedem ein Wert zugeordnet
ist, der den Wert des Parameters in der "Vorlage" des Inhalts, der auf dem Server abgelegt
ist, widerspiegelt. Der zweite Teil 204 der Start Card 200 aktualisiert
die Parameterwerte, um die Werte der Parameter, die lokal im Endgerät gespeichert
sind, widerzuspiegeln. Wie im folgenden deutlich wird, greift der
zweite Teil 204 der Reihe nach auf die Objekte (Link-Stapel) 230, 240 und 250 zu,
welche die nächste
Stufe in der Rangfolge bilden und von denen jedes auf die Objekte
(Speicher-Stapel) 260, 262 und 264 zugreift.
Teil 204 stellt also sicher, dass die Link-Stapel und Speicher-Stapel
vom Server in den Speicher geladen werden, falls sie nicht schon
dort sind.
-
Die
Option Card 210 wird eingelesen, wenn das Ende der Start
Card 200 erreicht ist. Die Option Card hat eine Anzahl
von Anteilen 212, von denen jeder mit einem definierten
Link-Stapel 230, 240, 250 in der
zweiten Ebene der Rangfolge verbunden ist. Beim Einfügen der
Option Card werden die Anteile automatisch der Reihe nach aktiviert
und erzeugen durch den Benutzer auswählbare Links 161, 163 usw. auf
dem Display des Endgeräts.
Bei der Aktivierung jedes Anteils 212 liefert ein erster
Funktionsaufruf 214 automatisch den Text/die Freimachungsvermerke
(indicia) auf dem Display welcher das Vorhandensein des durch den
Benutzer auswählbaren
Links 161 anzeigt und ein zweiter Funktionsaufruf 216 erzeugt
automatisch einen benutzergesteuerten Link 161 zu einem
definierten Inhaltsobjekt in einem der Linkstapel 230 der
zweiten Ebene der Rangfolge. Der erste Funktionsaufruf 214 liefert
den ersten Textteil 172 und den zweiten Textteil oder Freimachungsvermerk 174 auf
den Bildschirm. Der Textteil oder Freimachungsvermerk 174 hängt vom
lokalen Wert eines Parameters ab, der im zweiten Teil 204 der
Start Card 200 zugeordnet wird. Die durch die zweiten Funktionen 216 erzeugten
Links werden durch den Benutzer aktiviert, wenn er den angezeigten
Link 161 auswählt.
Die Aktivierung durch den Benutzer veranlasst den Browser auf das
definierte Inhaltsobjekt auf der zweiten Ebenen der Rangfolge zuzugreifen.
Zuerst versucht der Browser, das Inhaltsobjekt vom Speicher zu laden
und falls dies nicht erfolgreich ist, fordert er seine Übermittlung
vom Server.
-
Auf
die Exit Card wird dann zugegriffen, wenn die Anwendung, die durch
den Hauptstapel 160 eingegeben wurde und die durch die
Rangfolge der Inhaltsobjekte in 6 dargestellt
ist, beendet wird. Die Exit Card überwacht die Erzeugung der
asynchronen Nachrichten 106, die zum Ausgang gesendet werden
und stellt sicher, dass die "Vorlage" der Inhaltsobjekte,
die auf dem Server abgelegt ist und die die Anwendung abbildet,
aktualisiert wird und alle durch den Browser verursachten Änderungen
widerspiegelt.
-
Der
Link-Stapel umfasst eine erste Karte 232 und eine zweite
Karte 234. Der Stapel wird als Link-Stapel bezeichnet,
weil Jeder Zugang vom Haupt-Stapel 160 zu einem Paar weiterer
Objekte auf der dritten Ebene der Rangfolge gewährleistet, und zwar auf einen
WML-Stapel, der Inhalte, wie eine Email oder eine Nachricht umfasst
und ein Speicher-Stapel, der Parameter speichert, die mit dem WML-Stapel
desselben Paares in Zusammenhang stehen, wie z.B. wo die Emails
oder Nachrichten gelesen wurden. Der Link-Stapel 230 ermöglicht den Zugang
vom Haupt-Stapel 160 zum WML-Stapel 162 und dem
Speicher-Stapel 260. Der Link-Stapel 240 ermöglicht den
Zugang vom Hauptstapel 160 zum WML-Stapel 164 und
dem Speicher-Stapel 262. Der Link-Stapel 250 ermöglicht den
Zugang vom Hauptstapel 160 zum WML-Stapel 166 und
dem Speicher-Stapel 264.
-
Die
erste Karte 232 im Link-Stapel 230 wird abgerufen,
wenn der Funktionsaufruf Init_SCR1 im zweiten Teil 204 der
Start Card 200 aktiviert wird. Der Browser versucht über den
URL auf die Karte 232 im Speicher zuzugreifen, falls dies
nicht erfolgreich ist, fordert er die Übermittlung des Stapels 230,
der die Karte 232 enthält,
vom Server an. Sobald der Zugriff auf die Karte 232 erfolgt
ist, wird Init_SCR1 auf der Karte 232 aktiviert, welches
auf den Speicher-Stapel 260 über seinen URL zugreift und
den oder die dort als SCR1 gespeicherten Parameterwert(e) zurückliefert.
Auf den Speicherstapel wird zugegriffen indem zuerst unter Verwendung
seines URL der Speicher gelesen wird und, falls notwendig, unter
Verwendung des URL die Übermittlung
des Speicher-Stapels 260 vom Server angefordert wird. Der
Funktionsaufruf Init_SCR1 stellt also sicher, dass der Link-Stapel 230 und
der Speicher-Stapel 260 lokal im Speicher abgelegt werden
und greift auf den/die Parameterwert(e) im Speicher-Stapel zu.
-
Im
Speicher-Stapel 230 wird auf die zweite Karte 234 zugegriffen,
wenn der zweite Funktionsaufruf 216 eines Teils 212 der
Option Card 210 durch Auswahl eines Links 161 durch
den Benutzer aktiviert wird. Der Browser greift auf die zweite Karte 234 zu, indem
er versucht, die zweite Karte 234 über ihren URL vom Speicher
zu lesen und wenn dies nicht erfolgreich ist, indem er die Übermittlung
des Stapels 230 vom Server anfordert. Wird auf die zweite
Karte zugegriffen, werden zwei Funktionen ausgeführt. Erstens greift der Browser
auf den Speicher-Stapel 260 zu und aktualisiert die dort
gespeicherten Parameter, um kenntlich zu machen, dass der durch
den Link-Stapel 230 zu Verfügung gestellte Link aktiviert wurde.
In den bisherigen Beispielen wird dies den Inhalt im Speicher-Stapel 260 anpassen,
so dass der Wert SCR1 ein Symbol R anstelle eines U auf dem Bildschirm
erzeugen wird, wenn der erste Funktionsaufruf 214 des Teil 212 in
der Option Card den Text/indicia 174 auf dem Display erzeugt.
Zweitens, greift der Browser 100 auf den Stapel 162 zu
und führt
den dortigen Inhalt aus. Dieser Zugriff zeigt in der vorigen Beispielen
den Text einer Email oder einen Nachrichtentext an. Wie bisher benutzt
der Browser, wenn er auf ein Objekt zugreift, dessen URL, um zu
versuchen, es vom Speicher zu lesen und wenn dies nicht erfolgreich
ist, fordert er die Übermittlung des
Objekts vom Server an.
-
Es
ist klar, dass durch das Laden des Haupt-Stapels in den Browser
automatisch Mittel zu Verfügung
gestellt werden, eine Rangfolge der Objekte im Endgerät zu erzeugen.
Der erste Teil 202 der Start Card 200 gleicht
die Parameterwerte an die Werte der "Vorlage" auf dem Server an. Der zweite Teil 204 der
Start Card 200 gleicht die Parameterwerte an die an, die
lokal im Speicher-Stapel im Speicher abgelegt sind und übermittelt
jegliche Speicher-Stapel oder Link-Stapel vom Server zum Endgerät, die nicht
im Speicher des Endgeräts
sind. Jeder Teil 212 der Option Card 210 erzeugt
einen durch den Benutzer auswählbaren
Link und zeigt den Link auf dem Display an. Die Anzeige lässt erkennen,
ob der Link schon einmal aktiviert war, was sich aus den Parameterwerten
ableiten lässt.
-
Wenn
der Stapel 162 in den Browser geladen wird, erzeugt er
eine Textmeldung und eine Anzahl von Links, die der Benutzer verwenden
kann, um zur obersten Rangfolgestufe der Anwendung zurückzukehren
oder die Anwendung ganz zu verlassen. Eine Rückwärts-Option stellt eine Verbindung
zum Hauptstapel über
dessen URL bereit. Wählt
der Benutzer diesen Link aus, greift der Browser auf den Hauptstapel 160 zu.
Der Hauptstapel 160 wird dann über seinen URL vom Speicher
in den Browser geladen oder, wenn nötig, über seinen URL vom Server. Über eine
Exit-Option wird die Anwendung verlassen und man befindet sich im
Hauptmenü und
eine Bookmark-Option ermöglicht
es dem Benutzer, die Anwendung durch Auswählen einer Bookmark zu verlassen,
die für
eine andere Anwendung steht oder eine Verknüpfung zu einem anderen Inhalt,
der sich nicht auf eine Anwendung bezieht. Wählt der Benutzer die Exit-Option
oder eine Bookmark, wird dies als Einzelprozess im Browser erkannt
und ein Eventhandler kümmert
sich um die nachfolgenden Vorgänge.
Wird die Exit-Option
gewählt,
wird auf die Exit Card über
ihren URL zugegriffen bevor man in das Hauptmenü gelangt. Wird eine Bookmark
ausgewählt,
wird auf die Exit Card über
ihren URL zugegriffen, bevor der über die Bookmark identifizierte
Inhalt abgerufen wird. Wenn auf die Exit Card 220 zugegriffen
wird, versucht der Browser zuerst die Exit Card vom Speicher 110 mittels
URL zu lesen und falls dies nicht erfolgreich ist, fordert er die Übermittlung
des Hauptstapels vom Server und liest dann die Exit Card 220.
-
Die
Exit Card dient dazu, Vorlagen ("master records"), die auf dem Server
liegen, mit den Einträgen
abzugleichen, die im Browser gespeichert und aktualisiert wurden.
Jeder Speicher-Stapel 260 speichert
Parameter, die sich während
einer Anwendungs-Session ändern
können.
Beispielsweise wird sich der Parameter, der anzeigt, ob eine Email
oder Nachricht gelesen wurde, ändern,
wenn auf den Stapel mit der Email oder Nachricht zugegriffen wurde, ebenso
kann ein Parameter darauf hinweisen, dass der Benutzer entschieden
hat, die Nachricht oder Email zu löschen. Die Exit Card erzeugt
eine Nachricht 106, welche die neuen Werte der geänderten Parameter
bestimmt und sendet sie asynchron zum Ausgang 130. Die
Nachricht wird durch Zugriff auch die Speicherstapel 260 und 262 erstellt.
Dies beinhaltet, dass auf die jeweils erste Karte 232, 242, 252 der Link-Stapel 230, 240 und 250 zugegriffen
wird, um die neuen Parameterwerte SCR1, SCR2 und SCR3 zu erhalten.
Die Speicher-Stapel werden im Speicher abgelegt, der so groß ist, dass
Speicher-Stapel einer aktiven Anwendung nicht aus dem Speicher gelöscht werden,
solange die Exit Card keine Nachricht 106 schickt, um den
Server zu aktualisieren. Einer alternativen Ausführungsform gemäß wird verhindert, dass
die Speicher-Stapel aus dem Speicher gelöscht werden, solange der Server
nicht aktualisiert ist.
-
Wenn
der Benutzer eines Endgeräts
neuen Inhalt erzeugt, beispielsweise durch Schreiben einer Email,
wird dieser Inhalt zum Server mit einer Nachricht 106 geschickt.
-
Wenn
der Server eine Nachricht 106 vom Endgerät erhält, aktualisiert
er die Vorlage ("master copy") des Inhalts. Im
ersten gegebenen Beispiel aktualisiert er die Werte der Parameter
SCR1, SCR2, SCR3, usw., die durch den Browser verändert und dem
Server gemeldet wurden. Nachdem er die Vorlage ("master copy") aktualisiert hat, schiebt (push) der Server
den Haupt-Stapel 200 von der Vorlage zum Endgerät. Der Haupt-Stapel
wird in einer Nachricht mit asynchronem Bezeichner verschickt. Das
Endgerät
empfängt
den angestoßen
(pushed) Stapel und dirigiert ihn in den Speicher. Der Server kann
die Anwendung aktualisieren, indem er Objekte zum Endgerät übermittelt,
nachdem sie angefordert wurden, d.h. synchron, oder ohne dass sie
vom Browser angefordert wurden, d.h. asynchron. Nachrichten, die Objekte
enthalten, die asynchron verschickt werden, werden in den Speicher
umgeleitet. Somit kann der Server die Anwendung aktualisieren, wenn
es passend ist, beispielsweise, wenn er eine neue Email oder Nachricht
erhält.
-
Hat
das Endgerät
einen ausreichend großen Speicher,
wäre es
möglich,
alle Objekte der Rangfolge, die benötigt werden, um die Anwendung
laufen zu lassen, im Speicher abzulegen.
-
Wenn
der Server ein neues Objekt für
die Anwendung empfängt,
wie z.B. eine neue Email, dann aktualisiert er die Start Card 200 des Haupt-Stapels 160 indem
er jeweils einen neuen Eintrag im ersten und zweiten Teil 202 und 204 einarbeitet,
er aktualisiert die Option Card 210 des Haupt-Stapels 160,
indem er einen neuen Teil 212 mit erstem und zweitem Funktionsaufruf 214 und 216 einführt, er
erzeugt einen neuen Link-Stapel mit eigenem URL und einer ersten
Karte, die über
den neuen Eintrag im zweiten Teil 204 der Start Card 200 erreichbar
ist und einer zweiten Karte, die über die Aktivierung des Links
erreichbar ist, der vom neuen Teil 212 in der Option Card 210 gestellt
wird, er erzeugt einen neuen WML-Stapel
mit eigenem URL, der über die
zweite Karte des Link-Stapels erreichbar ist, der Texte neuer Emails
speichert; er erzeugt einen neuen Speicher-Stapel mit eigenem URL,
mit Lesezugriff über
die erste Karte und Schreibzugriff über die zweite Karte des Link-Stapels,
der einen Parameter speichert, der anzeigt, dass die Email ungelesen
ist. Der Server erzeugt eine Nachricht mit dem aktualisierten Haupt-Stapel
und verschiebt (push) sie asynchron zum Endgerät. Alternativ könnte der
Server für
jeden neu in der Rangfolge gebildeten Stapel eine Nachricht erzeugen,
diese Nachrichten verbinden und die neue Nachricht asynchron an
das Endgerät
schicken.
-
Die
Link-Stapel entkoppeln den Haupt-Stapel von den WML-Stapeln und
Speicher-Stapeln. Die WML-Stapel können ersetzt werden, ohne dass
der Haupt-Stapel angepasst werden muss, indem die relevanten Link-Stapel
angepasst werden. Die Link-Stapel sind mit einer Standardschnittstelle
zum Hauptstapel ausgestattet, während
die Struktur der zweiten und dritten Stufe der Rangfolge verändert werden
kann, ohne den Haupt-Stapel zu ersetzen.
-
8 erfordert keine Exit Card, da hier kein lokaler
Speicher ist.
-
Jede
diesem Antrag angefügte
Anlage ist Teil der vorliegenden Beschreibung.
-
Obwohl
die Erfindung mit Bezug auf eine besonders bevorzugte Ausführungsform
beschrieben wurde, sollte klar sein, dass die Erfindung, wie sie durch
die Ansprüche
definiert ist, über
die speziellen Merkmale der beschriebenen Ausführungsform hinausgeht, und
Veränderungen
und Variationen der Ausführungsform
die nicht notwendigerweise beschrieben sind, beinhaltet.