-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf das Gebiet der Datenverarbeitung
und insbesondere ohne Beschränkung
auf mobile Webdienste.
-
Hintergrund und Stand der
Technik
-
Webdienste
sind eine neu entstehende Technologie, welche das doppelte Versprechen
der Einfachheit und Verbreitungsfähigkeit bieten. Webdienste
können
informatorisch oder transaktional sein. Dies bedeutet, dass einige
Dienste Informationen von Bedeutung dem Anfragenden zur Verfügung stellen,
während
andere Dienste schließlich
zum Aufruf von geschäftlichen
Verfahren führen.
-
Beispiele öffentlich
zugänglicher
Webdienste umfassen heutzutage Börsennotierungsdienste,
Dienste zum Abfragen von Nachrichten von Nachrichtenquellen und
Währungsumwandlungsdienste.
-
Ein
Beispiel von Webdiensten sind die Dienste, welche auf Simple-Object-Access-Protocol-Nachrichten
(SOAP) antworten. SOAP ist ein Anwendungsaufruf-Protokoll, welches
ein Protokoll zum Austausch von Informationen definiert, welche
als XML-Nachrichten
codiert sind. Normalerweise werden diese Dienste durch die WSDL-Notation (Web Service
Description Language), welche in WSDL Dokumenten gespeichert ist,
beschrieben.
-
Ein
WSDL-Dokument kann auf verschiedene Arten gespeichert werden, z.
B. in einer Datei, in einem DB2 XML Registry/Repository, oder z.
B. in einer DB2-basierten
UDDI-Registry. UDDI (Universal Description, Discovery, Integration)
ist ein Protokoll zur Beschreibung von Webdiensten, so dass Interessenten
in der Lage sind, diese einfach aufzufinden. Spezifikationen für diese
Registry und die Verwendung von WSDL in der Registry finden sich
auf http://www.uddi.org/. Dienstanbieter können ihre Dienste in einem
UDDI registrieren, wodurch technische Informationen, wie der Dienst
aufgerufen werden kann, spezifiziert werden. Oft wird ein WSDL-Dokument
in einer UDDI-Registry gespeichert, um die Mitteilungen zu definieren,
welche ein spezieller Webdienst akzeptiert und generiert.
-
Die
Gestaltung von UDDI ermöglicht
es Unternehmen, welche webdienstermöglichte Anwendungen besitzen,
Daten über
sich und ihre Dienste zu veröffentlichen.
Durch Zurverfügungstellung
dieser Informationen implementiert UDDI eine vereinfachte Form der
Suche für
solche, welche am Auffinden eines besonderen Dienstes zur Erfüllung eines
Anwendungsvorganges interessiert sind. Die herkömmliche UDDI-Suche konzentriert
sich auf einzelne Suchkriterien, wie Geschäftsname, Geschäftsort,
Geschäftskategorien,
Geschäfts-Identifier,
Dienste nach Name und Discovery-URL (Uniform Resource Locator).
-
Verschiedene
Denkansätze
zur Implementierung von Webdiensten sind aus dem Stand der Technik bekannt,
wie z. B. aus den US Patentanmeldungen 20030093436 A1, 20030055868
A1, 20030055624 A1, 20030018661, 20030110242, 20030163513 A1, 20040064503
A1, 20040045005 A1, 20040003130 A1, 20030187841 A1.
-
Des
Weiteren wurden mobile Webdienste im Stand der Technik berücksichtigt,
wie z. B. in "A
new framework for mobile Web services", Sheng-Tzong Cheng, Jian-Pei Liu, Jian-Lun
Kao, Chia-Mei Chef, Dept. of Comput. Sci. & Inf. Eng., Nat. Cheng Kung Univ.,
Tainan, Taiwan; Applications and the Internet (SAINT) Workshops,
2002.
-
Proceedings.
2002 Symposium an Applications and the Internet, Publikationsdatum:
28. Jan. bis 01 Feb. 2002, Seiten 218 bis 222, INSPEC Zugriffsnummer:
7231742.
-
Ein
gemeinsamer Nachteil von mobilen Webdiensten ist, dass sie einen
einzigen Punkt für
eine Fehlfunktion darstellen, wie dies für allgemeine zentrale Datenbanken
der Fall ist. Wenn ein mobiler Webdienst ausfällt – aufgrund des Verlustes der
Netzwerkabdeckung oder aufgrund eines Ausfalls des mobilen Webdienstes
selbst – werden
die entsprechenden Informations- und/oder Transaktionsdatenverarbeitungsdienste, welche
durch den Webdienst zur Verfügung
gestellt werden, nicht mehr verfügbar.
-
Die
WO 01/18688 A2 zeigt
ein System um Webinhalte auf ein mobiles Gerät herunterzuladen und dafür dass Benutzer
von mobilen Geräten
mit solchen Webinhalten auf ihren mobilen Geräten in interaktiver Weise arbeiten
können,
während
sie sich in einem Offline-Modus befinden.
-
Die
WO 02/093290 A2 zeigt
ein Service-Discovery-Access-System, welches ein geografischer Aufenthaltsort
eines Benutzers zur Auswahl eines Webdienstes berücksichtigt.
-
Zusammenfassung der Erfindung
-
Gemäß der vorliegenden
Erfindung ist ein mobiles elektronisches Gerät vorgesehen, welches eine
Anfragen-Verarbeitungskomponente zum Empfang einer Informationsanfrage,
ein drahtloses Interface zur Kopplung des mobilen elektronischen
Gerätes
an ein Netzwerk um eine Online-Version der Information von dem Webservice
zu erhalten, eine Speicherkomponente zur Speicherung einer Offline-Version
der Information, umfasst, wobei die Anfragen-Verarbeitungskomponente dazu ausgebildet
ist, eine Webdienstanfrage an den Webservice als Antwort auf die
Informationsanfrage zu senden, wenn sich das mobile elektronische
Gerät innerhalb
eines Netzwerk-Abdeckungsgebietes befindet, und alternativ dazu
auf die Speicherkomponente zuzugreifen.
-
Das
mobile elektronische Gerät
kann ein mobiles EDV-Gerät
sein, wie z. B. ein Palmtop oder Laptop-Computer, ein elektronisches
Handheld-Gerät,
wie z. B. ein Mobiltelefon, ein Personal-Digital-Assistant, ein
Smartphone, eine Digitalkamera oder ähnliches, und/oder ein Auto-Navigationssystem.
Eine Informationsanfrage solcher Anwendungen kann verschiedener
Art sein. Zum Beispiel kann die Informationsanfrage darauf gerichtet
sein, Verkehrsinformationen zur Verwendung durch eine Routenplanung
oder Navigationsanwendung, Wetterbericht-Informationen, Ereignisinformationen
und/oder Kalenderinformation, wie z. B. zur Synchronisation eines
elektronischen Kalenders sein.
-
Nach
einer Ausführungsform
der Erfindung wird die Informationsanfrage manuell durch den Benutzer eingegeben.
Alternativ wird die Informationsanfrage automatisch durch ein Anwendungsprogramm
erzeugt, welches auf dem mobilen elektronischen Gerät ausgeführt wird.
-
Nach
einer Ausführungsform
der Erfindung ist das mobile elektronische Gerät an eine Ortungskomponente
angekoppelt, welche Ortungsinformationen zur Verfügung stellt,
welche die gegenwärtige
geografische Position des mobilen elektronischen Gerätes angibt.
Zum Beispiel ist das mobile elektronische Gerät an einen Global-Positioning-System-Empfänger (GPS)
zur Verfügungstellung
der Ortungsinformationen angekoppelt oder es verwendet ein drahtloses
zellulares Netzwerk, wie z. B. ein GSM- oder UMTS-Netzwerk, um die
Ortungsinformation zu erhalten, z. B. mittels einer Triangulationstechnik
oder unter Verwendung der Zellkennung der Zelle, in welcher sich
das mobile elektronische Gerät
gegenwärtig
aufhält.
Verschiedene andere nützliche Ortungstechniken
können
ebenfalls verwendet werden, um die Ortungskomponente zu implementieren.
-
Die
geografische Ortungsinformation kann in der Informationsanfrage
zur Spezifizierung der angeforderten Information enthalten sein.
Zum Beispiel kann, wenn die Informationsanfrage auf Verkehrsinformationen
hin gerichtet ist, die durch den Webdienst zurückgegebene Verkehrsinformation
auf Verkehrsinformationen beschränkt
sein, welche relevant bezüglich
des gegenwärtigen
Aufenthaltsortes des mobilen elektronischen Gerätes sind.
-
Nach
einer Ausführungsform
der Erfindung weist das mobile elektronische Gerät eine Uhr auf welche die lokale
Zeit zur Verfügung
stellt. Diese Zeitinformation kann in der Informationsanfrage zur
Spezifizierung der angeforderten Information enthalten sein. Die
Zeitinformation kann mit der lokalen Information kombiniert werden.
Zum Beispiel, wenn die Informationsanfrage drauf gerichtet ist Ereignisinformationen
zu erhalten, kann die durch den Webdienst zurückgegebene Ereignisinformation
auf solche Ereignisse beschränkt
sein, welche relevant bezüglich
des gegenwärtigen
Aufenthaltsortes und der gegenwärtigen
Uhrzeit des mobilen elektronischen Gerätes sind.
-
Nach
einer Ausführungsform
der Erfindung stellt das drahtlose Interface des mobilen elektronischen Gerätes Statusinformationen
zur Verfügung.
Die Statusinformation beschreibt einen gegenwärtigen Status des drahtlosen
Interfaces. Zum Beispiel gibt die Statusinformation an, ob das drahtlose
Interface gegenwärtig
an ein drahtloses Netzwerk angekoppelt ist, in anderen Worten, ob
eine Netzwerkabdeckung vorliegt oder nicht. Des Weiteren kann die
Statusinformation angeben, ob eine unbenutzte Datenübertragungskapazität vorliegt.
-
Zum
Beispiel wird ein Versuch zum Senden einer Webdienstanfrage nur
dann gemacht, wenn die Statusinformation angibt, dass sich das mobile
elektronische Gerät
innerhalb der Abdeckung des Netzwerks befindet. Vorzugsweise wird
eine Aktualisierungsoperation der Offline-Version der Informationen,
welche lokal auf dem mobilen elektronischen Gerät gespeichert ist, durchgeführt, wenn
die Statusinformation unbenutzte Datenübertragungskapazitäten angibt.
Eine Aktualisierung der Offline-Version der Information ist gewöhnlicherweise
weniger dringend als andere Datenübertragungsanforderungen. Somit
vermeidet es eine Durchführung
der Aktualisierungsoperation, wenn unbenutzte Datenübertragungskapazitäten vorhanden
sind, Latenzzeiten negativ zu beeinflussen, welche durch einen Benutzer
bezüglich
einer Übertragung
von Echtzeit- oder Nicht-Echtzeitdaten, wie z. B. Gespräche oder
Daten, über
das drahtlose Interface, wahrgenommen werden.
-
Nach
einer Ausführungsform
der Erfindung ist eine Fehleranfälligkeitsresistenz
durch die Verwendung einer Liste von alternativen Webdiensten vorgesehen.
Wenn keine Webdienstantwort innerhalb eines vorbestimmten Zeitfensters
empfangen wird, wird die Webdienstanfrage erneut an einen alternativen
Webdienst gesendet.
-
Wenn
der alternative Webdienst ebenfalls nicht antwortet, kann die Webdienstanfrage
erneut an einen noch weiteren alternativen Webdienst übertragen
werden, bis eine Antwort empfangen wird. Vorzugsweise werden Prioritäten den
alternativen Webdiensten zugeordnet, wobei die Webdienstanfrage
zu den alternativen Webdiensten erneut versendet wird, gemäß der Reihenfolge,
welche durch die Prioritäten
gegeben ist.
-
Nach
einer Ausführungsform
der Erfindung weist das mobile elektronische Gerät eine Aktualisierungskomponente
zum Erhalt der Online-Version der Information von dem Webdienst
auf, währenddessen
das mobile elektronische Gerät
sich innerhalb des Netzwerkabdeckungsgebietes befindet. Dies hat
den Vorteil, dass die Offline-Version,
welche auf dem mobilen elektronischen Gerät gespeichert ist, durch die
Online-Version aktualisiert werden kann, jedes Mal, wenn sich das
mobile elektronische Gerät
innerhalb des Netzwerkabdeckungsgebietes befindet. Somit hat der
Benutzer Zugriff auf relativ aktuelle Informationen, selbst wenn
er oder sie sich außerhalb
eines Netzwerkabdeckungsgebietes befindet.
-
Kurze Beschreibung der Zeichnungen
-
Im
Folgenden werden bevorzugte Ausführungsformen
der Erfindung beispielhaft detaillierter beschrieben, indem auf
die folgenden Zeichnungen Bezug genommen wird.:
-
1 zeigt
ein Blockdiagramm einer ersten Ausführungsform eines mobilen Terminals
in einem zellularen drahtlosen Telekommunikationsnetzwerk,
-
2 zeigt
ein Flussdiagramm, welches eine Ausführungsform eines Verfahrens
der Erfindung illustriert,
-
3 zeigt
ein Blockdiagramm einer weiteren bevorzugten Ausführungsform
eines mobilen Terminals, welches an alternative Webdienste über ein
Drahtlos-Netzwerk angekoppelt ist;
-
4 zeigt
ein Flussdiagramm, welches die weitere Ausführungsform eines Verfahrens
der vorliegenden Erfindung illustriert,
-
5 zeigt
ein Blockdiagramm einer weiteren Ausführungsform eines erfindungsgemäßen mobilen Terminals,
welches eine Aktualisierungsfunktionalität für die Offline-Version der Informationen
umfasst,
-
6 zeigt
ein Flussdiagramm, welches eine Ausführungsform der Aktualisierungsoperation
zeigt.
-
Detaillierte Beschreibung
-
1 zeigt
ein drahtloses Netzwerk 100. In der hier berücksichtigten
Ausführungsform
in Bezug auf 1 ist das drahtlose Netzwerk 100 ein
zellulares, wie ein GSM, GPRS, UMTS, WLAN und/oder IEEE-Netzwerk.
Die Zellen A 102, B 104, C 106 und D 108 sind
nur beispielhaft in 1 gezeigt.
-
Das
drahtlose Netzwerk 100 bietet eine Internetverbindung.
Zumindest ein Webdienst 110 ist über das drahtlose Netzwerk 100 erreichbar.
Der Webdienst 110 kann jeder beliebiger Art sein, wie z.
B. informatorisch oder transaktionell. In dem hier berücksichtigten
Beispiel speichert der Webdienst 110 eine Online-Version
einer Information 112. Ein mobiles Terminal 114 befindet
sich innerhalb der Zelle C 106. In anderen Worten befindet
sich das mobile Terminal 114 innerhalb eines Netzwerkabdeckungsgebietes
des Netzwerks 100, in welchem Netzwerkdienste zur Verfügung gestellt
werden.
-
Das
mobile Terminal 114 kann ein mobiles EDV-Gerät sein,
wie z. B. ein Palmtop- oder
Laptop-Computer, ein tragbares elektronisches Gerät, wie z.
B. ein Personal-Digital-Assistant,
ein Smartphone oder eine Digitalkamera oder ein weiteres mobiles
elektronisches Gerät,
wie z. B. ein Auto-Navigationssystem oder dergleichen.
-
Das
mobile Terminal 114 weist eine Anwendungsprogramm-Komponente 116 auf,
welche eine Serviceanfrage 118 erzeugen kann. Die Serviceanfrage 118 ist
auf Informationen gerichtet, welche durch die Anwendungsprogramm-Komponente 116 benötigt wird.
Die Serviceanfrage 118 kann eine Spezifikation der benötigten Information
enthalten.
-
Die
Anwendungsprogramm-Komponente 116 ist an eine Anwendungsverarbeitungskomponente 120 angekoppelt,
welche die Serviceanfrage 118 empfangen kann.
-
Die
Anfrageverarbeitungskomponente 120 ist an ein drathloses
Interface 122 des mobilen Terminals 114 angekoppelt.
Die Anfrageverarbeitungskomponente 120 kann Statusinformationen 124 von
dem drahtlosen Interface 122 empfangen. Die Statusinformation 124 gibt
an, ob sich das mobile Terminal 114 innerhalb der Netzwerkabdeckung
befindet oder nicht. Des Weiteren kann die Statusinformation 124 angeben,
ob es unbenutzte Datenübertragungskapazitäten auf
dem Datenübertragungskanal
gibt, welcher durch das drahtlose Netzwerk 100 für das mobile
Terminal 114 zur Verfügung
gestellt wird.
-
Das
mobile Terminal 114 hat einen nichtflüchtigen Speicher 126 zur
Speicherung einer Offline-Version der Information 112,
das heißt
einer Information 128.
-
Alternativ
umfasst das mobile Terminal 114 einen Zeitgeber 130,
welcher die gegenwärtige
Zeit zur Verfügung
stellt und/oder eine Ortungskomponente 132, welche Ortungsinformationen
bezüglich
der gegenwärtigen
geografischen Position des mobilen Terminals 114 zur Verfügung stellt.
Die Ortungskomponente 132 kann mittels eines GPS-Empfängers ausgebildet
sein. Alternativ kann die Ortungsinformation unter Verwendung entsprechender
Dienste des drahtlosen Netzwerks 100 zur Verfügung gestellt
werden. Zum Beispiel kann eine Zellkennung der Zelle, in welcher
sich das mobile Terminal 114 gegenwärtig befindet, als solche Ortungsinformation
dienen.
-
Im
Betrieb erzeugt die Anwendungsprogramm-Komponente 116 die
Dienstanfrage 118, um Informationen anzufordern. Die Dienstanfrage 118 kann
eine Spezifikation der benötigten
Information enthalten. Solche eine Spezifikation kann durch die
Anwendungsprogramm-Komponente 116 dadurch gegeben sein,
indem die gegenwärtige
Zeit, welche von dem Zeitgeber 130 erhalten wurde, und/oder
Ortungsinformationen, welche von der Ortungskomponente 132 erhalten
wurden, eingeschlossen ist.
-
Die
Dienstanfrage 118 wird durch die Anfragenverarbeitungskomponente 120 empfangen.
Wenn die Statusinformation 124 angibt, dass sich das mobile
Terminal 114 gegenwärtig
innerhalb eines Netzwerkabdeckungsgebietes befindet, wandelt die
Anfragenverarbeitungskomponente 120 die Dienstanfrage 118 in
eine Webdienstanfrage 134 um, welche über das drahtlose Interface 122 an
den Webdienst 110 versendet wird. Der Webdienst 110 erzeugt
eine entsprechende Webdienstantwort 136, welche die Online-Version
der Information 112 enthält. Die Webdienstantwort 136 wird
durch das mobile Terminal 114 mittels seines drahtlosen Interfaces 122 empfangen
und in die Anwendungsprogrammkomponente 116 eingegeben.
-
Wenn
sich das mobile Terminal 114 nach außerhalb der Netzwerkabdeckung
des Netzwerks 100 bewegt hat, wie z. B. eines Ortes 138,
so spiegelt sich dies in der entsprechenden Statusinformation 124 wieder, welche
angibt, dass der Netzwerkdienst nicht länger verfügbar ist.
-
Wenn
die Anfragenverarbeitungskomponente 120 die Dienstanfrage 118 empfängt, wenn
die Statusinformation 124 angibt, dass kein Netzwerkdienst
verfügbar
ist, wird die Anfragenverarbeitungskomponente 120 die Dienstanfrage 118 in
eine Zugriffsanfrage 140 umwandeln, um auf eine Offline-Version
der Information 128 zuzugreifen, welche in dem Speicher 126 des
mobilen Terminals 114 gespeichert ist. Als Antwort wird
die Information 128 an die Anwendungsprogrammkomponente 116 zurückgegeben.
Dies hat den Vorteil, dass selbst wenn keine Netzwerkabdeckung durch
das drahtlose Netzwerk 100 vorliegt, die Anwendungsprogrammkomponente 116 nicht
zu warten hat, bis das mobile Terminal 114 sich zurück in die
Netzwerkabdeckung bewegt hat, bevor es mit seiner Programmausführung fortfahren
kann.
-
2 zeigt
ein entsprechendes Flussdiagramm. In Schritt 200 wird die
Dienstanfrage zum Erhalt von Informationen durch das mobile Terminal
empfangen. Die Dienstanfrage kann intern durch die Anwendungsprogrammkomponente
erzeugt werden oder sie kann von einer externen Quelle empfangen
werden, wie z. B. einer Benutzereingabe in das mobile Terminal.
-
In
Schritt 202 erfolgt eine Bestimmung, ob das mobile Terminal
sich innerhalb einer Netzwerkabdeckung befindet oder nicht. Wenn
das Netzwerk gegenwärtig
verfügbar
ist, wird eine Webdienstanfrage an den Webdienst über das
drahtlose Interface des mobilen Terminals versendet, um die Informationen
anzufordern (Schritt 204).
-
Wenn
sich das mobile Terminal gegenwärtig
außerhalb
der Netzwerkabdeckung befindet, wird auf die lokale Speicherkomponente
des mobilen Terminals zugegriffen, um eine Offline-Version der angeforderten
Information zu lesen.
-
3 zeigt
eine alternative Ausführungsform.
Elemente in der Ausführungsform
der 3, welche Elementen der Ausführungsform der 1 entsprechen,
sind durch ähnliche
Bezugszeichen gekennzeichnet.
-
In
der Ausführungsform
der 3 ist das drahtlose Netzwerk 300 an eine
Anzahl I von alternativen Webdiensten 310 angekoppelt.
Die alternativen Webdienste 310 stellen im Wesentlichen
identische oder gleiche Versionen der Online-Information 312 zur
Verfügung.
Die alternativen Webdienste 310 können sich unterscheiden bezüglich des
Formats, in welchem die Informationen 312 angefordert oder
zur Verfügung
gestellt werden und/oder bezüglich
weiterer Charakteristika, wie z. B. eine geografische Abdeckung
der Information, Aktualität
der Information, Kosten der Information usw.
-
Das
mobile Terminal 314 umfasst eine priorisierte Liste 342 der
alternativen Webdienste 310. Die priorisierte Liste 342 kann
ein fester Bestandteil der Anfragenverarbeitungskomponente 320 sein
oder sie kann sonstwo gespeichert sein, wie z. B. in einem nicht-flüchtigen
Speicher 326. Die Liste 342 umfasst einen Uniform-Resource-Locator
(URL) für
jeden der alternativen Webdienste 310. Der Webdienst mit
der höchsten
Priorität
i = 1 wird durch den ersten Eintrag in der priorisierten Liste 342 identifiziert,
das heißt
URL i = 1. Der Webdienst mit der zweithöchsten Priorität i = 2
wird durch seine URL i = 2 identifiziert, usw.
-
Des
Weiteren weist die Anfragenverarbeitungskomponente 320 eine
Time-Out-Komponente 344 zur Überprüfung, ob
eine Time-Out-Bedingung vorliegt, auf. Die Time-Out-Komponente 344 liest
die gegenwärtige Zeit,
welche durch den Zeitgeber 330 zur Verfügung gestellt wird, wenn die
Webdienstanfrage 334 über
das drahtlose Interface 322 zu einem der alternativen Webdienste 310 gesendet
wird. Wenn keine Webdienstantwort von einem der alternativen Webdienste
empfangen wird, signalisiert die Time-Out-Komponente 344 der Anfragenverarbeitungskomponente 320,
dass dieser alternative Webdienst gegenwärtig nicht verfügbar ist. Als
Antwort darauf kann die Anfragenverarbeitungskomponente 320 die
Webdienstanfrage 334 erneut an den nächstniedrigen alternativen
Webdienst auf der Liste 342 versenden.
-
Im
Betrieb empfängt
die Anfragenverarbeitungskomponente 320 die Dienstanfrage 318 von
der Anwendungsprogrammkomponente 316. Wenn die Statusinformation 324 angibt,
dass sich das mobile Terminal 314 außerhalb des Netzwerkabdeckungsgebietes
befindet, wandelt die Anfragenverarbeitungskomponente 320 die
Serviceanfrage 318 in eine Zugriffsanfrage 340 zum
Lesen der Offline-Version der angeforderten Information 328 aus
dem Speicher 326 um.
-
Wenn
die Statusinformation 324 angibt, dass sich das mobile
Terminal 314 innerhalb des Netzwerkabdeckungsgebietes des
drahtlosen Netzwerks 300 befindet, erzeugt die Anfragenverarbeitungskomponente 320 die
Webdienstanfrage 334 für
den alternativen Webdienst der höchsten
Priorität,
das heißt
den Webdienst i = 1; die Webdienstanfrage 334 ist in Übereinstimmung
mit der WSDL-Beschreibung
des Webdienstes der höchsten
Priorität
i = 1. Die WSDL-Beschreibung
kann lokal durch das mobile Terminal 314 gespeichert sein, wie
z. B. in der Anfragenverarbeitungskomponente 320 oder dem
Speicher 326, oder es kann durch Zugriff auf das UDDI 346 über das
drahtlose Interface 322 erhalten werden.
-
Die Übertragung
der Webdienstanfrage 334 startet die Time-Out-Komponente 344.
Wenn keine Webdienstantwort vom Webdienst der höchsten Priorität i = 1
innerhalb der vorbestimmten Zeit, welche durch die Time-Out-Komponente 344 gegeben
ist, empfangen wird, signalisiert die Time-Out-Komponente 344 die
Nichtverfügbarkeit
des Webservice der höchsten
Priorität
i = 1 an die Anfragenverarbeitungskomponente 320. Als Antwort
liest die Anfragenverarbeitungskomponente 320 die URL des
nächsten
alternativen Webdienstes, welcher in der Liste 342 gegeben
ist, gemäß der Reihenfolge,
welche durch die zugewiesenen Prioritäten gegeben ist, aus.
-
Falls
notwendig, formatiert die Anfragenverarbeitungskomponente 320 die
Webdienstanfrage 334 um, um sie in Übereinstimmung mit der WSDL-Beschreibung des
alternativen Webdienstes i = 2 zu bringen. Nochmals, die WSDL-Beschreibung des
alternativen Webdienstes i = 2 kann lokal auf dem mobilen Terminal 314 gespeichert
sein oder sie kann von dem UDDI 346 erhalten werden.
-
Wenn
die Time-Out-Komponente 344 signalisiert, dass der Webdienst
der zweithöchsten
Priorität
i = 2 ebenfalls nicht verfügbar
ist, führt
die Anfragenverarbeitungskomponente 320 einen nachfolgenden
Versuch unter Verwendung des Webdienstes der dritthöchsten Priorität i = 3
durch, bis eine Webdienstantwort von einem der alternativen Webdienste
empfangen wird.
-
Im
Falle dessen, dass keiner der Webdienste 310 verfügbar ist,
wandelt die Anfragenverarbeitungskomponente 320 die Dienstanfrage 318 in
die Zugriffsanfrage 340 um, um eine Offline-Version der
Information 328 zu erhalten, um die Offline-Version der Information 328 der
anfragenden Anwendungsprogrammkomponente 316 zu Verfügung zu
stellen.
-
4 zeigt
ein Flussdiagramm, welches einen bevorzugten Operationsmodus des
mobilen Terminals 314 der 3 zeigt.
Schritte der Ausführungsform
gemäß 4,
welche den Schritten der Ausführungsform gemäß 2 entsprechen,
sind durch ähnliche
Bezugszeichen gekennzeichnet.
-
In
Schritt 400 wird die Serviceanfrage durch das mobile Terminal
empfangen. Wenn sich das mobile Terminal nicht innerhalb eines Netzwerkabdeckungsgebietes
befindet (Schritt 402), wird auf eine lokale Speicherkomponente
des mobilen Terminals zugegriffen, um eine Offline-Version der angefragten
Information zu erhalten (Schritt 406).
-
Wenn
das Gegenteil der Fall ist, wird der Index i initialisiert (Schritt 403)
und eine Webdienstanfrage für
den Webdienst der höchsten
Priorität
i = 1 wird in Übereinstimmung
mit der WSDL-Beschreibung dieses Webdienstes erzeugt. Die Webdienstanfrage
wird an den Webdienst i = 1 gesendet (Schritt 404). Wenn
eine Webdienstantwort von dem Webdienst i empfangen wird, bevor
eine Time-Out-Bedingung
eintritt (Schritt 406), wird die Information, welche in
der Webdienstantwort enthalten ist, an den Dienstanfragenden zurückübergeben,
z. B. der Anwendungsprogrammkomponente, und die Kontrolle endet
in Schritt 408.
-
Wenn
keine solche Webdienstantwort empfangen wird, bevor die Time-Out-Bedingung eintritt,
wird bestimmt, ob es noch einen weiteren alternativen Webdienst
gibt (Schritt 410). Diese Bestimmung kann durchgeführt werden,
indem der gegenwärtige
Wert des Index i mit dem Wert I der Anzahl der alternativen Webdienste
der Liste von alternativen Webdiensten verglichen wird.
-
Wenn
ein weiterer alternativer Webdienst verfügbar ist, setzt sich die Kontrolle
in Schritt 412 fort, wo der Index i erhöht wird. Von dort geht die
Kontrolle zurück
zu Schritt 404, wo eine erneute Webdienstanfrage erzeugt
und an den alternativen Webdienst i versendet wird. Die neue Webdienstanfrage
wird in Übereinstimmung
mit der WSDL-Beschreibung des alternativen Webdienstes erzeugt.
-
Wenn
in Schritt 410 bestimmt wird, dass alle alternativen Webdienste
bereits ausprobiert wurden und somit alle alternativen Webdienste
gegenwärtig
nicht verfügbar
sind, so geht die Kontrolle von Schritt 410 zu Schritt 406,
um eine Offline-Version
der angefragten Information aufgrund der Tatsache, dass keiner der
Webdienste verfügbar
ist, zu erhalten. Eine Nichtverfügbarkeit
eines Webdienstes kann durch verschiedene Gründe, wie einen Serverausfall,
begründet
sein.
-
5 zeigt
eine alternative Ausführungsform
eines mobilen Terminals. Elemente der Ausführungsform der 5,
welche Elementen der Ausführungsformen
der 1 und 3 entsprechen, sind durch ähnliche
Bezugszeichen gekennzeichnet.
-
Das
mobile Terminal 514 weist eine Aktualisierungskomponente 548 auf.
Die Aktualisierungskomponente 548 empfängt die Statusinformation 524 von
dem drahtlosen Interface 522. Die Statusinformation 524 gibt
an, wann sich das mobile Terminal 514 innerhalb eines Netzwerkabdeckungsgebietes
befindet. Zusätzlich kann
die Statusinformation 524 die gegenwärtig nicht verwendete Daten-Übertragungskapazität auf dem
Kommunikationskanal, welcher durch das drahtlose Netzwerk 500 für das mobile
Terminal 514 zur Verfügung
gestellt wird, angeben.
-
Wenn
die Statusinformation 524, welche von der Aktualisierungskomponente 548 empfangen
wurde, angibt, dass sich das mobile Terminal 514 innerhalb
eines Netzwerkabdeckungsgebietes befindet, liest die Aktualisierungskomponente 548 eine
vordefinierte Webdienstanfrage 534 aus dem Speicher 526 aus
und sendet die Webdienstanfrage 534 an den Webdienst 510 über das
drahtlose Interface 522 und das drahtlose Netzwerk 500.
Als Antwort darauf gibt der Webdienst 510 seine Webdienstantwort 516 zurück, welche
durch die Aktualisierungskomponente 548 mittels des drahtlosen
Interfaces 522 empfangen wird.
-
Die
Webdienstantwort 536 enthält eine Online-Version der
Information 512. Die Aktualisierungskomponente 548 liest
die Online-Version der Information 512 von der Webdienstantwort 516 und überschreibt
die Offline-Version der Information 528 mittels der aktuellsten
Online-Version der Information 512.
-
Bevorzugterweise
wird die Aktualisierungsoperation durchgeführt, wenn die Statusinformation 524 nicht
nur Netzwerkverfügbarkeit
anzeigt, sondern ebenso eine geringe Benutzung der verfügbaren Datenübertragungskapazität. Dies
verhindert eine Verzögerung
der Übertragung
von Benutzerdaten während
dem Durchführen
der Aktualisierungsoperation.
-
6 zeigt
ein Flussdiagramm, welches die Aktualisierungsinformation illustriert.
-
In
Schritt 600 wird eine Offline-Version der Information in
einem lokalen Speicher des mobilen Terminals gespeichert. Die Offline-Version
der Information wird verwendet, wenn eine Anwendungsprogrammkomponente
die Information benötigt
und wenn keine Netzwerkabdeckung und/oder keine Verfügbarkeit
eines entsprechenden Webdienstes, welcher eine Online-Version der
Information zur Verfügung
stellen könnte,
vorliegt.
-
Häufiges Aktualisieren
der Offline-Version der Information ist nützlich, da es ermöglicht,
eine relativ aktuelle Version der angeforderten Information dem
anfordernden Anwendungsprogramm zur Verfügung zu stellen, selbst wenn
keine Netzwerkabdeckung vorliegt und/oder kein Webdienst verfügbar ist.
-
In
Schritt 602 wird bestimmt, ob sich das mobile Terminal
innerhalb der Netzwerkabdeckung befindet. Wenn dies nicht der Fall
ist, ist keine Aktualisierungsoperation möglich und Schritt 602 wird
wiederholt ausgeführt,
bis sich das mobile Terminal innerhalb der Netzwerkabdeckung befindet.
-
In
Schritt 604 wird überprüft, ob es
unbenutzte Datenübertragungskapazitäten gibt,
das heißt
unbenutzte Bandbreite auf dem Kommunikationskanal, welche durch
das drahtlose Netzwerk für
das mobile Terminal hergestellt wurde. Wenn keine ungenutzte Bandbreite
verfügbar
ist, übergibt
die Kontrolle an Schritt 604 zurück, bis eine unbenutzte Bandbreite
verfügbar
wird.
-
In
Schritt
606 wird eine Webdienstanfrage an den Webdienst
gesendet, um eine aktuelle Online-Version der Information zu erhalten.
In Schritt
608 wird die Online-Version der Information als eine Webdienstantwort
empfangen. Die Offline-Version der Information, welche durch das
mobile Terminal gespeichert war, wird durch die Online-Version,
welche in Schritt
608 empfangen wurde, überschrieben (Schritt
610).
Nach Schritt
610 wird mit Schritt
600 fortgefahren. Bezugszeichenliste:
100 | Drahtloses
Netzwerk |
102 | Zelle |
104 | Zelle |
106 | Zelle |
108 | Zelle |
110 | Webdienst |
112 | Information |
114 | Mobiles
Terminal |
116 | Anwendungsprogrammkomponente |
118 | Dienstanfrage |
120 | Anfragenverarbeitungskomponente |
122 | Drahtloses
Interface |
124 | Statusinformation |
126 | Speicher |
128 | Information |
130 | Zeitgeber |
132 | Ortungskomponente |
134 | Webdienstanfrage |
136 | Webdienstantwort |
138 | Örtlichkeit |
140 | Zugriffsanfrage |
300 | Drahtloses
Netzwerk |
310 | Alternativer
Webdienst |
312 | Information |
314 | Mobiles
Terminal |
316 | Anwendungsprogrammkomponente |
318 | Dienstanfrage |
320 | Anfragenverarbeitungskomponente |
322 | Drahtloses
Interface |
324 | Statusinformation |
326 | Speicher |
328 | Information |
330 | Zeitgeber |
334 | Webdienstanfrage |
340 | Zugriffsanfrage |
342 | Prioritisierte
Liste |
344 | Time-Out-Komponente |
346 | UDDI |
500 | Drahtloses
Netzwerk |
510 | Webdienst |
512 | Information |
514 | Mobiles
Terminal |
516 | Anwendungsprogrammkomponente |
518 | Dienstanfrage |
520 | Anfragenverarbeitungskomponente |
522 | Drahtloses
Interface |
524 | Statusinformation |
526 | Speicher |
528 | Information |
534 | Webdienstanfrage |
536 | Webdienstantwort |
540 | Zugriffsanfrage |
548 | Aktualisierungskomponente |