-
Gebiet der Erfindung
-
Diese
Erfindung betrifft im Allgemeinen eine mobile Kommunikation und
insbesondere ein Vorsehen eines Zugangs zu entfernten Daten von
mobilen Kommunikationsvorrichtungen.
-
Beschreibung des Standes der
Technik
-
Bekannte
Lösungen
zum Vorsehen eines Zugangs zu Daten unter Verwendung von mobilen
Kommunikationsvorrichtungen neigen dazu, relativ begrenzt zu sein.
Zum Beispiel sehen drahtlose Anwendungsprotokoll (WAP – wireless
application protocol)-Browser für
mobile Vorrichtungen typischerweise einen Zugang nur für Information
vor, die zu WAP-kompatiblen Quellen gehören. Obwohl andere bekannte
und ähnliche
Produkte einem Benutzer einer mobilen Vorrichtung ermöglichen
können,
auf weitere Informationsquellen zuzugreifen, machen derartige Produkte
im Allgemeinen keinen effizienten Gebrauch von den mobilen Kommunikations-Netzwerkressourcen,
insbesondere von drahtlosen Kommunikationsverbindungen, und erfordern
oft Prozessor-intensive Operationen, wie ein Parsen bzw. Verarbeiten
von Information, die an der Vorrichtung ausgeführt werden.
-
Außerdem sind
die meisten bekannten Datensysteme und Verfahren nicht geeignet,
um einen wirklich sicheren Zugang zu vertraulicher Information vorzusehen,
die auf privaten Netzwerken gespeichert ist, wie eine Firmeninformation,
die sich in einem Datenspeicher hinter einer Sicherheits-Firewall
befindet.
-
EP 0 992 922 A2 beschreibt
Browser-Proxies, die Bildobjekte transformieren, die in angeforderten Webseiten
eingebettet sind. Das Dokument beschreibt ein System, um einem Proxy
zu ermöglichen,
einen Qualitäts-Größe-Kompromiss
auf einer pro-Bild und/oder einer pro-Client-Basis anzupassen. Das
Bildtransformationsmodul nimmt ein Datenobjekt in einer Webseite
und wandelt es in ein Objekt mit niedriger Auflösung zur Anzeige auf einem
kleinen Bildschirm.
-
CC/PP
Attribute Vokabularies, W3C Working Draft; 21. Juli 2000, XP 2218349
beschreibt CC/PP (Composite Capabilities/Preference Profiles)-Vokabularien.
Das Dokument betrifft Vokabularien, die verwendet werden, um die
Attribute von Clients zu beschreiben und Proxies, die Inhaltsadaptierungsmöglichkeiten
anbieten. Das Dokument enthält
einen Überblick über Anforderungsverarbeitung
in HTTP, das einen Proxy verwenden kann.
-
ZUSAMMENFASSUNG
-
Die
Erfindung ist definiert durch die unabhängigen Ansprüche.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein allgemeines Blockdiagramm eines Kommunikationssystems, das einen
Zugang zu einer entfernten Informationsquelle von einer mobilen
Kommunikationsvorrichtung vorsieht.
-
2 ist
ein detaillierteres Blockdiagramm des Systems, das in der 1 gezeigt
wird.
-
3 ist
cm ein Flussdiagramm, das allgemeine Verbindungshandhabungs-bezogene
Operationen in dem System darstellt.
-
4 ist
ein Flussdiagramm von Verbindungshandhabungs-Daten-Verarbeitungs-Operationen.
-
5 ist
ein Signal-Flussdiagramm, das die Erweiterung von akzeptierten Inhaltstypen
durch eine HTTP-Verbindungshandhabungsvorrichtung basierend auf
verfügbaren
Transcodierern zeigt.
-
6 ist
ein Signal-Flussdiagramm, das mehrere Transcodier-Operationen für eine HTTP-Operation zeigt.
-
7 ist
ein allgemeines Blockdiagramm eines Kommunikationssystems mit einem
externen Transcodierersystem.
-
8 ist
ein Signal-Flussdiagramm, das eine beispielhafte HTTP-Operation
für ein
externes Transcodierersystem darstellt, wie in der 7 gezeigt.
-
9 zeigt
ein weiteres Signal-Flussdiagramm für ein externes Transcodierersystem.
-
10 ist
ein Blockdiagramm eines Kommunikationssystems mit einem externen
Transcodierersystem und einem externen Verbindungshandhabungssystem.
-
11 ist
ein beispielhaftes Signal-Flussdiagramm für das System von 10.
-
12 ist
ein Signal-Flussdiagramm, das eine Übertragung einer Informationsanforderung
an eine externe Verbindungshandhabungsvorrichtung zeigt.
-
13 ist
ein Signal-Flussdiagramm, das eine Variation der Anforderungsübergabe
von 12 zeigt.
-
14 ist
ein Signal-Flussdiagramm, das eine Übergabe (handoff) einer Anforderung
an eine externe Verbindungshandhabungsvorrichtung zeigt.
-
15 ist
ein Blockdiagramm, das ein IP-Proxy-System zeigt, das in einem sicheren
Netzwerk implementiert ist.
-
16 ist
ein Signal-Flussdiagramm, das eine Firmen-Daten-Zugangsoperation
zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
Allgemeine Systembeschreibung
-
1 ist
ein allgemeines Blockdiagramm eines Kommunikationssystems 10,
das einen Zugang zu einer entfernten Informationsquelle 20 von
einer drahtlosen mobilen Kommunikationsvorrichtung („mobile
Vorrichtung") 12 vorsieht.
In der 1 umfasst das System 10 eine mobile Vorrichtung 12,
ein drahtloses Netzwerk 14, ein Gateway 15, ein
Weitbereichsnetzwerk (WAN – wide
area network) 16, ein Internet-Protokoll(IP)-Proxy-System 18 und
eine Informationsquelle 20. Obwohl ein IP-Proxy-System 18 in
dem illustrativen Beispielsystem der 1 gezeigt wird,
können
auch Proxy-Systeme für
von IP unterschiedliche Protokolle gemäß den hier beschriebenen Systemen
und Verfahren implementiert werden. Protokolle auf anderen Ebenen in
dem OSI(Open Systems Interconnection)-Modell können ebenfalls eine Proxy-Verarbeitung
erhalten (proxied) unter Verwendung dieser Systeme und Verfahren.
Derartige andere Protokolle umfassen HTTP (Hyper Text Transport
Protocol) und TCP (Transmission Control Protokol), sind aber nicht
darauf beschränkt.
-
Die
mobile Vorrichtung 12 kann jede mobile Kommunikationsvorrichtung
sein, die angepasst ist, um in einem drahtlosen Kommunikationsnetzwerk 14 zu
funktionieren und ist vorzugsweise eine Zweiweg-Kommunikationsvorrichtung.
Die mobile Vorrichtung 12 kann Sprach- und Datenkommunikationsfähigkeiten
haben. Abhängig
von der Funktionalität,
die von der mobilen Vorrichtung 12 vorgesehen wird, kann
die mobile Vorrichtung 12 als eine Daten-Messaging-Vorrichtung, ein
Zweiwegpager, ein zellulares Telefon mit Daten-Messaging-Fähigkeiten, eine drahtloses
Internet-Vorrichtung oder eine Datenkommunikationsvorrichtung (mit
oder ohne Telefoniefähigkeiten)
bezeichnet werden. Wie für
Fachleute in dem Kommunikationsbereich offensichtlich ist, ist die
bestimmte Gestaltung eines Kommunikationsteilsystems in der mobilen
Vorrichtung 12 von dem Kommunikationsnetzwerk 14 abhängig, in
dem die mobile Vorrichtung 12 funktionieren soll. Zum Beispiel
kann eine mobile Vorrichtung 12, die für einen nordamerikanischen
Markt bestimmt ist, ein Kommunikations-Teilsystem umfassen, das
ausgebildet ist, um in dem mobilen Mobitex-Kommunikationssystem
oder in dem mobilen DataTACTM–Kommunikationssystem
zu funktionieren, während
eine mobile Vorrichtung 12, die zur Verwendung in Europa
bestimmt ist, ein GPRS(General Packet Radio Dienst)-Kommunikations-Teilsystem
enthalten kann. Für
Fachleute ist auch offensichtlich, dass andere Typen von mobilen
Vorrichtungen und Netzwerken ebenfalls in Betracht gezogen werden.
Die Systeme und Verfahren, die hier beschrieben werden, können in Verbindung
mit praktisch jedem drahtlosen Netzwerk 14 implementiert
werden.
-
Das
in der 1 gezeigte Gateway 15 liefert eine Schnittstelle
zwischen dem drahtlosen Netzwerk 14 und einem WAN 16,
das zum Beispiel das Internet sein kann. Derartige Funktionen, wie
Adressierung der Vorrichtung, Umwandlung von Daten zwischen WAN-Protokollen
und drahtlosen Netzwerkprotokollen, Speichern und Weiterleiten von
Daten an die und von der mobilen Vorrichtung 12 und andere
Schnittstellen-Funktionen können
durch das Gateway 15 durchgeführt werden.
-
Es
ist auch möglich,
dass ein IP-Proxy von einem Netzwerk-Träger/-Betreiber gehostet werden
kann, der zu dem drahtlosen Netzwerk 14 gehört. In diesem
Fall verwendet die Verbindung zwischen dem IP-Proxy 18 und
dem Gateway 15 ein privates Netzwerk des Trägers anstelle
des WANs 16. Das WAN 16 wird dann benutzt, um
zwischen dem IP-Proxy 18 und der Informationsquelle 20 zu
kommunizieren.
-
Der
IP-Proxy 18 ist ein System, das tatsächlich die mobile Vorrichtung 12 mit
einem Zugang zu der Informationsquelle 20 versieht, und
wird detaillierter im Folgenden beschrieben. Durch den IP-Proxy 18 kann die
mobile Vorrichtung 12 auf jede Informationsquelle 20,
wie das Internet oder ein Webserver, zugreifen, die mit dem IP-Proxy 18 kommunizieren
kann. Die Informationsquelle 20 erfordert folglich keine
speziellen Anwendungen oder Protokollunterstützung für eine drahtlose Netzwerk-Kommunikation,
da sie mit dem IP-Proxy 18 kommuniziert und nicht direkt
mit der mobilen Vorrichtung 12. Obwohl in der 1 als
direkte Verbindung gezeigt, können
der IP-Proxy 18 und die Informationsquelle 20 auch
durch ein Netzwerk kommunizieren, wie ein lokales Netzwerk (LAN – local
area network) oder ein WAN, einschließlich dem Internet.
-
Drahtlose
Netzwerke und das Internet verwenden ähnliche Adressierungsschemen,
in denen Empfänger,
wie mobile Vorrichtungen in einem drahtlosen Netzwerk oder Internet-verbundene
Computer, durch numerische Adressen identifiziert werden. Zum Beispiel
werden mobile Vorrichtungen in dem Mobitex-Netzwerk unter Verwendung einer Mobitex-Zugangsnummer
(MAN – Mobitex
Access Number) identifiziert und öffentliche Internet-Knoten
werden unter Verwendung eines IP-Adress-Schemas identifiziert. Jedoch
verhindern Unterschiede zwischen drahtlosen Netzwerk- und Internet-Transportmechanismen
eine direkte Kommunikation zwischen Informationsquellen 20,
von denen die meisten Internet-basiert sind, und mobilen Vorrichtungen 12. Ferner
zielt ein Informationsquelleninhalt größtenteils auf Desktop- oder
andere Computersysteme mit relativ leistungsfähigen Prozessoren ab und kann
erfordern, dass Prozessor-intensive Operationen, wie ein Informations-Parsing,
von einem Empfänger
durchgeführt
werden. Da mobile Vorrichtungen dazu neigen, weniger leistungsfähige Prozessoren
zu haben, dauern diese Operationen auf derartigen mobilen Vorrichtungen
langer als auf Computersystemen und können signifikante Mengen an
Energie von normalerweise begrenzten Energiequellen verbrauchen.
Der IP-Proxy 18 überbrückt den
Abstand zwischen Internet-basierten und möglicherweise anderen Informationsquellen 20 und
einem drahtlosen Netzwerk 14 mit zugehörigen mobilen Vorrichtungen 12.
Diese Dienste, die von dem IP-Proxy 18 unterstützt werden,
können
zum Beispiel ein Adress-Mapping, Inhaltstransformation und -verifizierung
und Protokoll-Mapping und -Optimierung umfassen.
-
Detaillierte Beschreibung
des IP-Proxys
-
2 ist
ein detaillierteres Blockdiagramm des IP-Proxys 18, der
in der 1 gezeigt wird. Der IP-Proxy 18 kann
einen Dispatcher 22, eine TCP(Transmission Control Protocol)-Handhabungsvorrichtung (handler) 24,
eine HTTP(Hyper Text Transport Protokol)-Handhabungsvorrichtung 26,
ein Transcodiersystem 28, einen oder mehrere Verschiebedienst(e)
(push services), allgemein mit 30 bezeichnet, ein Zustandsbeständigkeitselement
(state persistence element) 34, ein Überwa chungssystem 36 und
ein Protokollierungs(logging)-System 38 umfassen. 2 zeigt
auch einen Verschiebe(push)-Server 42, einen Web-Server 46,
einen Web-Browser 48 und
ein Dateisystem 40, mit dem der IP-Proxy 18 gelegentlich
interagieren kann. Viele der Komponenten, die in der 2 gezeigt
werden, können
primär
als Computer-Software-Module implementiert werden. Elemente in dem
IP-Proxy 18 laufen typischerweise auf dem gleichen Computer,
während Komponenten,
die zu dem IP-Proxy 18 extern sind, sich normalerweise
auf anderen Computern befinden. In einer alternativen Implementierung
können
die Elemente eines IP-Proxys 18 stattdessen auf einer Gruppe
von Computer verteilt sein, die über
ein Netzwerk verteilt sind.
-
Der
Dispatcher 22 verwaltet Datenflüsse und die Verbindung zu dem
Gateway 15. Abhängig
von dem Typ der Verbindung oder dem Typ der Daten, die übertragen
werden, oder zum Beispiel der durchgeführten Datentransaktion interagiert
der Dispatcher 22 mit der TCP-Handhabungsvorrichtung 24 oder
der HTTP-Handhabungsvorrichtung 26.
Das Transcodiersystem 28 weist einen oder mehrere Datenfilter
auf, von denen jeder Daten oder eine andere Information von einem
Format in ein Format umwandelt, das durch eine mobile Vorrichtung 12 verarbeitet
werden kann.
-
Die
Verschiebedienste 30 sehen eine Übertragung einer „nicht
angeforderten" Information
von einer Informationsquelle, wie dem Verschiebe-Server 42,
der zum Beispiel ein Web-Server oder eine Software-Anwendung sein
kann, an eine mobile Vorrichtung 12 durch den IP-Proxy 18 vor.
Die Verschiebedienst-Komponente 30 ermöglicht dem
Verschiebeserver 42, die mobile Vorrichtung 12 unter
Verwendung zum Beispiel der Email-Adresse des Besitzers der mobilen
Vorrichtung oder einem anderen geeigneten Label zu adressieren. Demgemäß muss der
Verschiebeserver 42 die Adresse der mobilen Vorrichtung 12 in
dem drahtlosen Netzwerk 14 nicht kennen.
-
Das
Zustandsbeständigkeitselement 34,
in Verbindung mit einem Datendateisystem 40 oder einer
Datenbank, ermöglicht
eine Verwaltung von Cookies, Passwörtern und möglicherweise anderer Zustandsinformation,
die zu Web-Servern 46 gehört, mit denen sich der IP-Proxy 18 verbinden
kann. Es speichert vorzugsweise eine Zustandsinformation über eine
Verbindung, die zwischen diskreten Netzwerkpaketen fortbesteht,
wie ein HTTP-Anforderungs/Antwort-Paar. Das Überwachungssystem 36 ermöglicht eine
entfernte Überwachung
der Leistung, der Effizienz, der Verwendung und der „Gesundheit" bzw. des Zustands
eines IP-Proxys 18 durch einen
Administrator über
eine Schnittstelle, wie einem Web-browser 48. Wie sein Name andeutet,
kann das Protokollierungs-System 38 konfiguriert werden,
um Verwendung, Verbindung, Benutzerstatistiken und Ähnliches
in dem Dateisystem 40 oder einem anderen sekundären Speicher
zu speichern.
-
Verbindungen und Handhabungs- bzw. Handler-Vorrichtungen
-
Der
IP-Proxy 18 kann vorzugsweise einen Inhalt von verschiedenen
Informationsquellen 20 handhaben und verarbeiten, einschließlich Internet-basierter
Quellen. Diese Funktionalität
wird durch Verbindungshandhabungsvorrichtungen bzw. Connection-Handler
vorgesehen, die dazwischenliegende Objekte sind, welche die Fähigkeit
haben, Inhalt von Verbindungen an einen und von einem IP-Proxy 18 zu
verarbeiten. In dem IP-Proxy 18, der in der 2 gezeigt
wird, werden zwei derartige Handhabungsvorrichtungen, die TCP-Handhabungsvorrichtung 24 und
die HTTP-Handhabungsvorrichtung 26, gezeigt. Diese Handhabungsvorrichtungen
können
vorzugsweise ersetzt und kundenspezifisch angepasst werden oder
zusätzliche
Handhabungsvorrichtungen können
vorzugsweise zu einem IP-Proxy 18 hinzugefügt werden,
wie erforderlich. Die Verbindungshandhabungsvorrichtungen können nicht
nur den Inhalt, sondern auch das Protokoll optimieren. Zum Beispiel
können
einige Anforderungen, die normalerweise an die mobile Vorrichtung 12 gesendet
würden
(wie eine Anforderung für
ein Passwort), von der Ver bindungshandhabungsvorrichtung aufgelöst werden,
wenn angeforderte Daten in dem Dateisystem 40 oder einem
anderen Speicher gespeichert werden, auf den die Verbindungshandhabungsvorrichtung
zugreifen kann, zum Beispiel durch das Zustandsbeständigkeitselement 34.
Dieser Fall einer Protokolloptimierung kann so genannte „schwatzhafte
(chatty)" Protokolle
anpassen, um besser drahtlos geeignet zu sein, durch Reduzierung
der Menge von Verkehr, die über
ein drahtloses Netzwerk an eine mobile Vorrichtung gesendet wird,
wodurch die Effekte von Bandbreitenbegrenzungen von drahtlosen Netzwerken
und eine Latenz reduziert werden.
-
Abgehende
Verbindungen werden von den mobilen Vorrichtungen 12 hergestellt,
um Daten an andere Entitäten,
Internet-Knoten, zu senden oder Daten von anderen Entitäten, wie
Internet-Knoten, zu empfangen. Der IP-Proxy 18 empfängt vorzugsweise
Verbindungsanforderungen von mobilen Vorrichtungen 12 unter
Verwendung eines bestimmten Protokolls, wie eines proprtetären Protokolls,
als IP-Proxy-Protokoll
oder IPPP bezeichnet, das von der Anmelderin der vorliegenden Anmeldung
entwickelt wurde. Auch andere Protokolle können verwendet werden. Der
IP-Proxy 18 stellt dann eine Internet-Verbindung her, gemäß einer
Protokoll- und Routing-Information,
die von der mobilen Vorrichtung 12 vorgesehen wird in der
Verbindungsanforderung, und übersetzt
und bildet diese Verbindung ab, um mit der Weiterleitung von Daten
in beide Richtungen zu beginnen. Ein Datenfilter- oder Transcodier-Prozess
wird aufgerufen, wann immer erforderlich, basierend zum Beispiel
auf dem Typ des Inhalts, der über
die Verbindung geleitet wird. Derartige abgehende Verbindungen werden
im Folgenden detaillierter beschrieben im Kontext von Web-Browsing-Operationen.
-
Ankommende
Verbindungen werden zum Beispiel verwendet, um ein Daten-Verschiebe-Modell
zu implementieren. In diesem Modell kann einer mobilen Vorrichtung 12 eine
Information gesendet werden, ohne dass diese Anforderungen ausgegeben
hat, die Information abzurufen, wie es der Fall bei abgehenden Verbindungen
ist. Wie kurz oben beschrieben wurde, können mobile Vorrichtungen 12 auf
einer anderen Netzwerk-Domain als Internet-Knoten existieren. Der
IP-Proxy 18 ist zur Überbrückung des
Internets und drahtloser Netzwerk-Domains verantwortlich. Somit
erfordert der IP-Proxy 18 eine bestimmte Routing-Information, um den
Verkehr an eine bestimmte mobile Vorrichtung 12 zu leiten.
In einer Verschiebe-Operation muss zumindest ein Teil dieser Routing-Information von dem
Internet-Knoten vorgesehen werden, wie dem Verschiebeserver 42,
der die Anforderung ausgibt, eine eingehende Verbindung herzustellen.
Der IP-Proxy 18 kann allgemein bekannte Adressierungsschemen,
wie Email oder IP-Nummern, in die geeignete drahtlose Netzwerkadresse einer
beabsichtigten mobilen Empfänger-Vorrichtung 12 umwandeln.
-
Verbindungshandhabungsvorrichtungen
in einem IP-Proxy 18 sind Strom-basierte Objekte. Wenn
eine abgehende oder eingehende Verbindung verlangt wird, wird ein
virtueller geleiteter (piped) Strom (stream) zwischen einer mobilen
Vorrichtung 12 und der geeigneten Verbindungshandhabungsvorrichtung
hergestellt. Die Verbindungshandhabungsvorrichtung wird instantiiert
und gestartet, um den Inhalt für
die aufgebaute Verbindung zu verarbeiten. Ein Laden der Verbindungshandhabungsvorrichtung
basiert auf einer Verbindungsanforderung, die vorzugsweise eine
Referenz auf einen geeigneten Handhabungsvorrichtungsnamen enthält, der normalerweise
den Typ des Verkehrs andeutet, der normalerweise durch den virtuellen
geleiteten Strom geht, und die Position der Handhabungsvorrichtung,
die geladen werden muss, wenn sie nicht bereits geladen ist. Die
Funktionen der Verbindungshandhabungsvorrichtungen umfassen eine
Abbildung (mapping) von Verbindungen des Internets oder von anderen
Informationsquellenseiten und Verbindungen der mobilen Vorrichtung, ein
Weiterleiten von Verkehr zwischen diesen Verbindungen und ein Laden
und Aufrufen der geeigneten Transcodierer für Information, die für eine mobile
Vorrichtung bestimmt ist.
-
Jede
Verbindung gehört
vorzugsweise zu einer Instanz einer Verbindungshandhabungsvorrichtung. Dies
gilt sogar für
eine Verbindung, die nicht erfordert, dass ein Inhalt durch den
IP-Proxy 18 verarbeitet wird, wie eine reine TCP-Verbindung
zwischen einer mobilen Vorrichtung und einem Server. Dieser Typ
der Verbindungshandhabungsvorrichtung leitet einen Inhalt vorwärts und
zurück,
ohne eine Modifikation des Inhalts zu machen, obwohl sie Modifikationen
des Protokolls machen kann. Zu Zwecken der Klarheit unterscheiden Fachleute
zwischen Daten oder Inhalt (was die mobile Vorrichtung angefordert
hat oder gesendet wird) und dem Protokoll (die „Verpackungen" und Umwandlungen,
die erforderlich sind, um die Daten zu liefern).
-
Verbindungshandhabungsvorrichtungen
sind auch für
das Laden der geeigneten Inhalts-Filter oder Transcodierer verantwortlich.
In dem obigen Beispiel verwendet, wenn der Webserver 46 zum
Beispiel einen HTML (Hyper Text Markup Language)-Inhalt zurücksendet,
die HTTP-Verbindungshandhabungsvorrichtung 26 einen HTML-Transcodierer
in dem Transcodierersystem 28, wenn die mobile Vorrichtung
keinen HTML-Inhalt akzeptieren kann,
-
3 ist
ein Flussdiagramm, das allgemeine Verbindungshandhabungsvorrichtungs-bezogene
Operationen in einem IP-Proxy 18 darstellt. In Schritt 50 empfängt das
IP-Proxy-System 18 eine Verbindungsanforderung, die, wie
oben beschrieben, eine eingehende Verbindung oder eine abgehende
Verbindung betreffen kann. Wenn die Verbindung zu einer bestimmten
Handhabungsvorrichtung gehört,
wie eine HTTP-Verbindung, welche die HTTP-Verbindungshandhabungsvorrichtung 26 erfordert,
wird die geeignete Handhabungsvorrichtung geladen und ausgeführt in Schritt 54 und
die Verbindung wird hergestellt, wie in Schritt 58 gezeigt.
Wenn die Anforderung (von der mobilen Vorrichtung 12) abgehend
ist, dann überprüft der Dispatcher 22 den
Protokolltyp, der zu der Verbindungsanforderung gehört, und
delegiert die Verbindung an die geeignete Handhabungsvorrichtung.
Daten können
dann zwischen einer mobilen Vorrichtung 12 und einem Internet-Dienst,
einem Verschiebeserver 42, einem Web-Server 46 oder
einer anderen Informationsquelle 20 ausgetauscht werden.
-
Wenn
bestimmte Verbindungshandhabungsvorrichtungen für eine Verbindung verwendet
werden, wie für
eine reine TCP-Verbindung, wie oben beschrieben, dann können die
Daten unverändert
durch das IP-Proxy-System 18 gehen. In einigen IP-Proxy-Systemen
jedoch kann ein Inhalt, der über
eine TCP-Handhabungsvorrichtung
gesendet wird, modifiziert werden. Wenn jedoch andere Verbindungshandhabungsvorrichtungen verwendet
werden, müssen
Daten, die für
eine mobile Vorrichtung 12 bestimmt sind, möglicherweise
in einen geeigneten endgültigen
Inhalt umgewandelt werden.
-
4 ist
ein Flussdiagramm von Verbindungshandhabungsvorrichtungs-Datenverarbeitungs-Operationen.
In Schritt 62 werden Daten, die für eine mobile Vorrichtung 12 bestimmt
sind, empfangen. Obwohl als eine Antwort von einer Verbindung bezeichnet,
nachfolgend auf eine Informationsanforderung von einer mobilen Vorrichtung 12 zum
Beispiel, sollte angemerkt werden, dass die Daten, die von der Verbindungshandhabungsvorrichtung
empfangen werden, stattdessen eine Information sein kann, die an
die mobile Vorrichtung 12 von einem Verschiebeserver, wie 42, über einen
Verschiebedienst 30 zu verschieben ist. Basierend auf dem Typ
von in Schritt 62 empfangenen Daten, stellt die Verbindungshandhabungsvorrichtung
in Schritt 64 fest, ob eine Transcodierung erforderlich
ist. Wenn nicht, dann wird in Schritt 70 die Information
an die mobile Vorrichtung gesendet. Andernfalls wird der geeignete
Transcodierer in Schritt 66 geladen und ausgeführt. Die
Daten werden in ein akzeptables Format in Schritt 68 transcodiert,
bevor sie an die mobile Vorrichtung 12 in Schritt 70 gesendet
werden, wie detaillierter im Folgenden beschrieben wird. Die Entität, welche
die Kommunikation initiiert, die mobile Vorrichtung 12 für geholte
Daten oder der Verschiebeserver 42 für verschobene Daten, kann vorzugsweise
stattdessen einen spezifi schen Transcodierer anfordern, um die Transcodierung
der geholten oder verschobenen Daten durchzuführen.
-
Eine
Verbindungshandhabungsvorrichtung kann in der Computer-Software
als eine JavaTM-Klassen-Datei implementiert
werden, platziert in einem bestimmten Verzeichnis in einem Dateisystem,
so dass eine IP-Proxy-Java-virtuelle-Maschine (VM – virtual
machine) die Datei lokalisieren und laden kann, wenn erforderlich
oder angefordert. Wie für
Fachleute offensichtlich ist, verwendet Java eine CLASSPATH-Umgebungsvariable
als eine Führung,
wo es eine Suche nach Benutzer-definierten Klassen durchführen soll.
In einem Ausführungsbeispiel
sind Pfade (paths) zu Verbindungshandhabungsvorrichtungen unter
den ersten aufgeführten Pfaden
in dem CLASSPATH, so dass sie relativ schnell geladen werden, wenn
angefordert. Die Verbindungsrichtung (eingehend oder abgehend) und
der Name, der zu einer Verbindungshandhabungsvorrichtung gehört, können auch
eine Rolle spielen bei der Definition des vollständigen Klassennamens einer
Handhabungsvorrichtung. Für
Fachleute ist offensichtlich, dass dasselbe Schema unter Verwendung
von DLLS (dynamic linked libraries) oder DSOs (dynamic shared objects)
implementiert werden können
abhängig
von dem Zielbetriebssystem.
-
Verbindungshandhabungsvorrichtungen
können
zu einem Namen gehören,
der ein Protokoll an der Anwendungsschicht darstellt. Wenn zum Beispiel
eine mobile Vorrichtung
12 mit einem Web-Browser aktiviert ist
und folglich anfordern kann, eine Verbindung zu einem Internet-Server,
wie
46, zu öffnen,
ist es angebracht, HTTP als einen Namen für diese Verbindungshandhabungsvorrichtung
zu haben, wie mit der Verbindungshandhabungsvorrichtung
26 gezeigt
wird. Der Name der Handhabungsvorrichtung kann die bekannten Regeln der
Namengebung von Paketen in der Java-Sprache einhalten. Vorzugsweise
ist der Name der Handhabungsvorrichtung in Kleinschreibung; jedoch
ist es von dem Standpunkt eines IP-Proxys her egal, solange die Java-VM
diese Verbindungshandhabungsvorrichtung laden kann. Eine Verbindungshandhabungsvorrichtung kann
ihren Klassennamen auch als Handler.class haben. Ein Beispiel eines
gültigen
vollständigen
Klassennamens, der eine Verbindungshandhabungsvorrichtung darstellt,
ist wie folgt:
wobei
eine Verbindungsrichtung eine Vorrichtung sein kann, die eine abgehende
Verbindung impliziert, oder ein Server, der eine eingehende Verbindung
impliziert. Der Name der Verbindungshandhabungsvorrichtung ist der
Name, der zu der Handhabungsvorrichtung gehört, zum Beispiel, http, ftp,
usw.
-
Es
gibt zumindest zwei Arten, wie eine Informationsquelle, wie ein
Internet-Knoten,
eine Verbindung mit einer mobilen Vorrichtung 12 herstellen
kann durch das beispielhafte IP-Proxy-System 18, das in
der 2 gezeigt wird: (1) die Verwendung eines Transportschichtprotokolls
direkt, wie TCP, um eine direkte Verbindung zu dem IP-Proxy 18 zu öffnen, oder
(2) die Verwendung eines Datagrammprotokolls an der Anwendungsschicht,
wie HTTP. Das IP-Proxy-System 18 umfasst
zwei entsprechende Verbindungshandhabungsvorrichtungen, die zum
Beispiel ein grundlegendes IP-Proxy-System 18 darstellen
können,
das zwei der verbreitetsten Typen von Verbindungen verarbeiten kann.
Die erste ist die TCP-Verbindungshandhabungsvorrichtung 24, die
zum Beispiel zu dem Namen tcp gehört. Die zweite ist die HTTP-Verbindungshandhabungsvorrichtung 26, die ähnlich zu
dem Namen http gehören
kann, wie oben beschrieben. Zusätzlich
zur Unterstützung
allgemeiner Verbindungstypen erfüllen
diese Verbindungshandhabungsvorrichtungen auch Anforderungen für eine MIDP(Mobile
Information Device Profile)-Implementierung an der mobilen Vorrichtung 12.
Jedoch können
der IP-Proxy 18 und die mobile Vorrichtung 12 erweitert
werden, um andere Typen von Verbindungen zu unterstützen. In
dem IP-Proxy 18 können
Verbindungshandhabungsvorrichtungen möglicherweise hinzugefügt werden durch
Vorsehen einer Anwendungsprogrammschnittstelle (API – application programming
interface) in dem IP-Proxy-System 18 und Entwickeln neuer
Verbindungshandhabungsvorrichtungen, die zum Beispiel der API entsprechen.
-
In
einem Ausführungsbeispiel
werden Verbindungshandhabungsvorrichtungen in dem IP-Proxy 18 aus
einem lokalen Speichermedium geladen, zum Beispiel ein Laufwerk,
das mit einem Computer verbunden ist, auf dem eine IP-Proxy-Systemsoftware läuft. In
einem anderen Ausführungsbeispiel
kann ein Verbindungshandhabungsvorrichtung-Speicher auch oder stattdessen
entfernt von dem IP-Proxy-System 18 sein, wie in einem
Speichermedium, das für
den IP-Proxy 18 zugänglich
ist über
eine lokale Netzwerkverbindung (LAN) oder auch ein WAN, wie das
Internet. Dieses Ausführungsbeispiel
ermöglicht
das gemeinsame Verwenden eines einzelnen Verzeichnisses von Verbindungshandhabungsvorrichtungen
unter allen IP-Proxy-Systemen 18, die mit dem Verbindungshandhabungsvorrichtungs-Speicher
kommunizieren können.
Es ist auch möglich, durch
dritte Parteien den Satz von Verbindungshandhabungsvorrichtungen
zu erweitern durch Einbetten der URL, wenn die Verbindungshandhabungsvorrichtung-Java-Klasse
gefunden werden kann.
-
Wenn
mit dem Internet verbunden, kann auf ein Verbindungshandhabungsvorrichtungs-Verzeichnis möglicherweise
durch alle mit dem Internet verbundenen IP-Proxy-Systeme 18 zugegriffen
werden und somit gemeinsam benutzt werden. Öffentliche Internet-verbundene
Verbindungshandhabungsvorrichtungs-Verzeichnisse würden vorzugsweise Verbindungshandhabungsvorrichtungs-Anforderungen von
IP-Proxy-Systemen empfangen und als Antwort die angeforderten Verbindungshandhabungsvorrichtungen
an das anfordernde IP-Proxy-System 18 übermitteln.
Eine neue Verbindungshandhabungsvorrichtung kann von einem IP-Proxy-System 18 erforderlich
sein, wenn eine mobile Vorrichtung 12, die mit dem IP-Proxy-System 18 kommuniziert,
eine neue Anwendung herunterlädt
oder ein neues Merkmal der mobilen Vorrichtung aufruft, das ein
neues Verbindungsschema oder ein Verbindungsverfahren verwendet,
die von der mobilen Vorrichtung 12 vorher nicht verwendet
wurden. Ein Benutzer einer mobilen Vorrichtung oder die neue Anwendung
oder das Merkmal können
dann eine Steuermeldung an das IP-Proxy-System 18 senden,
die anzeigt zum Beispiel den Namen der erforderlichen Verbindungshandhabungsvorrichtung,
möglicherweise
die Anwendung der mobilen Vorrichtung, welche die neue Verbindungshandhabungsvorrichtung
erfordert, und eine Adresse, die zu einem Verbindungshandhabungsvorrichtungs-Verzeichnis
gehört,
von dem die neue Verbindungshandhabungsvorrichtung angefordert werden
kann. Der IP-Proxy 18 fordert dann vorzugsweise die neue
Verbindungshandhabungsvorrichtung von dem Verzeichnis an. Ein Verbindungshandhabungsvorrichtungs-Verzeichnis
kann zum Beispiel als ein Web-Server
implementiert werden, der für
ein IP-Proxy-System 18 unter Verwendung von HTTP-Anforderungen
zugänglich
ist.
-
Wenn
eine Verbindungshandhabungsvorrichtung von einer entfernten Quelle
geladen wird, speichert der IP-Proxy 18 vorzugsweise die
Handhabungsvorrichtung in einem lokalen Speicher, um ein schnelleres
Laden der Handhabungsvorrichtung für nachfolgende Operationen
vorzusehen, welche den entsprechenden Typ einer Verbindung für entweder
die mobile Vorrichtung 12, für welche die Verbindungshandhabungsvorrichtung anfangs
aus dem Verzeichnis geladen wurde, oder für eine andere mobile Vorrichtung 12,
die durch das IP-Proxy-System 18 untergestützt wird,
umfasst. Abhängig
von den Speicher-Ressourcen, die für ein IP-Proxy-System 18 verfügbar sind,
können
heruntergeladene Verbindungshandhabungsvorrichtungen auf unbegrenzte
Zeit oder für
eine bestimmte Zeitdauer gespeichert werden. Alternativ kann ein „gerade
erst verwendet"-
oder LRU(least recently used)-Ersatz-Schema verwendet werden, um
eine effizientere Verwendung des verfügbaren Speichers vorzusehen
durch Überschreiben
von relativ wenig verwendeten Verbindungshandhabungsvorrichtungen,
wenn neue Handhabungsvorrichtungen heruntergeladen werden. Andere
Speicherverwaltungstechniken können
ebenso verwendet werden, um lokale Speicher-Anordnungen von IP-Proxy-Verbindungshandhabungsvorrichtungen
zu optimieren.
-
Transcodieren
-
Im
Verhältnis
zu Computer-Netzwerken, wie dem Internet, sind drahtlose Kommunikationsnetzwerke langsam.
Ein System, das die zwei überbrückt, wie
ein IP-Proxy, kann
Internet-Daten umwandeln müssen,
so dass sie geeignet für
ein drahtloses Netzwerk und eine mobile Vorrichtung formatiert werden.
Dieser Prozess wird hier als Filtern oder Transcodieren bezeichnet
und umfasst normalerweise derartige Operationen, wie Komprimieren
von Daten von dem Internet in ein kompaktes Format, geeignet für eine drahtlose Übertragung.
-
In
der folgenden Beschreibung werden Transcodier-Operationen primär in dem
Kontext des oben genannten Beispiels einer HTTP-Handhabungsvorrichtung 26 und
einer HTTP-Verbindung dargestellt. Das Beispiel der HTTP-Verbindung
und -Handhabungsvorrichtung ist besonders nützlich, da HTTP Inhalts-Tags
in der Form von MJME(Muitipurpose Internet Mail Extension)-Typen
ermöglicht,
die benutzt werden können,
um den geeigneten Transcodierer für eine empfangene Information
zu bestimmen.
-
Gemäß dem IP-Proxy-System 18,
das hier offenbart wird, kann es eine einzelne Konfigurationsdatei für jeden
Typ von Verbindungshandhabungsvorrichtung geben. In dem IP-Proxy 18 zum
Beispiel gehört
eine einzelne Konfigurationsdatei zu der HTTP-Verbindungshandhabungsvorrichtung 26 und
umfasst eine Information für
alle HTTP-Inhalts- bzw. Content-Transcodierer. Diese Konfigurationsdatei
wird verwendet, um Transcodierer zu bestimmten Inhaltstypen zuzuordnen.
Der IP-Proxy 18 kann diese Datei konsultieren, um festzustellen,
welchen Inhalts-Transcodierer
er laden soll, um einen empfangenen Inhalt zu manipulieren, der
für eine
mobile Vorrichtung bestimmt ist.
-
In
der Konfigurationsdatei werden allgemeine Regeln vorzugsweise dafür spezifiziert,
wie die Abbildung bzw. Mapping zwischen Inhaltstypen und Transcodierer
zu definieren ist. Ein Beispiel eines möglichen Konfigurationsdateieintrags
ist wie folgt:
wobei
default dem IP-Proxy
anzeigt, welcher standardmäßige Transcodierer
geladen werden soll, falls es keinen Transcodierer gibt, der zu
einem empfangenen Inhaltstyp gehört;
RSV
ein Satz reservierter Schlüsselwörter ist,
der in der Konfigurationsdatei verwendet wird, wie Weiterleiten (d.
h. Weiterleiten von Daten an die mobile Vorrichtung ohne Transcodierung)
oder Verwerfen (d. h. kein Transcodieren oder Weiterleiten von Daten
an die mobile Vorrichtung);
„Transcoder name" der Name des abgebildeten
Transcodierers ist;
„InputType" den Eingangs-Inhaltstyp
anzeigt, den der abgebildete Transcodierer akzeptiert, der für eine HTTP-Transcodierer-Konfigurationsdatei
ein MIME-Typ sein kann; und
„OutputType" den Ausgabe-Typ
anzeigt, wie ein MIME-Typ für
einen HTTP-Transcodierer,
den der Transcodierer produziert.
-
Durch
Verwendung einer Inhalts-Transcodierer-Konfigurationsdatei können neue
Transcodierer zur Verwendung durch den IP-Proxy 18 hinzugefügt werden.
Folglich können,
wenn neue Transcodierer entwickelt werden und verfügbar werden,
sie zu der Konfigurationsdatei für
alle geeigneten Verbindungshandhabungsvorrichtungen hinzugefügt werden
und können
danach geladen werden von einer Verbindungshandhabungsvorrichtung,
wenn erforderlich, und ohne andere Komponenten des IP-Proxy-Systems 18 zu
beeinflussen. Zum Beispiel können
Konfi gurationsdatei-Einträge
hinzugefügt
werden, ohne das gesamte IP-Proxy-System 18 auszuschalten,
wodurch eine dynamische Expansion der Daten möglich ist, die für eine Übertragung
an die mobilen Vorrichtungen 12 umgewandelt werden können.
-
In
einem anderen Ausführungsbeispiel
wird ein gemeinsames Konfigurationsdateiformat für alle Verbindungshandhabungsvorrichtungen
verwendet, und somit muss nur ein einziger Konfigurationsdatei-Eintrag
vorbereitet werden und kann zu der Konfigurationsdatei für jede Verbindungshandhabungsvorrichtung
hinzugefügt
werden. Das Konzept eines gemeinsamen Konfigurationsdateiformats
für alle
Verbindungshandhabungsvorrichtungen kann weiter erweitert werden
auf das Vorsehen einer einzelnen Konfigurationsdatei für einen
IP-Proxy 18. Eine derartige Konfigurationsdatei kann von
allen Verbindungshandhabungsvorrichtungen in dem IP-Proxy 18 verwendet
werden, um zu bestimmen, welche Inhalt-Transcodierer verfügbar sind, und um einen bestimmten
Transcodierer für
empfangenen Inhalt auszuwählen.
Jedoch sollte angemerkt werden, dass ein gemeinsames Konfigurationsdateiformat
keineswegs erforderlich ist. Einige Verbindungshandhabungsvorrichtungen
können
ein Konfigurationsdatei-Eintragsformat oder sogar eine einzelne
Konfigurationsdatei gemeinsam benutzen, während andere, die durch den
gleichen IP-Proxy 18 unterstützt werden, unterschiedliche Konfigurationsdateien
und Eintragsformate haben können.
-
Der
IP-Proxy 18 lädt
vorzugsweise einen Transcodierer basierend auf der verfügbaren Information
hinsichtlich des Inhaltstyps der Daten, die an die mobile Vorrichtung 12 verschoben
werden oder von dieser geholt werden. Der IP-Proxy 18 kann
Akzeptieren- und Inhalts-Typ-Header-Felder verwenden, um zu entscheiden, welcher
Transcodierer geladen werden soll. Mehrere illustrative beispielhafte
Inhalts-Transcodierer-Ladesteuerungsschemen werden im Folgenden
detaillierter beschrieben. Obwohl diese Beispiele primär HTTP-Verbindungen
und – Handhabungsvorrichtungen
betreffen, ist für
Fachleute offensichtlich, dass andere Verbindungstypen und Handhabungsvorrichtungen ähnliche
Anordnungen und Verfahren verwenden können, um einen Transcodierer
zu wählen,
wenn ein Inhalt an einem IP-Proxy-System 18 empfangen wird.
-
Es
sollte auch angemerkt werden, dass ein Transcodierer stattdessen
gewählt
werden kann basierend auf einer Information, die verschieden ist
von den Inhaltstypen, einschließlich
eine Information in einem Header-Abschnitt oder einem anderen Teil
einer Verbindungsanforderung von einer mobilen Vorrichtung, einer
Antwort auf eine Verbindungsanforderung oder einer Kommunikation
von einer Informationsquelle, einschließlich Information, die an eine
mobile Vorrichtung verschoben (pushed) werden soll. Zum Beispiel
kann ein IP-Proxy-System 18 konfiguriert werden, einen
Typ der mobilen Vorrichtung 12 zu bestimmen, an die Daten
gesendet werden sollen. Eine Transcodierer-Auswahl durch das IP-Proxy-System 18 kann ähnlich auf
einer Netzwerkadresse oder einem anderen Identifizierer der mobilen
Vorrichtung 12 basieren. Mobile Vorrichtungs- oder Vorrichtungstyp-abhängige Transcodierer-Auswahlschemen
können
unterstützt
werden durch Vorsehen einer Vorrichtungs- oder Vorrichtungstyp-Abbildungstabelle,
die für
das IP-Proxy-System 18 zugänglich ist, die Vorrichtungen
oder Vorrichtungstypen zu Transcodierern abbildet bzw. zuordnet.
Alternativ kann eine Konfigurationsdatei angepasst werden, um Vorrichtungs-
oder Vorrichtungstypidentifizierer zu umfassen, um dadurch bestimmte
Transcodierer mit Vorrichtungen oder Vorrichtungstypen zu verbinden
bzw. assoziieren.
-
Auf
eine ähnliche
Weise können
Transcodierer gewählt
werden basierend auf einer Adresse (wie einer URL) oder einem anderen
Identifizierer einer Informationsquelle, um eine Informationsquellen-spezifische Transcodierung
zu ermöglichen.
Eine Abbildungstabelle oder eine Konfigurationsdatei, die zugänglich ist
für ein
IP-Proxy-System, wie 18, kann verwendet werden, um eine
Transcodierer-Auswahl
zu ermöglichen,
die auf der Informationsquelle basiert. Dieser Typ der Transcodierer-Auswahl
kann zum Beispiel nützlich
sein, wenn ein bestimmter Transcodierer verwendet werden soll, um
jeden Inhalt zu transcodieren, der von einer spezifischen Webseite
stammt und für
eine mobile Vorrichtung bestimmt ist.
-
Obwohl
Inhaltstyp-basierte Transcodierer-Auswahl der primäre Typ eines
unten beschriebenen Transcodierer-Auswahlschemas sind, kann jedes
dieser alternativen Schemen anstelle einer Inhaltstyp-basierten Transcodierer-Auswahl
verwendet werden. Die alternativen Schemen können auch verwendet werden,
um ein Transcodierer auszuwählen,
zum Beispiel wenn ein Transcodierer, der durch ein primäres Transcodierer-Auswahlschema
angezeigt wird, nicht verfügbar
ist, zum Beispiel wenn ein Transcodierersystem keinen Transcodierer
umfasst, der konfiguriert ist, um einen empfangenen Inhaltstyp in
einen Inhaltstyp zu transcodieren, für den die mobile Vorrichtung
zur Akzeptanz konfiguriert ist.
-
Eine
HTTP-Verbindungshandhabungsvorrichtung in einem IP-Proxy-System 18 versucht
normalerweise, einen Transcodierer basierend auf der „Akzeptiere"-Zeile und den Inhalts-Typ-Header-Feldern
zu laden. Der IP-Proxy kann einen Transcodierer laden, wenn er eine
Information hat hinsichtlich des/den Inhaltstyps/Inhaltstypen, den/die
eine mobile Vorrichtung 12 akzeptieren kann, und des Inhaltstyps,
den ein Server oder eine andere Informationsquelle 20 zurücksendet.
Zum Beispiel kann in diesem Fall die HTTP-Verbindungshandhabungsvorrichtung 26 in
dem IP-Proxy 18 ein Eingabetyp>Ausgabetyp-Schlüsselformat verwenden, um ihre Konfigurationsdatei
zu konsultieren, wenn Konfigurationsdateieinträge Inhaltstypfelder umfassen,
wie in dem obigen beispielhaften Dateieintrag.
-
Die
HTTP-Verbindungshandhabungsvorrichtung 26 kann auch einen
Transcodierer laden, wenn sie eine Information nur über den
Server oder Quellen-20-Inhaltsytp
hat, aber nicht darüber,
was die mobile Vorrichtung 12 akzeptieren kann. In diesem
Fall kann der IP-Proxy 18 das Eingabetyp-Schlüsselformat
ver wenden, um seine Konfigurationsdatei zu konsultieren. Wenn die
Verbindungshandhabungsvorrichtung nicht bestimmen kann, welcher
Transcodierer verwendet werden soll, lädt sie vorzugsweise einen vorgegebenen
Standard-Transcodierer. Wenn der standardmäßige Transcodierer verwendet
wird, kann der IP-Proxy 18 eine Fehlernachricht an eine
mobile Vorrichtung 12 senden, wenn der Ausgabeinhaltstyp
des standardmäßigen Transcodierers
von der mobilen Vorrichtung 12 nicht akzeptiert werden
kann oder wenn der Standard verworfen wird (siehe den obigen beispielhaften
Konfigurationsdateieintrag). Da die meisten Datenholen(pull)-basierten
Informationsquellen, wie Webserver, keine automatischen „erneut
senden"- oder „erneut
versuchen"-Funktionen enthalten,
wenn solche Lieferfehler auftreten, werden Fehlernachrichten normalerweise
nur an die anfordernde mobile Vorrichtung 12 gesendet.
Ein Benutzer der mobilen Vorrichtung kann dann eine neue Anforderung senden,
um die Information abzurufen. Wenn jedoch die Information von einem
Verschiebe(push)-Server 42 stammt, kann ein Fehler an den
sendenden Server zurückgesendet
werden, der dann eine neue Verschiebe-Operation initiieren kann.
-
Es
wird der Fall einer einfachen HTTP-Operation betrachtet, in der
kein „Akzeptiere"-Header spezifiziert
ist. Ein Benutzer einer mobilen Vorrichtung oder eine Anwendung
auf der mobilen Vorrichtung gibt eine HTTP-Anforderung aus, die
kein „Akzeptiere"-Header-Feld von
Inhaltstypen anzeigt, welche die mobile Vorrichtung 12 oder
die Anwendung akzeptieren kann. Der IP-Proxy 18 kann in
Abwesenheit einer „Akzeptiere"-Header-Information
folgern, dass jeder Typ von Inhalt akzeptiert werden kann, und die
Anforderung an die geeignete Informationsquelle 20 weiterleiten.
Wenn ein Informationsinhalt, der für die mobile Vorrichtung 12 bestimmt
ist, als Antwort auf die Anforderung von der HTTP-Verbindungshandhabungsvorrichtung
in dem IP-Proxy 18 empfangen wird, wird der Inhalt an die
mobile Vorrichtung 12 gesendet, wie er ist, unabhängig von dem
Inhaltstyp. Da die mobile Vorrichtung 12 in diesem Fall
vermutlich jeden Inhaltstyp akzeptieren kann, bestimmt die HTTP-Handhabungsvorrichtung,
dass keine Transcodierung erforderlich ist, und lädt oder
verwendet deswegen keinen der HTTP-Transcodierer. Alternativ kann
der IP-Proxy 18 konfiguriert werden, zu versuchen, den
zurückgesendeten
Inhaltstyp einem seiner Transcodierer zuzuordnen. In dem Fall, dass
ein geeigneter Transcodierer gefunden wird, der den zurückgesendeten
Inhaltstyp transcodieren kann, wird der Transcodierer geladen und
verwendet, um den Inhalt zur Übertragung
an die mobile Vorrichtung 12 zu transcodieren. Ansonsten
kann der IP-Proxy 18 den standardmäßigen Transcodierer laden oder
den empfangenen Inhalt verwerfen.
-
Andere
Mechanismen, um eine fehlende Inhaltstypinformation in einer Anforderung
von der mobilen Vorrichtung 12 zu handhaben, ist für Fachleute
offensichtlich. Der bestimmte Mechanismus, der in einem IP-Proxy-System 18 implementiert
wird, kann zum Beispiel ein standardmäßiger Mechanismus sein, der
von dem IP-Proxy-System 18 verwendet wird, wenn eine Informationsanforderung
keinen akzeptablen Inhaltstyp anzeigt, abhängig von einer Einstellung
in einem Profil eines Benutzers einer mobilen Vorrichtung, das in
einer Datenbank gespeichert ist, auf die der IP-Proxy 18 zugreifen
kann, oder wird durch einen Besitzer oder Betreiber eines IP-Proxys
bestimmt. Jedoch ist die mobile Vorrichtung 12 und alle
Anwendungen, die sich darauf befinden, vorzugsweise konfiguriert,
akzeptierte Inhaltstypanzeiger in allen Informationsanforderungen
zu enthalten, die an der mobilen Vorrichtung 12 erzeugt
werden, um dem IP-Proxy 18 eine zuverlässige und aktuelle Information
hinsichtlich des Typs/der Typen von Inhalt zu liefern, den/die eine
mobile Vorrichtung 12 akzeptieren kann. Mustererkennungstechniken
können
ebenfalls verwendet werden, um ein komplexeres standardmäßiges Verhalten
zu erzeugen, wie Anwenden eines Transcodierers, um alle Daten auf
einen gemeinsamen Ausgabetyp zu transcodieren, unabhängig von
dem Eingabetyp. Die Reihenfolge derartiger Muster/Transcodierer-Regeln
können
eine Priorität
bedeuten.
-
Wie
oben beschrieben, gibt es vorzugsweise eine Transcodierer-Konfigurationsdatei
für jede
Verbindungshandhabungsvorrichtung, die von einem IP-Proxy-System 18 unterstützt wird,
oder möglicherweise
eine einzelne Konfigurationsdatei, die von allen Verbindungshandhabungsvorrichtungen
gemeinsam benutzt wird. Eine solche Konfigurationsdatei liefert
nicht nur einen Mechanismus zum Hinzufügen neuer Transcodierer, wenn
sie verfügbar
werden, sondern ermöglicht
einer Verbindungshandhabungsvorrichtung auch, schnell zu bestimmen,
welche Transcodierer in dem IP-Proxy-System 18 verfügbar sind,
und dann die Typen von Inhalt effektiv zu erweitern, die akzeptiert
werden können
als Antwort auf eine Informationsanforderung.
-
5 ist
ein Signal-Flussdiagramm, das die Erweiterung von akzeptierten Inhaltstypen
durch eine HTTP-Verbindungshandhabungsvorrichtung basierend auf
verfügbaren
Transcodierern zeigt. Obwohl die 5 nur die
Komponenten des IP-Proxy-Systems 18 zeigt,
die direkt in dem Beispiel einer HTTP-Anforderung von einer mobilen
Vorrichtung 12 beteiligt sind, ist für Fachleute offensichtlich,
dass auch andere Systemkomponenten vorhanden sein können. Um
jedoch eine Überfüllung der
Zeichnungen zu vermeiden, wurden solche Komponenten, wie 30 bis 48 in 2,
in der 5 nicht gezeigt.
-
In 5 wird
eine HTTP-Anforderung von der mobilen Vorrichtung 12 durch
ein drahtloses Netzwerk und möglicherweise
durch ein WAN und ein geeignetes Gateway an das IP-Proxy-System 18 gesendet.
Wie oben beschrieben, kann die mobile Vorrichtung 12 mit
einem IP-Proxy-System 18 unter Verwendung eines Protokolls
kommunizieren, das von HTTP verschieden ist, wie dem proprietären IPPP.
In derartigen Anordnungen kann, obwohl die Verbindungsanforderung
einem bestimmten Protokoll entspricht, die Anforderung einen Verbindungstyp
oder eine Verbindungshandhabungsvorrichtung spezifizieren, HTTP
in diesem Beispiel, die zu einem anderen Protokoll gehört. Folglich
sollten Referenzen zu HTTP-Anforderungen, die von einer mobilen Vorrichtung 12 gesendet
werden, interpretiert werden, dass sie sowohl HTTP-Anforderungen,
wenn die Kommunikation von der mobilen Vorrichtung zu dem IP-Proxy über HTTP
sind, sowie Verbindungsanforderungen umfassen, die anderen Protokollen
entsprechen, aber HTTP oder HTTP-Verbindungshandhabungsvorrichtungen
spezifizieren und folglich durch einen IP-Proxy als HTTP-Anforderungen
interpretiert werden.
-
Die
Verbindungsanforderung wird von dem Dispatcher 22 empfangen,
der die Anforderung als eine HTTP-Anforderung erkennt und die HTTP-Handhabungsvorrichtung 26 lädt. In ihrer „Akzeptiere"-Zeile spezifiziert
die Anforderung in diesem Beispiel, dass die mobile Vorrichtung 12 eine
in Tokens übersetzte
(tokenized), komprimierte Version von WML (Wireless Markup Language)
akzeptieren kann, die im Allgemeinen als kompilierte WML oder einfach
WMLC bezeichnet wird. Die HTTP-Handhabungsvorrichtung verwendet
dann diesen akzeptierten Inhaltstyp (WMLC), um eine Suche in der
Konfigurationsdatei 72 durchzuführen, die in dem Transcodierungssystem 28 in 5 gezeigt
wird.
-
Die
HTTP-Handhabungsvorrichtung 26 durchsucht die Konfigurationsdatei 72,
um festzustellen, welcher, wenn vorhanden, ihrer zugehörigen Transcodierer
den angeforderten Inhaltstyp, WMLC, ausgibt. In einem Ausführungsbeispiel
wird eine Verweistabelle konstruiert, die Eingabeinhaltstypen mit
Ausgabeinhaltstypen für
alle konfigurierten Transcodierer anpasst, wenn Transcodierer anfangs
in das IP-Proxy-System 18 geladen werden. Das IP-Proxy-System 18 greift
dann auf die Tabelle zu und stellt fest, welche Inhaltstypen es
in den angeforderten Inhaltstyp (WMLC) umwandeln kann. In 5 umfasst
die Konfigurationsdatei 72 oder alternativ eine Verweistabelle
Einträge
für zwei
Transcodierer, einer zur Konvertierung von WML zu WMLC und der andere
zur Konvertierung von HTML zu WMLC. Die HTTP-Handhabungsvorrichtung 26 addiert
dann die zusätzlichen
MIME-Typen (WML, HTML), die sie in den angeforderten Typ (WMLC)
umwandeln kann, und sendet eine Anforderung an den Webserver 76.
Wie in 5 gezeigt, umfasst die Anforderung, die durch
den IP-Proxy 18 vorbereitet und an den Webserver 76 gesendet
wird, WMLC, WML und HTML in ihrer „Akzeptieren"-Zeile.
-
Die
Anforderung listet vorzugsweise die akzeptierten Inhaltstypen in
der Reihenfolge der Präferenz. Zum
Beispiel erfordert, da die mobile Vorrichtung 12 WMLC akzeptieren
kann, dieser Inhaltstyp kein Transcodieren und erscheint folglich
vorzugsweise als erstes in der IP-Proxy-Anforderung. Andere Inhaltstypen
können
dann zum Beispiel in der Reihenfolge einer abnehmenden Transcodierungskomplexität aufgeführt werden oder
basierend auf anderen Kriterien. Die Reihenfolge der Präferenz von
Inhaltstypen kann auch explizit angezeigt werden, zum Beispiel unter
Verwendung von Qualitätsfaktoren
in der „Akzeptieren"-Zeile.
-
Als
Antwort auf eine HTTP-Anforderung von dem IP-Proxy 18 sendet
der Webserver 76 einen angeforderten Inhalt, in WML-Format
in dem Beispiel von 5, an den IP-Proxy 18 zurück. Die
HTTP-Handhabungsvorrichtung 26 bestimmt dann, dass der
zurückgesendete
Inhalt WML ist, lädt
den geeigneten WML->WMLC-Transcodierer 74 von
einem lokalen Speicher zum Beispiel und führt den Transcodierer aus, um
den empfangenen Inhalt in WMLC umzuwandeln. Der WMLC-Inhalt wird
dann an die mobile Vorrichtung 12 durch den Dispatcher 22 weitergeleitet.
Wenn ein WMLC-Inhalt von dem Webserver 76 zurückgesendet wird,
leitet die HTTP-Handhabungsvorrichtung 26 den Inhalt an
den Dispatcher 22 ohne eine Transcodierung weiter, während, wenn
ein HTML-Inhalt zurückgesendet
wird, ein HTML->WMLC-Transcodierer
aufgerufen wird, um den Inhalt in WMLC umzuwandeln. Obwohl die 5 zeigt,
dass die Antwort an die mobile Vorrichtung 12 von dem Dispatcher 22 gehandhabt
wird, kann eine ähnliche
Protokoll-Übersetzung
oder -Umwandlung zwischen HTTP, das von der Handhabungsvorrichtung 26 verwendet
wird, und einem Kommunikationsprotokoll, das durch die mobile Vorrichtung 12 verwendet
wird, stattdessen durch die HTTP- Handhabungsvorrichtung 26 oder
einem anderen IP-Proxy-Protokoll-Übersetzungs/Umwandlungs-Modul
durchgeführt
werden.
-
Wie
oben beschrieben, wenn der zurückgesendete
Inhalt nicht in den angeforderten Typ umgewandelt werden kann, zum
Beispiel wenn die HTTP-Handhabungsvorrichtung 26 keinen
geeigneten Transcodierer hat oder nicht den besten Transcodierer
zur Verwendung bestimmen kann, dann wird vorzugsweise der Standard-Transcodierer
verwendet. Eine Fehlermeldung kann an die mobile Vorrichtung 12 zurückgesendet
werden, wenn die Ausgabe des standardmäßigen Transcodierers nicht
durch die mobile Vorrichtung akzeptiert werden kann, oder der standardmäßige Transcodierer
verworfen wird.
-
Die „Akzeptieren"-Zeile-Erweiterung
durch eine Verbindungshandhabungsvorrichtung ist keineswegs eingeschränkt auf
Einzel-Transcodierer-Operationen. In dem Beispiel von 5 wandelt
jeder Transcodierer direkt von einem Format in das angeforderte
Format um. In einem anderen Ausführungsbeispiel
kann eine umfangreichere Suche der Konfigurationsdatei 72 durchgeführt werden
oder eine vollständigere
Verweistabelle kann aufgebaut werden. Somit können mehrere Transcodierer
verwendet werden, um einen empfangenen Inhalt in ein Format oder
einen Typ umzuwandeln, das/der durch die mobile Vorrichtung akzeptiert
werden kann.
-
6 ist
ein Signal-Flussdiagramm, das mehrere oder „verkettete" Transcodier-Operationen für eine HTTP-Operation
zeigt. Wie in 5, zeigt 6 nur die
Komponenten des IP-Proxy-Systems 18, die direkt an einer
HTTP-Anforderung von einer mobilen Vorrichtung 12 beteiligt
sind, um eine Überfüllung in
den Zeichnungen zu vermeiden.
-
Eine
HTTP-Anforderung wird von der mobilen Vorrichtung 12 an
das IP-Proxy-System 18 gesendet, möglicherweise
durch ein oder mehrere dazwischenliegende Netzwerke und Schnittstellen-Komponenten. Wie
in dem obigen Beispiel, wird die Anforderung von dem Dispatcher 22 empfangen,
der die Anforderung als eine HTTP-Anforderung erkennt und die HTTP-Handhabungsvorrichtung 26 lädt. Die
HTTP-Handhabungsvorrichtung 26 konsultiert dann die Konfigurationsdatei 78 und
sucht nicht nur nach Transcodierern, die WMLC ausgeben, sondern
auch nach Transcodierern, die Inhaltstypen ausgeben, die in einen
Transcodierer eingegeben werden können, der WMLC ausgibt. Somit
werden gemäß diesem
Ausführungsbeispiel
zusätzliche
MIME-Typen an die Header-„Akzeptieren”-Zeile
einer HTTP-Anforderung angehängt
basierend nicht nur auf Transcodierer-Ausgaben, sondern auch auf
Transcodierer-Eingaben. In der 6 zum Beispiel
findet die HTTP-Handhabungsvorrichtung 26, möglicherweise
in einem ersten Suchdurchlauf durch die Konfigurationsdatei 78,
den WML->WMLC-Transcodierer-Eintrag. Die HTTP-Handhabungsvorrichtung 26 kann
dann die Konfigurationsdatei-Suche nach den Transcodierern wiederholen,
wie dem HTML->WML-Transcodierer, der einen
Inhalt in WML umwandelt, die es in den angeforderten WMLC-Inhaltstyp
umwandeln kann, um dadurch weiter die Liste von akzeptierten Inhaltstypen
zu erweitern. Die Konfigurationsdatei-Suche kann von der HTTP-Handhabungsvorrichtung 26 weiter
wiederholt werden, abhängig
zum Beispiel von akzeptablen Verzögerungen bei der HTTP-Anforderungs-Verarbeitung.
-
Um
die Verzögerungen
und die Nachfrage auf Verarbeitungsressourcen zu vermeiden, die
mit derartigen mehrfachen Suchdurchgängen durch eine Konfigurationsdatei
verbunden sind, kann eine Transcodierer-Inhaltstyp-Verweistabelle
verwendet werden. Wenn Transcodierer anfangs in ein IP-Proxy-System 18 installiert
werden, wird vorzugsweise eine vollständige Abbildungstabelle konstruiert,
um empfangene Inhaltstypen zu möglichen
Ausgabe-Inhaltstypen zuzuweisen. Zum Beispiel kann in der 6 ein
Verweistabellen-Eintrag für
einen WMLC-Inhalt anzeigen, dass entweder WML oder HTML in WMLC
umgewandelt werden kön nen.
Eine derartige Tabelle zeigt auch vorzugsweise an, dass eine HTML
zu WMLC-Transcodierung zwei Stufen eines Transcodierens umfasst.
Die Tabelle kann stattdessen in Einzel- und verkettete Transcodier-Abschnitte
organisiert werden, wodurch, wenn nur eine einzelne Transcodier-Operation
bevorzugt wird, nur auf den Einzel-Transcodierer-Teil der Tabelle
zugegriffen wird, einschließlich
ein Eintrag für
den WML->WMLC-Transcodierer.
Illustrativ kann ein verketteter Transcodierer 82, der
HTML in WMLC umwandelt, aus den HTML->WML- und WML->WMLC-Transcodierern erzeugt werden. Die
HTML->WML- und WML->WMLC-Transcodierer können auch getrennt aufgerufen
werden.
-
Wenn
weitere Transcodier-Operationen und die zugehörigen Verarbeitungsoperationen
und Zeitverzögerungen
akzeptabel sind, dann kann die HTTP-Handhabungsvorrichtung 26 eine
Suche eines akzeptierten Inhaltstyps oder möglicherweise eines Eingabe-Typs
für einen
vorher identifizierten Transcodierer in einem verketteten Transcodierer-Abschnitt
der Tabelle durchführen.
Vorzugsweise kann das Format der Transcodierungs-Konfigurationsdatei
verändert
werden, um gerade eine derartige Verweistabelle zu repräsentieren,
um die Suche zu beschleunigen. Dies kann erreicht werden zum Beispiel
durch Spezifizieren eines Pfades zwischen Inhaltstypen, die mehrere
Transcodierer umfassen.
-
Die
Bestimmung, ob mehrere Transcodier-Operationen erlaubt sind, kann
von der HTTP-Handhabungsvorrichtung 26 gemacht werden entweder
vor oder nachdem die Tabelle- oder Konfigurationsdatei-Suchoperation
durchgeführt
wird, bevor eine HTTP-Anforderung an den Webserver 80 gesendet
wird oder auch nachdem der angeforderte Inhalt von einer Informationsquelle 20 empfangen
wird. In dem Beispiel der 6 sollte
offensichtlich sein, dass mehrere Transcodierer aufgerufen werden
können,
um einen empfangenen Inhalt in WMLC umzuwandeln. Die „Akzeptieren"-Zeile in dem Header
der HTTP-Anforderung von der mobilen Vorrichtung 12 wird
somit erweitert, um WML und HTML zusätzlich zu WMLC zu umfassen.
Wie oben beschrieben, werden die akzeptierten Formate vorzugsweise in
der Reihenfolge der Präferenz
aufgeführt.
Da HTML zwei Transcodieren-Operationen
erfordert statt der einzelnen Transcodier-Operation, die erforderlich
ist, um von WML zu WMLC umzuwandeln, wird WML vorzugsweise vor HTML
in der „Akzeptieren"-Zeile der HTTP-Anforderung
geführt,
die von dem IP-Proxy 18 an den Webserver 80 gesendet
wird. Ähnlich
erfordert WMLC kein Transcodieren und wird vorzugsweise als erstes
in der „Akzeptieren"-Zeile aufgeführt.
-
Es
ist für
die Kette von Transcodierern auch vorstellbar, sowohl lokale als
auch entfernte Transcodieren-Dienste zu umfassen. Diese entfernten
Transcodieren-Dienste
sind Web-basierte Transcodieren-Dienste, die Daten in einem Format
empfangen und sie in einem anderen zurücksenden, wie detaillierter
im Folgenden beschrieben wird.
-
Der
Webserver 80 sendet dann den angeforderten Inhalt, in HTML-Format
in dem Beispiel in 6, an den IP-Proxy 18 zurück als Antwort
auf die HTTP-Anforderung.
Die HTTP-Handhabungsvorrichtung 26 stellt fest, dass der
zurückgesendete
Inhalt HTML ist, lädt
und führt
den HTML->WML- Transcodierer
aus und lädt
dann und führt
den WML->WMLC-Transcodierer
auf dem WML-Ergebnis
der ersten Transcodier-Operation aus. Der resultierende WMLC-Inhalt
wird dann an den Dispatcher 22 weitergeleitet und dann
an die mobile Vorrichtung 12. Wenn WMLC-Inhalt durch den
Webserver 80 zurückgesendet
wird, leitet die HTTP-Handhabungsvorrichtung 26 den Inhalt
an den Dispatcher 22 weiter ohne eine Transcodierung, während, wenn WML-Inhalt
zurückgesendet
wird, der WML->WMLC-Transcodierer
aufgerufen wird.
-
Es
wird erwogen, dass die Bestimmung, ob mehrere Transcodier-Operationen
erlaubt sind, abhängig von
vorbestimmten Kriterien gemacht werden, wie maximale HTTP-Anforderungs-Verarbeitungszeit
oder maximale Inhalt-Transcodier-Zeit
oder Prozessor-Zeit zum Beispiel. Diese Bestimmung kann auch eine
durch den Benutzer spezifizierte Priorität berücksichtigen. Wenn eine hohe
Zeit-Priorität
(geringe Zeitverzögerung)
von dem Benutzer einer eingereichten Anforderung zugewiesen wird,
dann können
einzelne Transcodier-Operationen gewählt werden. Alternativ, wenn
eine hohe Datenpriorität
mit einer Anforderung verbunden ist, dann kann jede Anzahl von verketteten
Transcodierer-Operationen erlaubt sein, um die angeforderten Daten
zurück an
die mobile Vorrichtung 12 in einem akzeptablen Format zu
bringen. Andere Kriterien, die von einer Verbindungshandhabungsvorrichtung
angewendet werden können,
umfassen, sind aber keineswegs darauf beschränkt, ein Ermöglichen
von verketteten Transcodierern nur für relativ geringe Mengen von
empfangenem Inhalt, nur zu bestimmten Tageszeiten, unter spezifischem
aktuellen Verkehrsbedingungen, oder nur, wenn die Konfigurationsdatei
oder die Verweistabelle in einem lokalen Dateisystem gespeichert
ist. Weitere Kriterien sind für
Fachleute offensichtlich und sind somit in dem Umfang der vorliegenden
Anmeldung.
-
In
dem Fall einer Datenverschiebung (push) an eine mobile Vorrichtung 12 von
einem Verschiebe-Server, wie 42 (2), wenn
der Server Dateninhalt verschiebt, aber keinen MIME-Typ spezifiziert,
dann wird der standardmäßige Transcodierer
vorzugsweise verwendet. Wenn der standardmäßige Transcodierers einen Inhaltstyp
ausgibt, der durch die mobile Vorrichtung 12 nicht akzeptiert
werden kann, wird ein Fehlersignal vorzugsweise an den Verschiebe-Server 42 zurückgesendet,
der dann die Daten an die mobile Vorrichtung 12 erneut
senden kann. Das Fehlersignal zeigt vorzugsweise weiter dem Verschiebe-Server 42 einen
Grund für einen
solchen Lieferausfall an, so dass der Verschiebe-Server 42 versuchen
kann, das Lieferproblem zu beheben, wenn möglich, bevor die Daten erneut
gesendet werden. Wenn die Daten nicht an die mobile Vorrichtung 12 geliefert
werden können,
da kein MIME-Typ spezifiziert wurde und der standardmäßige Transcodierer die
Daten nicht in einen akzeptablen Inhaltstyp transcodieren kann zum
Beispiel, dann kann der Verschiebe-Server 42 die Daten
mit einem geeigneten MIME-Typ erneut senden.
-
Eine
Verarbeitung einer Server-Datenverschiebung mit einem spezifizierten
MIME-Typ kann davon abhangen, ob der IP-Proxy 18 die Inhaltstypen
kennt oder nicht, die eine mobile Vorrichtung 12 akzeptieren kann.
Anders als das obige Beispiel eines HTTP-Anforderungs- und Antwortprozesses,
hat der IP-Proxy 18 nicht die Anforderung von der mobilen
Vorrichtung 12, die einen akzeptablen Inhaltstyp anzeigt,
wenn Daten an die mobile Vorrichtung 12 verschoben werden.
Wenn der IP-Proxy 18 nicht weiß, welche(r) Inhaltstyp(en) die
mobile Vorrichtung 12 akzeptieren kann, dann wird vorzugsweise
der standardmäßige Transcodierer
benutzt. Jedoch kann in dieser Situation die aktive Verbindungshandhabungsvorrichtung
stattdessen die Transcodierer-Konfigurationsdatei oder die Verweistabelle
konsultieren, um zu bestimmen, ob ein Transcodierer, der den zurückgesendeten
Inhaltstyp als Eingabe akzeptiert, verfügbar ist. Wenn ein verfügbarer Transcodierer gefunden
wird, dann wird er geladen und verwendet, um den empfangenen Inhalt
zu transcodieren. Wenn mehr als ein geeigneter Transcodierer gefunden
wird, dann kann einer von diesen, zum Beispiel der Transcodierer,
der den ersten Eintrag in der Konfigurationsdatei hat, oder der
Transcodierer, der vorher verwendet wurde, wie der Transcodierer,
der zuletzt verwendet wurde, um Daten für die bestimmte mobile Vorrichtung 12 zu transcodieren,
für die
der Inhalt bestimmt ist, geladen und ausgeführt werden. Ein Transcodierer
kann auch auf der Basis eines Inhaltstyps gewählt und verwendet werden, der
vorher an die mobile Vorrichtung 12 gesendet wurde.
-
Externe Transcodierersysteme
-
Das
System 90, das in der 7 gezeigt
wird, ist ähnlich
zu dem System 10 der 1, außer dem externen
Transcodierersystem 86. Elemente, die gemeinsam für beide
Systeme 10 und 90 sind, wurden oben beschrieben.
Wie durch die gestrichelten Linien in der 7 gezeigt,
kann das IP-Proxy-System 84 mit dem Transcodierersystem 86 durch
eine Art einer direkten Verbindung, wie ein serieller Anschluss
oder Verbindung, durch ein WAN 16, wie dem Internet, oder
durch ein LAN 88 kommunizieren, in denen das IP-Proxy-System 84 und
das Transcodierersystem 86 konfiguriert sind, zu arbeiten.
Andere Kommunikationsverbindungen zwischen dem IP-Proxy 84 und
dem Transcodierersystem 86 sind für Fachleute offensichtlich.
-
8 ist
ein Signal-Flussdiagramm, das eine beispielhafte HTTP-Operation
für ein
externes Transcodierersystem darstellt, wie in der 7 gezeigt.
Wie in den vorhergehenden Beispielen wird eine HTTP-Anforderung
von der mobilen Vorrichtung 12 an den IP-Proxy 84 gesendet,
die anzeigt, dass ein WMLC-Inhalt an der mobilen Vorrichtung 12 akzeptiert
wird. Die Anforderung wird von dem Dispatcher 22 in dem
IP-Proxy-System 84 empfangen, der feststellt, dass die
Anforderung eine HTTP-Anforderung ist, und somit die Anforderung an
die HTTP-Verbindungshandhabungsvorrichtung 94 weiterleitet.
Die HTTP-Handhabungsvorrichtung 94 kann
im Wesentlichen ähnlich
zu der HTTP-Handhabungsvorrichtung 26 in 2 zum
Beispiel sein, obwohl sie etwas anders als die Handhabungsvorrichtung 24 arbeitet,
um Inhalts-Transcodierer zu laden. Die HTTP-Handhabungsvorrichtung 94 fangt
die HTTP-Anforderung von der mobilen Vorrichtung 12 ab
und kann dann an eine Transcodierer- Konfigurationsdatei 92 oder
eine Verweistabelle verweisen, wie oben beschrieben, um festzustellen,
ob Transcodierer verfügbar
sind, um andere Typen von Inhalt in einen Inhalt umzuwandeln, der
an der mobilen Vorrichtung 12 akzeptabel ist. Wenn Einträge, die
einem oder mehreren geeigneten Transcodierern entsprechen, in der
Konfigurationsdatei 92 oder der Verweistabelle gefunden
werden, dann nimmt die HTTP-Handhabungsvorrichtung 94 vorzugsweise
alle weiteren Inhaltstypen in eine Anforderung auf, die an eine
Informationsquelle gesendet wird, wie den Webserver 76.
Der Webserver 76 verarbeitet die Anforderung von dem IP-Proxy-System 84 und
sendet einen WML-Inhalt an die HTTP-Handhabungsvorrichtung 94 zurück. Diese
Operationen sind im Wesentlichen, wie oben in den vorangehenden
Beispielen beschrieben wurde.
-
Wenn
der WML-Inhalt von der HTTP-Handhabungsvorrichtung 94 empfangen
wird, wird er vorzugsweise in einem Dateisystem oder anderem Datenspeicher 98 gespeichert,
während
der geeignete Transcodierer geladen wird. In dem Beispiel von 8 fordert
die HTTP-Handhabungsvorrichtung 94 den erforderlichen WML->WMLC-Transcodierer
von dem Transcodierersystem 86 an. Obwohl diese Anforderung
in 8 als eine HTTP-Anforderung von der HTTP-Handhabungsvorrichtung 94 gezeigt
wird, sollte offensichtlich sein, dass andere Übertragungsmechanismen stattdessen
durch ein IP-Proxy-System 84 verwendet werden können, um
einen Transcodierer aus einem entfernten Transcodierersystem 86 abzurufen.
Wenn zum Beispiel das IP-Proxy-System 84 mit dem Transcodierersystem 86 über ein
LAN 88 (7) kommuniziert, dann kann ein LAN-Protokoll oder ein
Daten-Zugriffs- und -Übertragungsschema
von der HTTP-Handhabungsvorrichtung 94 aufgerufen
werden, um erforderliche Transcodierer abzurufen. In 8 lokalisiert
das Transcodierersystem 86 den angeforderten WML->WMLC-Transcodierer
unter seinen verfügbaren
Transcodierern 96 und sendet den angeforderten Transcodierer
an das IP-Proxy-System 84 zurück.
-
Unabhängig von
dem bestimmten implementierten Transcodierer-Übermittlungsmechanismus
empfängt
das IP-Proxy-System 84, oder in dem Beispiel der 8 die
HTTP-Handhabungsvorrichtung 94, den zurückgegebenen WML->WMLC-Transcodierer
und lädt
ihn, wie bei 100 angezeigt. Der vorher empfangene und möglicherweise
gespeicherte WML-Inhalt kann dann durch den Transcodierer 100 verarbeitet
werden, um den WML-Inhalt in einen WMLC-Inhalt zu transcodieren, der durch die
mobile Vorrichtung 12 akzeptiert werden kann, und eine
Antwort, die den transcodierten Inhalt enthält, wird an die mobile Vorrichtung 12 durch
den Dispatcher 22 zurückgesendet.
-
Wenn
verkettete Transcodierer-Operationen aktiviert sind, dann kann mehr
als eine Transcodierer-Anforderung von dem IP-Proxy-System 84 an
das Transcodierersystem 86 gemacht werden. Mehrere Transcodierer
können
stattdessen in einer einzelnen Anforderung an das Transcodierersystem 86 angefordert
werden. Die Verarbeitung eines vorher empfangenen Inhalts für verkettete
Transcodierer-Operationen
kann fortfahren entweder, wenn jeder erforderliche Transcodierer
durch das IP-Proxy-System 84 geladen ist, wobei der dazwischenliegende
transcodierte Inhalt möglicherweise
in einem Dateisystem oder Datenspeicher gespeichert wird, wie 98,
oder nur, wenn alle erforderlichen Transcodierer geladen wurden.
-
Wenn
eine Transcodierer-Operation abgeschlossen ist, wird ein Transcodierer,
der von dem externen System 86 geladen wird, vorzugsweise
lokal durch das IP-Proxy-System 84 gespeichert,
um nachfolgende Anforderungen an das externe Transcodierersystem 86 für denselben
Transcodierer zu vermeiden. Ein Abrufen und Laden eines Transcodierers
von einem lokalen oder internen Speicher in dem IP-Proxy-System 84 wird typischerweise
viel schneller abgeschlossen, als eine Anforderung an ein externes
System, und reduziert einen Verkehr auf der Kornmunikationsverbindung
zwischen dem IP-Proxy-System 84 und dem Transcodierersystem 86.
In derartigen IP-Proxy-Systemen bestimmt vorzugsweise die aktive
Verbindungshandhabungsvorrichtung, welche die HTTP-Handhabungsvorrichtung 94 in
der 8 ist, ob ein erforderlicher Transcodierer in einem
lokalen Datenspeicher gespeichert ist, bevor sie den Transcodierer
von dem externen Transcodierersystem 86 anfordert. Abhängig von
der Menge des verfügbaren
Speichers können
Transcodierer auf unbestimmte Zeit oder für einen bestimmten Zeitabschnitt
gespeichert werden. Andere Speicherverwaltungsschemen, wie zum Beispiel Überschreiben
von gespeicherten Transcodierern auf einer LRU-Basis, können ebenfalls
verwendet werden, wenn Speicher-Ressourcen begrenzt sind.
-
Die
Konfigurationsdatei 92 oder die Transcodierer-Verweistabelle
können
für ein
externes Transcodierer-Laden angepasst werden durch Aufnahme einer
Angabe der Position eines Transcodierer in der Konfigurationsdatei
oder dem Tabellenein trag für
den Transcodierer. Die Datei 92 oder die Tabelle wird vorzugsweise aktualisiert,
wenn ein Transcodierer in einem lokalen Speicher gespeichert oder überschrieben
wird, so dass die aktive Handhabungsvorrichtung aus der anfänglichen
Verweis-Operation feststellen kann, ob der Transcodierer aus dem
externen Transcodierersystem 86 geladen werden muss. Wenn
ein Transcodierer nicht oder nicht mehr lokal gespeichert ist, dann
zeigt die Datei 92 oder Verweistabelle vorzugsweise an,
von wo der Transcodierer abgerufen werden kann. Für einen
Transcodierer, der durch eine HTTP-Verbindung abgerufen werden kann,
kann die entsprechende Datei oder der Tabelleneintrag die IP-Adresse
des Transcodierersystems 86 anzeigen, während eine Netzwerkadresse
in der Konfigurationsdatei oder in der Verweistabelle spezifiziert
werden kann, wenn eine LAN-Verbindung verwendet wird.
-
Es
wird auch erwogen, dass mehr als ein externes Transcodierersystem
in einem Kommunikationssystem, wie 90, implementiert werden
kann. In einer derartigen Anordnung würde die Konfigurationsdatei 92 oder
Verweistabelle vorzugsweise Einträge für alle Transcodierer umfassen,
die für
ein IP-Proxy-System 84 über
alle externen Transcodierersysteme verfügbar sind, mit denen es kommunizieren
kann. Ein IP-Proxy 84 kann somit Transcodierer von jedem
einer Anzahl von Transcodierersystemen über direkte oder Netzwerk-Verbindungen
herunterladen. Der gesamte Betrieb eines IP-Proxy-Systems 84 mit
mehreren Transcodierersystemen würde
im Wesentlichen wie oben beschrieben sein, außer dass auf unterschiedliche
Transcodierersysteme zugegriffen werden kann, möglicherweise unter Verwendung
unterschiedlicher Übertragungsmechanismen
und Kommunikationsprotokolle, für
jede Daten-Transcodier-Operation. Verkettete Transcodier-Operationen können möglicherweise
auch eine Kommunikation mit unterschiedlichen Transcodierersystemen
umfassen.
-
Die
Konfigurationsdatei 92 oder Verweistabelle ist vorzugsweise
ausgebildet, um ein einfaches Auflösungs-Schema zu erleichtern,
wenn ein bestimmter Typ von Transcodierer von mehr als einem Transcodierersystem
verfügbar
ist. Obwohl ein IP-Proxy-System 84 möglicherweise auf mehrere Transcodierersysteme
zugreifen kann, kann ein Besitzer oder Administrator eines IP-Proxy-Systems 84 eines
dieser Transcodierersysteme als ein bevorzugtes oder standardmäßiges System
bestimmen, von dem der IP-Proxy 84 zuerst versucht, einen
Transcodierer herunterzuladen. Die Reihenfolge der Präferenz von
Transcodierersystemen für
einen Transcodierer, der von mehr als einem Transcodierersystem
verfügbar
ist, kann zum Beispiel in der Reihenfolge der Konfigurationsdatei
oder Verweistabellen-Einträge reflektiert
werden. Wenn die Datei oder Tabelle nach Transcodierer-Typ geordnet
ist, dann werden die Einträge,
die den bevorzugtesten Quellen für
einen bestimmten Transcodierer entsprechen, vorzugsweise vor den
Einträgen
verzeichnet, die zu anderen Transcodierersystemen gehören. Die
Konfigurationsdatei oder Verweistabelle können stattdessen entsprechend
dem Transcodierersystem geordnet werden, wobei alle Einträge für das standardmäßige oder
bevorzugte Transcodierersystem zuerst kommen. In beiden diesen beispielhaften
Anordnungen versucht ein IP-Proxy-System 84 vorzugsweise,
einen bestimmten Transcodierer von einer bevorzugten Quelle zu laden,
bevor es auf andere Quellen zugreift.
-
Es
sollte aus der vorhergehenden Beschreibung offensichtlich sein,
dass, wenn ein Transcodierer in der Konfigurationsdatei oder Verweistabelle
nicht durch ein IP-Proxy-System 84 geladen
werden kann, dann kann ein Fehler an die mobile Vorrichtung 12 und
möglicherweise
eine Informationsquelle 20 zurückgesendet werden, insbesondere,
wenn die Informationsquelle versucht, einen Inhalt an die mobile
Vorrichtung 12 zu verschieben. Ein Fehlschlagen, einen
Transcodierer zu laden, kann auch behoben werden durch Finden alternativer
Transcodierer oder Verkettung von Transcodierern. Ein weiteres Verfahren
zur Behebung von Transcodiererproblemen ist, die „Akzeptiere"-Zeile zu modifizieren,
um den Datentyp zu entfernen, der das Problem verursacht hat, und
die Anforderung erneut an den Webserver oder die Informationsquelle 20 zu
senden.
-
Wie
oben beschrieben, können
neue Transcodierer mit einem IP-Proxy-System 84 registriert
werden durch Hinzufügen
eines entsprechenden Eintrags zu der Konfigurationsdatei 92 oder
eine Transcodierer-Verweistabelle. Folglich wird, wenn ein neuer
Transcodierer zu einem externen Transcodierersystem hinzugefügt wird,
die Konfigurationsdatei 92 oder Verweistabelle in jedem
IP-Proxy-System 84, das Transcodierer von dem Transcodierersystem
herunterladen kann, vorzugsweise entsprechend aktualisiert. Dies
kann erreicht werden zum Beispiel durch Konfigurieren von Transcodierersystemen,
um Aktualisierungsnachrichten an die IP-Proxy-Systeme 84 zu senden,
wenn neue Transcodierer hinzugefügt
werden. Ein Transcodierersystem kann stattdessen eine Aktualisierungsnachricht
oder Anzeige an Antworten auf Anforderungen von einem IP-Proxy-System 84 anfüngen, nachfolgend
auf das Hinzufügen
eines neuen Transcodierers. Gemäß diesem
Schema kann eine Aktualisierungsnachricht oder Anzeige an die Antwort
an ein IP-Proxy-System 84 das
erste Mal angefügt werden,
wenn ein Transcodierer von einem Transcodierersystem angefordert
wird, nachdem ein neuer Transcodierer hinzugefügt wurde. Eine LP-Proxy-Transcodier-Konfigurationsdatei
oder Verweistabelle kann auch aktuell gehalten werden bezüglich einem
oder mehreren externen Transcodierersystem(en) durch Ausführen einer
Entdeckungsroutine, wodurch ein Register von verfügbaren Transcodierern
regelmäßig abgefragt
wird, um neue Transcodierer „zu
entdecken", wenn
sie verfügbar
werden.
-
9 zeigt
ein weiteres Signal-Flussdiagramm für ein externes Transcodierersystem.
In der 9 ist nicht nur das Transcodierersystem 86,
sondern auch die Konfigurationsdatei 102 zu dem IP-Proxy-System 84 extern
und kann somit von mehreren IP-Proxy-Systemen gemeinsam verwendet
werden. Eine Kommunikation zwischen einem IP-Proxy 84 und
der Konfigurationsdatei 102 kann über eine direkte Verbindung
oder eine Netzwerkverbindung erfolgen, und kann für unterschiedliche
IP-Proxy-Systeme unterschiedlich sein. Zum Beispiel kann die Konfigurationsdatei 102 von
einem Besitzer oder Betreiber eines bestimmten IP-Proxy-Systems unterhalten
werden, das mit der Konfigurationsdatei durch eine direkte Kommunikation
verbunden ist, während andere
IP-Proxy-Systeme mit der Konfigurationsdatei 102 durch
lokale oder Weitbereichsnetzwerkverbindungen kommunizieren können. Wie
oben kann die Konfigurationsdatei 102 stattdessen als eine
Verweistabelle implementiert werden. Die Konfigurationsdatei 102 kann
somit betrachtet werden als ein Register (registry), mit dem ein
oder mehrere externe Transcodierersystem(e), wie 86, verfügbare Transcodierer
registrieren.
-
Die
in 9 gezeigten Operationen werden nun im Detail beschrieben.
Wenn eine HTTP-Anforderung von dem Dispatcher 22 in dem
IP-Proxy-System 84 empfangen wird, wird sie an die HTTP-Handhabungsvorrichtung 94 weitergeleitet,
die feststellt, wie oben beschrieben, ob zusätzliche Inhaltstypen in das
für die
mobile Vorrichtung kompatible WMLC-Format transcodiert werden können. In
dem Beispiel von 9 ist jedoch die Konfigurationsdatei 102 entfernt
von dem IP-Proxy-System 84. Wenn die Konfigurationsdatei 102 über HTTP zugänglich ist,
dann verwaltet die HTTP-Handhabungsvorrichtung 94 die Transcodierer-Suchfunktion (lookup) mit
der Konfigurationsdatei 102. Wenn die Konfigurationsdatei 102 nicht
für HTTP
ausgebildet ist, dann kann eine andere Verbindungshandhabungsvorrichtung
aufgerufen werden, um die Transcodierer-Suche oder Konfigurationsdatei-Suche
zu erleichtern.
-
Abhängig von
den Transcodierern, die für
den IP-Proxy 84 verfügbar
sind, kann die HTTP-Handhabungsvorrichtung 94 die akzeptierten
Inhaltstypen in der Anforderung von der mobilen Vorrichtung 12 erweitern,
um die zusätzlichen
Inhaltstypen aufzunehmen, die in das WMLC-Format transcodiert werden
können, das
an der mobilen Vorrichtung 12 akzeptabel ist. Wie oben
wird angenommen, dass der Webserver 76, von dem Inhalt
angefordert wird, WML-Inhalt an die HTTP-Handhabungsvorrichtung 94 zurücksendet.
Das Transcodierungssystem 86 ermöglicht ein entferntes Transcodieren
von Inhalt. Anstatt einen WML->WMLC-Inhalts-Transcodierer
von dem Transcodierersystem 86 anzufordern und zu laden, überträgt die HTTP-Handhabungsvorrichtung 94 (oder
eine andere Verbindungs handhabungsvorrichtung, abhängig von
dem bestimmten Transcodierersystem und den Übertragungsschemen, die sie
unterstützt)
den WML-Inhalt an das Transcodierungssystem 86. In dem
Transcodierungssystem 86 wird der geeignete WML->WMLC-Transcodierer 104a ausgeführt und
der WML-Inhalt wird in WMLC-Format transcodiert. Der WMLC-Inhalt
wird dann zurück
an die HTTP-Handhabungsvorrichtung 94 oder
eine andere Verbindungshandhabungsvorrichtung gesendet, wenn eine
Kommunikation von dem IP-Proxy 84 zu dem Transcodierersystem
nicht HTTP verwendet. Wenn der WMLC-Inhalt durch das Transcodierungssystem 86 zurückgesendet
wird und von der HTTP-Handhabungsvorrichtung 94 empfangen
wird, möglicherweise
durch eine andere Verbindungshandhabungsvorrichtung, die mit dem
Transcodierungssystem 86 kommuniziert, wird er an den Dispatcher 22 weitergeleitet.
Der Dispatcher 22 bereitet dann eine Antwort vor, einschließlich des
WMLC-Inhalts, und sendet die Antwort an die mobile Vorrichtung 12.
Die HTTP-Handhabungsvorrichtung 94 kann stattdessen die
Antwort vorbereiten, die dann (wenn notwendig) von dem Dispatcher 22 übersetzt
wird, um zu dem Kommunikationsprotokoll oder – Schema zu passen, das von
der mobilen Vorrichtung 12 verwendet wird. Illustrativ
kann der WML-Inhalt, der von dem Webserver 76 zurückgesendet
wird, von der HTTP-Handhabungsvorrichtung 94 gespeichert
werden, falls ein Datenübertragungs-
oder Transcodier-Fehler auftritt. Eine lokale Speicherung des WML-Inhalts ermöglicht einem
IP-Proxy-System 84, den Inhalt für ein Transcodieren erneut
zu senden an das selbe Transcodierersystem 86 oder an ein
anderes Transcodierersystem, ohne zuerst den Inhalt von dem Webserver 76 anfordern
zu müssen.
-
In
dem System von 9 wird erwogen, dass das Transcodierersystem 86 und
die Konfigurationsdatei 102 ebenfalls miteinander kommunizieren,
um sicherzustellen, dass die Konfigurationsdatei 102 genau
anzeigt, welche Transcodierer verfügbar sind. Eines der oben beschriebenen
Aktualisierungsschemen kann verwendet werden, um sicherzustellen,
dass die Konfigurationsdatei aktuell bleibt. Eine Konfigurationsdatei
kann zu einem bestimmten Typ von Verbindung gehören, wie HTTP-Verbindungen
und folglich HTTP-Verbindungshandhabungsvorrichtungen. Wenn eine
Konfigurationsdatei 102 zu einem bestimmten Transcodierersystem 86 gehört, dann
kann die Konfigurationsdatei resident in dem Transcodiersystem 86 sein.
Wenn mehrere Transcodiersysteme implementiert werden, kann eine
gemeinsame Konfigurationsdatei, die Transcodierer-Einträge für die Transcodierer
speichert, die in allen Transcodierersystemen verfügbar sind,
die Transcodierer-Suche
vereinfachen, die von einer Verbindungshandhabungsvorrichtung durchgeführt wird.
Ein IP-Proxy-System 84 muss dann nur eine einzelne Konfigurationsdatei
konsultieren, um festzustellen, ob geeignete Transcodierer von den
Transcodierersystemen verfügbar
sind, mit denen es kommunizieren kann. Diese einzelne Konfigurationsdatei/Server
kann auch Protokolle unterstützen,
um externen Transcodier-Servern eine Registrierung zu ermöglichen.
Ein Registrierungsprozess kann zum Beispiel eine Liste von verfügbaren Transcodierern
zu der einzelnen Konfigurationsdatei hinzufügen.
-
Externe
Transcodierersysteme 86 umfassen somit Herunterladen-Systeme,
von denen Transcodierer durch ein IP-Proxy-System 84 heruntergeladen
werden können
und lokal ausgeführt
werden können
(siehe 8), und entfernte Transcodierersysteme, an die
ein Inhalt für
ein Transcodieren an dem Transcodiersystem gesendet wird (siehe 9).
In einem anderen Ausführungsbeispiel
umfasst ein „hybrides" Transcodierersystem
Aspekte von beiden dieser Typen von Transcodierersystemen. Wenn
ein hybrides Transcodierersystem für ein IP-Proxy-System 84 verfügbar ist,
kann das IP-Proxy-System 84 entweder einen erforderlichen Transcodierer
von dem Transcodierersystem herunterladen oder einen Inhalt an das
Transcodierersystem senden, damit er entfernt transcodiert wird.
Die Auswahl eines Transcodierer-Downloads oder eine entfernte Transcodierung
kann zum Beispiel abhängig
sein von der Menge von zu transcodierenden Daten, der Komplexität der Transcodierung
(einzelne oder verkettete Operationen) oder anderen Kriterien.
-
Externe Verbindungshandhabungssysteme
-
Eine
weitere Erweiterung des Konzepts eines verteilten IP-Proxy-Systems
mit externen, möglicherweise
gemeinsam benutzten Komponenten wird in 10 gezeigt. 10 ist
ein Blockdiagramm eines Kommunikationssystems mit einem externen
Transcodierersystem 86 und einem externen Verbindungshandhabungssystem 108.
Das System 110 von 10 ist
im Wesentlichen dasselbe wie das System 90 in 7,
außer dass
das Verbindungshandhabungssystem 108 extern ist zu dem
IP-Proxy-System 106. Das IP-Proxy-System 106 kann
Verbindungshandhabungsvorrichtungen von dem Verbindungshandhabungssystem 108 über eine direkte
Verbindung, ein LAN 88 oder ein WAN 16, wie das
Internet, herunterladen.
-
11 ist
ein beispielhaftes Signal-Flussdiagramm für das System von 10.
In 11 sind das Verbindungshandhabungssystem 108,
das Transcodierersystem 86 und die Konfigurationsdatei 102 alles
externe Komponenten und können
somit von mehreren IP-Proxy-Systemen 106 gemeinsam benutzt
werden. Diese externen Komponenten können implementiert werden für einen
Zugriff durch alle IP-Proxy-Systeme 106,
die zum Beispiel einer Firma, einem Internetdiensteanbieter (ISP – Internet
Service Provider) oder einem Anwendungsdiensteanbieter (ASP – Application
Service Provider) gehören
und/oder betrieben werden, wie ein Firmen-Intranet, Wählanschluss
oder eine andere Kommunikationsanordnung. Das Verbindungshandhabungssystem 108,
das Transcodierersystem 86 und die Konfigurationsdatei 102 können stattdessen
für jeden IP-Proxy 106 durch
das Internet öffentlich
zugänglich
sein. Für
Fachleute ist offensichtlich, dass ein IP-Proxy-System, wie 106, möglicherweise
Zugriff zu sowohl privaten, möglicherweise
Firmen-, ISP- oder ASP-basierenden externen Komponenten, als auch öffentlichen
Verbindungshandhabungssystemen, Konfigurationsdateien oder Transcodierersystemen
haben kann. Wie oben, kann eine Kommunikation zwischen einem IP-Proxy 106 und
externem Komponenten über
eine direkte Verbindung oder eine Netzwerkverbindung sein, und kann
für unterschiedliche
IP-Proxy-Systeme unterschiedlich sein.
-
Auf
beispielhafte Weise werden die Operationen, die zu einem System,
wie 110, gehören,
im Folgenden für
eine HTTP-Anforderung beschrieben. Wenn eine HTTP-Anforderung von
dem Dispatcher 22 in dem IP-Proxy-System 106 empfangen
wird, ist es möglich,
dass eine geeignete Handhabungsvorrichtung von dem Verbindungshandhabungssystem 108 heruntergeladen
werden muss, es sei denn, die Handhabungsvorrichtung befindet sich
bereits auf dem IP-Proxy 106, wie detaillierter unten beschrieben
wird. Dies wird in 11 als Handhabungsvorrichtungs-Anforderung
gezeigt, die durch eine residente Handhabungsvorrichtung 112, wie
eine TCP-Handhabungsvorrichtung, verarbeitet werden kann, die mit
dem Verbindungshandhabungssystem 108 kompatibel ist. Diese
residente Handhabungsvorrichtung 112 wird normalerweise
lokal auf einem IP-Proxy-System 108 vorgesehen,
um eine Kommunikation zwischen einem IP-Proxy-System und einem externen Verbindungshandhabungssystem 108 zu
ermöglichen.
Jedoch kann die Handhabungsvorrichtung stattdessen durch ein IP-Proxy-System 106 von
einem Verbindungshandhabungssystem heruntergeladen werden, vorzugsweise
durch ein automatisiertes Downloadverfahren.
-
Die
Handhabungsvorrichtung 112 fordert dann die geeignete Verbindungshandhabungsvorrichtung, eine
HTTP-Verbindungshandhabungsvorrichtung in diesem illustrativen Beispiel,
von dem externen Verbindungshandhabungssystem 108 an. Wenn
die erforderliche Verbindungshandhabungsvorrichtung nicht verfügbar ist
oder nicht heruntergeladen werden kann, dann kann ein Fehler an
die mobile Vorrichtung 12 zurückgesendet werden. Wenn die
erforderliche HTTP-Verbindungshandhabungsvorrichtung 108a jedoch
durch das Verbindungshandhabungssystem 108 zurückgesendet
wird, wird es durch das IP-Proxy-System 106 geladen. Der
Dispatcher sendet dann die ursprüngliche
HTTP-Anforderung von der mobilen Vorrichtung 12 an die HTTP-Handhabungsvorrichtung 108a weiter.
Die HTTP-Handhabungsvorrichtung 108a kann dann feststellen, ob
zusätzliche
Inhaltstypen in das für
die mobile Vorrichtung kompatible WMLC-Format transcodiert werden können. Wie
oben beschrieben, kann diese Bestimmung gemacht werden durch Durchführen einer
Transcodierer-Suche in einer lokalen Konfigurationsdatei oder Verweistabelle
oder einer externen Konfigurationsdatei 102 oder Verweistabelle.
Wenn die Konfigurationsdatei 102 über HTTP zugänglich ist,
dann verwaltet die HTTP-Handhabungsvorrichtung 108a die
Transcodierer-Suche;
andernfalls kann eine andere Verbindungshandhabungsvorrichtung aufgerufen
werden, möglicherweise
nach einer weiteren Verbindungshandhabungsvorrichtungs-Downloadoperation,
um die Transcodierer-Suche oder Konfigurationsdateisuche zu erleichtern.
-
Abhängig von
dem Ergebnis der Transcodierer-Suche kann die HTTP-Handhabungsvorrichtung 108a die
akzeptierten Inhaltstypen in der Anforderung von der mobilen Vorrichtung
an eine Informationsquelle, wie einen Webserver 76, erweitern.
Wie oben wird angenommen, dass der Webserver 76 einen WML-Inhalt an die HTTP-Handhabungsvorrichtung 108a zurücksendet.
Der zurückgesendete
WML-Inhalt kann in einen WMLC-Inhalt transcodiert werden durch Aufrufen
eines WML->WMLC-Transcodierers,
der in einem Speicher in dem IP-Proxy-System 106 gespeichert
ist, durch Herunterladen eines WML->WMLC-Transcodierers
von einem externen Transcodierersystem und dann Aufrufen des Transcodierers
an dem IP-Proxy-System 106, oder durch Senden des WML-Inhalts von dem IP-Proxy-System 106 an
ein externes Transcodierersystem 86 für ein entferntes Transcodieren
durch einen WML->WMLC-Transcodierer 104a in
dem Transcodierungs-System 86. Obwohl eine einzelne Transcodierer-Operation
in 11 gezeigt wird, können auch verkettete Transcodierungs-Operationen
und notwendige zugehörige
Herunterlade- oder Übertragungs-Operationen
durchgeführt werden.
Wenn dann ein WMLC-Inhalt an die HTTP-Handhabungsvorrichtung 108a zurückgesendet
wird, möglicherweise
durch eine andere Verbindungshandhabungsvorrichtung, wenn die Kommunikation
von dem IP-Proxy 106 zu dem Transcodierersystem 86 kein
HTTP verwendet, wird eine Antwort einschließlich des WMLC-Inhalts vorbereitet
und durch den Dispatcher 22 an die mobile Vorrichtung 12 gesendet.
-
Das
externe Verbindungshandhabungssystem 108 sieht eine Erweiterung
der Typen einer Verbindung vor, durch die ein IP-Proxy-System 106 auf
Daten zugreifen kann, die an eine mobile Vorrichtung 12 zu
senden sind. Sobald sie von einem externen Verbindungshandhabungssystem
heruntergeladen ist, kann eine Verbindungshandhabungsvorrichtung,
wie die HTTP-Handhabungsvorrichtung 108a, durch ein IP-Proxy-System 106 in
einem lokalen Datenspeicher gespeichert werden. In solchen Systemen
greift der Dispatcher 22 vorzugsweise auf den lokalen Speicher
zu, um festzustellen, ob eine erforderliche Handhabungsvorrichtung
bereits in dem IP-Proxy-System 106 resident ist. Nachfolgende
Downloads für
vorher verwendete Verbindungshandhabungsvorrichtungen können dadurch
vermieden werden. Downloadoperationen können weiter reduziert werden
durch Vorsehen von einer oder mehrerer der am meisten verwendeten
Verbindungshandhabungsvorrichtungen in einem lokalen Speicher bei
Initialisierung eines IP-Proxy-Systems 106,
so dass nur weniger häufig verwendete
Verbindungshandhabungsvorrichtungen von einem externen Verbindungshandhabungssystem heruntergeladen
werden, wenn erforderlich.
-
Ähnlich dem
oben beschriebenen externen Transcodierungs-System kann ein externes
Verbindungshandhabungssystem entweder ein Herunterladesystem, wie
in 11 gezeigt, oder ein entferntes Verbindungshandhabungssystem
sein, in dem Verbindungshandhabungsvorrichtungen auf dem Verbindungshandhabungssystem
aufgerufen und durchgeführt
werden anstatt heruntergeladen zu werden für eine Ausführung auf dem IP-Proxy-System 106.
In dem Beispiel einer HTTP-Anforderung,
wenn eine entfernte Verbindungshandhabung aktiviert ist, kann eine Anforderung
von der mobilen Vorrichtung 12 entweder deligiert oder
abgegeben werden an das Verbindungshandhabungssystem.
-
12 ist
ein Signal-Flussdiagramm, das eine Abgabe einer Informationsanforderung
an eine externe Verbindungshandhabungsvorrichtung darstellt. In
dem Beispiel von 12 wird eine Anforderung von
der mobilen Vorrichtung 12 durch den Dispatcher 22 in
dem IP-Proxy-System 106a empfangen und an die residente Handhabungsvorrichtung 112 weitergeleitet.
Obwohl als eine residente Handhabungsvorrichtung bezeichnet, kann
die Handhabungsvorrichtung 112 auf das IP-Proxy-System 106a von
einem externen Verbindungshandhabungssystem heruntergeladen worden
sein. Die residente Handhabungsvorrichtung 112 kann dann
eine Transcodiererkonfigurationsdatei 72 konsultieren und
die akzeptierten Inhaltstypen in der Anforderung erweitern. Es ist
aus der vorangehenden Beschreibung offensichtlich, dass eine externe
Konfigurationsdatei ebenfalls implementiert werden kann. Die residente
Handhabungsvorrichtung 112, die, wie oben beschrieben,
mit dem Verbindungshandhabungssystem 108 kompatibel ist,
leitet die Anforderung, möglicherweise
mit einer erweiterten „Akzeptieren"-Zeile, an das Verbindungshandhabungssystem 108 weiter.
Das Verbindungshandhabungssystem 108 stellt fest, dass
die Anforderung eine HTTP-Anforderung ist und ruft die HTTP-Verbindungshandhabungsvorrichtung 108a auf.
Die Anforderung wird somit an die externe Handhabungsvorrichtung 108a deligiert,
die eine HTTP-Anforderung
an die Informationsquelle sendet, in diesem Beispiel der Webserver 76, und
einen zurückgesendeten
WML-Inhalt empfängt.
Der WML-Inhalt wird dann an die residente Handhabungsvorrichtung 112 zurückgesendet,
die den WML-Inhalt in für
die mobile Vorrichtung kompatiblen WMLC-Inhalt transcodiert unter
Verwendung eines WML->WMLC-Transcodierers 74.
Diese Transcodierung kann stattdessen verkettete Transcodierer und/oder
externe Transcodierer umfassen, wie oben beschrieben. Der resultierende
WMLC-Inhalt wird dann an die mobile Vorrichtung 12 über den
Dispatcher 22 zurückgesendet.
-
In 12 wird
eine Erweiterung von akzeptierten Inhaltstypen und eine Inhaltstranscodierung
in dem IP-Proxy-System 106a verwaltet. 13 ist
ein Signal-Flussdiagramm,
das eine Variation der Anforderungsabgabe von 12 zeigt.
In 13 wird eine Anforderung von der mobilen Vorrichtung 12 an
die residente Handhabungsvorrichtung 112 durch den Dispatcher 22 weitergeleitet.
Die residente Handhabungsvorrichtung 112 leitet dann die
Anforderung an das Verbindungshandhabungssystem 108 weiter,
das die HTTP-Handhabungsvorrichtung 108a startet. Die HTTP-Handhabungsvorrichtung 108a konsultiert
die Konfigurationsdatei 102 oder Verweistabelle, um festzustellen,
welche, wenn vorhanden, Transcodierer verfügbar sein können, um andere Inhaltstypen
in den angeforderten Typ, WMLC, zu transcodieren, und modifiziert
dann die Anforderung, um diese anderen Inhaltstypen, WML und HTML
in diesem Beispiel, mit aufzunehmen. Die modifizierte Anforderung
wird an den Webserver 76 gesendet, der einen WML-Inhalt
zurücksendet.
Der zurückgesendete WML-Inhalt
wird an einen geeigneten WML->WMLC-Transcodierer 104a in
einem Transcodierersystem 86 gesendet und der transcodierte
Inhalt wird an die HTTP-Handhabungsvorrichtung 108a und
dann an die residente Handhabungsvorrichtung 112 in dem
IP-Proxy-System 106a zurückgesendet.
Eine Antwort, einschließlich des
WMLC-Inhalts, wird an die mobile Vorrichtung von der Handhabungsvorrichtung 112 durch
den Dispatcher 22 gesendet, um die Operation abzuschließen.
-
14 ist
ein Signal-Flussdiagramm, das eine Übergabe einer Anforderung an
eine externe Verbindungshandhabungsvorrichtung zeigt. In einem Übergabeschema
leitet das IP-Proxy-System 106c die Anforderung über seine
residente Handhabungsvorrichtung 112 an das externe Handhabungssystem 108 weiter. Das
Verbindungshandhabungssystem 108 und die geeignete Handhabungsvorrichtung,
die HTTP-Handhabungsvorrichtung 108b in diesem Beispiel,
verwalten dann den Rest der Information-Anforderungs/Antwortoperation.
Sobald die Anforderung an ein externes Verbindungshandhabungssystem übergeben
ist, hat das IP-Proxy-System 106c vorzugsweise
keine weitere Beteiligung an der Operation.
-
Unter
Bezugnahme nun detailliert auf 14, wird
eine Anforderung von der mobilen Vorrichtung 12 an das
Verbindungshandhabungssystem 108 gesendet. Das Verbindungshandhabungssystem 108 ruft
die geeignete Handhabungsvorrichtung auf, illustrativ die HTTP-Handhabungsvorrichtung 108a,
welche die Anforderung modifizieren kann, um weitere Inhaltstypen
zu umfassen, und sendet die Anforderung an die Informationsquelle
(Webserver 76), empfängt
einen Inhalt von der Informationsquelle und ruft jede erforderliche
Transcodierungs-Operation in dem externen Transcodierungs-System 86 auf,
im Wesentlichen wie oben in Verbindung mit 13 beschrieben
wird. Anstatt jedoch den transcodierten WMLC-Inhalt an das IP-Proxy-System 106c zurückzusenden,
umfasst das externe Verbindungshandhabungssystem vorzugsweise eine
mobile-Vorrichtung-Protokoll-Handhabungsvorrichtung 108c,
die eine Antwort an die mobile Vorrichtung 12 sendet.
-
Wenn
ein mobiles-Vorrichtungs-Protokoll derart anders ist als das Anforderungsprotokoll,
so dass andere Handhabungsvorrichtungen für eine Kommunikation mit einer
Informationsquelle und der mobilen Vorrichtung aufgerufen werden,
wie in 14 gezeigt, werden die HTTP-Handhabungsvorrichtung 108b und
die mobile-Vorrichtung-Protokoll-Handhabungsvorrichtung 108c gewissermaßen verkettet, ähnlich der
Transcodierer-Verkettung, die oben beschrieben wurde. Obwohl als
Teil desselben Verbindungshandhabungssystems 108 gezeigt,
können
die HTTP-Handhabungsvorrichtung 108b und
die mobile-Vorrichtung-Protokoll-Handhabungsvorrichtung 108c stattdessen
zu anderen Verbindungshandhabungssystemen gehören. Das Verbindungshandhabungssystem 108 kann
zum Beispiel die mobile-Vorrichtung-Protokoll-Handhabungsvorrichtung 108c von
einem anderen Verbindungshandhabungssystem herunterladen oder die
mobile-Vorrichtung-Protokoll-Handhabungsvorrichtung
an dem entfernten System aufrufen. Es ist aus der vorangehenden
Beschreibung offensichtlich, dass die mobile-Vorrichtung-Protokoll-Handhabungsvorrichtung 108c in 14 funktionell ähn lich ist
zu dem Dispatcher 22 dadurch, dass es zwischen Verbindungshandhabungsvorrichtung
und Kommunikationsprotokollen der mobilen Vorrichtung übersetzt,
wenn notwendig.
-
Verbindungshandhabungsvorrichtungen
in den selben oder unterschiedlichen Verbindungshandhabungssystemen
können
ebenfalls verkettet werden, um eine Informationsanforderung von
der mobilen Vorrichtung 12 zu verarbeiten, zum Beispiel
um die Information von einer Informationsquelle anzufordern oder
um ein Transcodieren eines zurückgesendeten
Inhalts zu verwalten. Die Verbindungshandhabungsvorrichtungs-Verkettungsoperationen
kann eine Abgabe (delegation) oder Übergabe (hand-off) umfassen,
und kann vorzugsweise gesteuert werden entweder durch ein Verbindungshandhabungssystem
oder ein IP-Proxy-System,
an dem eine Anforderung ursprünglich
empfangen wurde.
-
Es
wird auch erwogen, dass mehr als ein Verbindungshandhabungssystem
für jedes
IP-Proxy-System verfügbar
sein kann. Wie oben für
externe Transcodierer-Systeme
beschrieben, können
externe Verbindungshandhabungssysteme in einem oder mehreren Register(n)
registriert werden, die von einem IP-Proxy-System konsultiert werden
können,
um verfügbare
Verbindungshandhabungsvorrichtungen zu finden. Wenn eine Verkettung
von Verbindungshandhabungsvorrichtungen erforderlich ist, können Verbindungshandhabungssysteme
auch auf das Register zugreifen, um einen bestimmten Typ von Verbindungshandhabungsvorrichtung
in einem anderen Verbindungshandhabungssystem zu lokalisieren. Ein
Registerschema würde
auch eine dynamische Verbindungshandhabungsvorrichtungsverwaltung
vereinfachen durch Erleichtern einer Entdeckungsfunktionalität, um IP-Proxy-Systemen und
Verbindungshandhabungssystemen zu ermöglichen, neue Verbindungshandhabungsvorrichtungen
und -systeme zu entdecken, wenn sie verfügbar werden. In Systemen mit mehreren
externen Verbindungshandhabungssystemen kann ein IP-Proxy-System
effektiv ein Last-Ausgleichs-Modul werden, das ankommende Anforderungen
der mobilen Vorrichtung unter verschiedenen Verbindungshandhabungsvorrichtungen
verteilen kann.
-
Verbindungshandhabungsvorrichtungen
wurden oben hauptsächlich
in dem Kontext von Kommunikations- oder Verbindungsprotokollen beschrieben.
Jedoch wird auch erwogen, dass Handhabungsvorrichtungen für andere
Funktionen oder Dienste implementiert werden können, einschließlich zum
Beispiel Verschlüsselung,
Komprimierung, Benutzerauthentisierung und Zustandsverwaltung. Derartige „Dienst-Handhabungsvorrichtungen" können möglicherweise
in Verbindungshandhabungsvorrichtungen eingebettet sein, sind vorzugsweise
aber verschiedene Module, die mit Verbindungshandhabungsvorrichtungen
verkettet werden können,
wie erforderlich. Ein Verkettungsmechanismus liefert mehr Flexibilität in der
Verbindungsverwaltung und Anforderungsverarbeitung, da eine grundlegende
Verbindungshandhabungsvorrichtung mit so vielen Dienst-Handhabungsvorrichtungen
verkettet werden kann, wie gewünscht,
um eine Verbindungs- oder Anforderungs/Antwort-Operation kundenspezifisch
anzupassen. Ein Verbindungshandhabungssystem kann Dienst-Handhabungsvorrichtungen
umfassen und kann auch oder stattdessen eine Verkettung von Verbindungshandhabungsvorrichtungen
und Dienst-Handhabungsvorrichtung erreichen durch Herunterladen
oder entferntes Ausführen
von Dienst-Handhabungsvorrichtungen in einem oder mehreren weiteren
Dienst-Handhabungssystemen.
-
Beispielhafte Implementierung
-
Eine
beispielhafte Implementierung eines IP-Proxy-Systems wird nun beschrieben. 15 ist
ein Blockdiagramm, das ein IP-Proxy-System zeigt, das in einem sicheren
Netzwerk implementiert ist.
-
Das
System 120 in der 15 umfasst
eine mobile Vorrichtung 12, die in einem drahtlosen Netzwerk 14 arbeitet.
Durch ein Gateway 15 kann die mobile Vorrich tung Daten über ein
WAN 16, wie dem Internet, empfangen und vorzugsweise auch
senden. Diese Elemente des Systems 120 sind im Wesentlichen
dieselben wie ähnlich
bezeichnete Elemente in der 1. In dem
System 120 ist jedoch das IP-Proxy-System 124 in
einem privaten Netzwerk konfiguriert, wie ein Firmennetzwerk 130,
hinter einer Sicherheits-Firewall 127, und kommuniziert
mit dem Gateway 15 durch einen Netzwerkservercomputer 122.
In einem bestimmten beispielhaften Ausführungsbeispiel gehört der Netzwerkserver 122 zu
einem Email-System 128.
Zwei Informationsquellen, eine interne Quelle 126 und eine
externe Quelle 132, werden ebenfalls in der 15 gezeigt.
-
Der
Netzwerkserver 122 ermöglicht
vorzugsweise eine sichere Kommunikation mit der mobilen Vorrichtung 12,
wie durch die Verschlüsselungs-
und Entschlüsselungsblöcke 122a und 122b angezeigt
wird. Der Netzwerkserver 122 verschlüsselt die gesamte Kommunikation,
die an eine mobile Vorrichtung 12 gerichtet ist. Die vorgesehene
mobile Empfängervorrichtung 12 kann
unter Verwendung eines darin gespeicherten geheimen Schlüssels eine
verschlüsselte
Kommunikation von dem Netzwerkserver 122 entschlüsseln. Eine
mobile Vorrichtung 12 verschlüsselt ähnlich alle Information, die
an den Netzwerkserver 122 gesendet wird, die durch das
Entschlüsselungsmodul 122b entschlüsselt werden
kann. Für
Fachleute der Kryptographie ist offensichtlich, dass die Schlüssel und
die Verschlüsselungsalgorithmen,
die an dem Netzwerkserver 122 und der mobilen Vorrichtung 12 verwendet
werden, vorzugsweise derart gewählt
werden, dass es rechnerisch unmöglich ist,
eine verschlüsselte
Information ohne den erforderlichen geheimen Schlüssel zu
entschlüsseln.
Ein bevorzugte Verschlüsselungsschema
ist Triple-DES (Date Encryption Standard).
-
Eine
Schlüsselverteilung
zwischen einem Netzwerkserver 122 und einer mobilen Vorrichtung 12 kann über eine
sichere Verbindung, wie eine sichere physikalische Verbindung zwischen
der mobilen Vorrichtung 12 und dem Netzwerkserver 122 oder
zwischen der mobilen Vorrichtung 12 und einem anderen Computer
in dem Firmennetzwerk, erreicht werden. Bekannte Kryptographie-Techniken
mit öffentlichem
Schlüssel
können stattdessen
für eine
Schlüsselverteilung
verwendet werden. In einem öffentlichen
Schlüssel-Schema
wird ein öffentlicher
Schlüssel
verwendet, um eine Information derart zu verschlüsseln, dass die verschlüsselte Information
unter Verwendung eines entsprechenden privaten Schlüssels entschlüsselt werden
kann. Der öffentliche
Schlüssel
wird durch ein öffentlich
zugängliches
Schlüsseldepot,
das allgemein als eine Zertifikatsautorität oder CA (Certificate Authority)
bezeichnet wird, gespeichert und kann daraus abgerufen werden, während der private
Schlüssel
nur an einer mobilen Vorrichtung oder an einem System gespeichert
wird, zu der/dem der öffentliche
Schlüssel
gehört.
So kann ein Netzwerkserver 122 oder jeder andere Sender,
der eine verschlüsselte
Information an eine mobile Vorrichtung 12 senden möchte, den öffentlichen
Schlüssel
der mobilen Vorrichtung von einer CA abrufen und den öffentlichen
Schlüssel
verwenden, um die Information zu verschlüsseln, die für die mobile
Vorrichtung 12 bestimmt ist. Eine mobile Vorrichtung 12 kann ähnlich den öffentlichen
Schlüssel
eines Netzwerkservers von einer CA erlangen und den öffentlichen
Schlüssel
verwenden, um Kommunikationssignale zu verschlüsseln, die an den Server gesendet
werden sollen.
-
Unabhängig von
dem bestimmten verwendeten Schlüsselverteilungsschema
und den Verschlüsselungstechniken
kann eine verschlüsselte
Kommunikation zwischen einer mobilen Vorrichtung 12 und
einem Netzwerkserver 122 zum Beispiel verwendet werden,
wo auf eine Firmen- oder andere private Information zugegriffen
werden soll unter Verwendung einer mobilen Vorrichtung. Es wird
das Beispiel der internen Informationsquelle 126 innerhalb
der Sicherheits-Firewall 127 betrachtet, das unten unter
Bezugnahme auf 16 beschrieben wird, die ein
Signal-Flussdiagramm ist, das eine Firmen-Daten-Zugriffs-Operation
darstellt. In Übereinstimmung
mit den obigen illustrativen beispielhaften Operationen zeigt 16 eine
HTTP-basierte Daten-Zugriffs-Operation.
-
In 16 wird
eine HTTP-Anforderung an der mobilen Vorrichtung 12 verschlüsselt, vorzugsweise
unter Verwendung einer starken Verschlüsselungsroutine, wie Triele-DES
(3DES), bevor sie an den Netzwerkserver 122 gesendet wird
durch das drahtlose Netzwerk 14 von 15 und
möglicherweise
andere dazwischenliegende Netzwerke oder Komponenten, wie das Gateway 15 und
das WAN 16, die in 15 gezeigt werden.
Die verschlüsselte
Anforderung wird dann von dem Netzwerkserver 122 empfangen
und in dem Entschlüsselungsmodul 122b entschlüsselt. Die
entschlüsselte
Anforderung wird an das IP-Proxy-System 124 weitergeleitet,
das fortfahren kann, die Anforderung im Wesentlichen wie oben beschrieben
zu verarbeiten. Die aktive Handhabungsvorrichtung, die HTTP-Handhabungsvorrichtung 26 in
diesem Beispiel, kann die Konfigurationsdatei 72 oder die
Transcodierer-Verweistabelle konsultieren und die akzeptierten Inhaltstypen
erweitern, um Inhaltstypen aufzunehmen, die in das/die Format(e)
transcodiert werden können,
die von der mobilen Vorrichtung 12 akzeptiert werden können. Ein
Anforderung, möglicherweise
weitere Inhaltstypen umfassend, wird dann von der HTTP-Handhabungsvorrichtung 26 an
die Informationsquelle 126 gesendet, die dann eine angeforderte
Information zurücksendet,
in dem WML-Format in diesem Beispiel. Ein geeigneter Transcodierer 74 wird
geladen und durch die HTTP-Handhabungsvorrichtung 26 aufgerufen,
wenn erforderlich, und der angeforderte Inhalt, vorzugsweise in
einem Format, das von der mobilen Vorrichtung 12 angefordert
wurde, wird an den Netzwerkserver 122 durch den Dispatcher 22 zurückgesendet.
Der Netzwerkserver 122 verschlüsselt dann den Inhalt, der
von dem IP-Proxy-System 124 empfangen wurde, in seinem
Verschlüsselungsmodul 122a und
sendet den verschlüsselten
Inhalt in einer Antwort an die mobile Vorrichtung 12. In
einigen Implementierungen können
die Protokoll-Umwandlungsoder -Übersetzungs-Operationen,
die dem Dispatcher zugeordnet sind, stattdessen von dem Netzwerkserver 122 durchgeführt werden.
-
Die
Informationsquelle 126 kann ein Computersystem oder Datenspeicher
sein, der vorzugsweise konfiguriert ist für einen Betrieb auf dem privaten
Netzwerk 130, wie ein Dateiserver oder ein anderer Datenspeicher,
der durch das Netzwerk 130 zugänglich ist. In dem Beispiel
eines Firmennetzwerks kann die Informationsquelle 126 eine
vertrauliche oder andere empfindliche Information umfassen, die
ein Inhaber des Netzwerkes 130 privat halten möchte. Der
Sicherheits-Firewall 127 soll
einen nicht autorisierten Zugang zu privaten Netzwerkkomponenten
verhindern, einschließlich
zu der Informationsquelle 126. In einigen Situationen muss die
bloße
Existenz einer Information, die an der Informationsquelle gespeichert
ist, vertraulich bleiben. Die Verschlüsselung der Anforderung von
der mobilen Vorrichtung 12, wie in 16 gezeigt,
verhindert, dass ein nicht autorisierter Teilnehmer den Inhalt der
Anforderung bestimmen kann, ohne die Verschlüsselung zu „knacken", das, wie oben beschrieben, rechnerisch
nicht durchführbar
ist für
starke Verschlüsselungsschemen,
wie 3DES. Die Anforderung bleibt verschlüsselt, bis sie von dem Netzwerkserver 122 empfangen
wird und hinter der Sicherheits-Firewall 127 entschlüsselt wird,
wie bei 134 in der 16 gezeigt
wird. Die Anforderung ist folglich im Grunde genommen so sicher
wie eine Anforderung, die von einem Computersystem in dem Netzwerk 130 gesendet
wird.
-
Sobald
entschlüsselt,
wird die Anforderung von dem IP-Proxy 124 und der Informationsquelle 126 verarbeitet,
wie oben beschrieben. Jedoch stellt eine Verschlüsselung des angeforderten Inhalts
durch das Verschlüsselungsmodul 122a in
dem Netzwerkserver 122, bevor er an die mobile Vorrichtung 12 gesendet
wird, ähnlich
sicher, dass der Inhalt nur durch die mobile Vorrichtung 12 angesehen
werden kann. Eine vertrauliche Firmeninformation bleibt folglich
verschlüsselt
und somit sicher, bis sie an der mobilen Vorrichtung 12 empfangen
und entschlüsselt
wird, wodurch effektiv der Sicherheits-Firewall 127 auf
die mobile Vorrichtung 12 erweitert wird. Sowohl die Anforderung
als auch die Information, die an die mobile Vorrichtung 12 als
Antwort darauf zurückgesendet
wird, sind sicher.
-
In
bekannten entfernten Datenzugriffsschemen, wie WAP, befinden sich
Gateway-Systeme, die einen Datenzugang unter Verwendung von mobilen
Vorrichtungen vorsehen, außerhalb
von Firmen- oder privaten Örtlichkeiten,
zum Beispiel an dem Ort des Dienstanbieters. Eine vertrauliche oder
empfindliche Information, die an den privaten Örtlichkeiten verschlüsselt wird,
wird an dem Gateway-System außerhalb
der Firmen-Firewall entschlüsselt
und dann erneut verschlüsselt,
bevor sie an die mobile Ziel-Vorrichtung oder Vorrichtungen gesendet
wird. Die Information ist folglich offen bzw. unverschlüsselt (in
the clear) an dem Gateway-System und folglich zugänglich durch
einen Inhaber oder Betreiber des Gateway-Systems. Außerdem hat
der Inhaber oder Betreiber eines privaten Netzwerkes, von dem die
Information gesendet wurde, typischerweise keine Kontrolle über Sicherheitsanordnungen
an dem Gateway-System, so dass die Information für Angriffe auf das Gateway-System
verletzlich ist.
-
Die
Anordnung, die in den 15 und 16 gezeigt
wird, sieht einen sicheren entfernten Zugriff auf eine private,
vertrauliche oder anderweitig empfindliche Information vor. Eine
Information wird von Ende zu Ende zwischen dem Netzwerkserver 122 und
jeder mobilen Vorrichtung 12 verschlüsselt. Jeder Grad an Sicherheit
kann an der Sicherheits-Firewall 127 implementiert werden,
um eine vertrauliche Information zu schützen, die an einer Informationsquelle,
wie 126, gespeichert ist, und wenn sie durch den Netzwerkserver 122 verschlüsselt wird,
wird eine Information nicht an irgendeinem Zwischenpunkt entschlüsselt, bevor
sie an einer mobilen Vorrichtung 12 empfangen wird. Die
Information ist offen nur „innerhalb" des Punkts 134,
hinter der Sicherheits-Firewall 127, und auf der mobilen
Vorrichtung 12. Sicherheitsanordnungen, wie Passwort- oder Passphrasen-Steuerung, werden
ebenfalls vorzugsweise an der mobilen Vorrichtung 12 implementiert,
um zu verhindern, dass ein nicht autorisierter Benutzer die mobile
Vorrichtung verwendet oder eine empfangene verschlüsselte Information
entschlüsselt.
Zum Beispiel können
Computerworkstationen durch eine Passwortdeaktivierte Systemsperre
geschützt
werden und ein Zugang zu einem Firmen netzwerk 130 wird
normalerweise durch Login- bzw. Anmelde-Passwörter geschützt. Ähnlich kann ein Passwort erforderlich
sein, um eine mobile Vorrichtung 12 zu benutzen, während eine
andere Passphrase erforderlich sein kann, um eine verschlüsselte Information
zu entschlüsseln,
die auf der mobilen Vorrichtung 12 gespeichert ist. Eine
mobile Vorrichtung 12 und darauf gespeicherte Information
sind dadurch so sicher wie eine Netzwerkworkstation und eine Information,
die auf einem Netzwerk gespeichert ist. Derartige Techniken, wie
begrenzte Passwort- oder Passphrasen-Eingabewiederholungen, Zurücksetzen
der mobilen Vorrichtung 12 oder des Speichers der mobilen
Vorrichtung nach einer vorbestimmten Anzahl von fehlerhaften Passwort/Passphrasen-Eingaben,
dynamische und möglicherweise
zufällige
Passwort-/Passphrasen-Aktualisierungen und Ähnliches können verwendet werden, um eine
Sicherheit der mobile Vorrichtung weiter zu verbessern.
-
Für eine externe
Informationsquelle 132 (15) ist
eine Daten-Zugriffsoperation im Wesentlichen dieselbe, wie in 16 gezeigt,
außer
dass die Informationsquelle außerhalb
der Firewall 127 ist. Der Anforderungs- und Antwortaustausch
zwischen der mobilen Vorrichtung 12 und dem Netzwerkserver 122 kann
verschlüsselt
sein, aber eine Information, die mit der Informationsquelle 132 ausgetauscht
wird, kann unsicher sein. Wenn die Information, die von der Informationsquelle 132 geliefert
wird, nicht privat oder vertraulich ist, dann ist ein unsicherer
Austausch zwischen dem IP-Proxy-System 124 und der Quelle 132 für die meisten Zwecken
ausreichend.
-
Eine
mögliche
Maßnahme,
um die Sicherheit der Information zu verbessern, die von einer externen Quelle 132 angefordert
wird, ist, die Kommunikation zwischen dem IP-Proxy-System 124 und
der Quelle 132 zu sichern. Zum Beispiel kann das IP-Proxy-System 124 angepasst
werden, um sicheres HTTP (HTTPS – Secure HTTP), SSL (Secure
Socket Layer) oder andere sichere Kommunikationsschemen zu unterstützen, um sicher
auf Information an der Informationsquelle 132 zuzug reifen.
Eine Information von der Quelle 132 kann dadurch sicher
an das IP-Proxy-System 124 übertragen
werden und wird dann durch die Sicherheits-Firewall 127 geschützt. Eine
verschlüsselte
Information kann durch das IP-Proxy-System 124 entschlüsselt werden, durch
die aktive Verbindungshandhabungsvorrichtung zum Beispiel, und an
den Netzwerkserver 122 übermittelt
werden, der dann die Information zur Übertragung an die mobile Vorrichtung 12 verschlüsselt. Wie
oben, ist Information nur hinter der Firewall 127 offen.
Alternativ kann eine sichere Kommunikationssitzung zwischen der
mobilen Vorrichtung 12 und der Quelle 132 durch
den IP-Proxy 124 hergestellt werden. In dem System der 15 wird
dann eine Kommunikation zwischen der mobilen Vorrichtung 12 und
dem Netzwerkserver 122 doppelt verschlüsselt.
-
Wie
in
15 gezeigt, ist der Netzwerkserver
122 auch
mit dem Email-System
128 verbunden. In einem Ausführungsbeispiel
sieht der Netzwerkserver
122 ein Senden von Datenelementen
von dem Email-System
128 an die mobile Vorrichtung
12 vor.
Ein derartiges System wird detailliert in dem
U.S.-Patent 6,219,694 beschrieben
mit dem Titel „System
And Method For Pushing Information From A Host System To A Mobile
Data Communication Device Having A Shared Electronic Adress" und der Anmelderin
der vorliegenden Anmeldung am 17. April 2001 erteilt. Die vollständige Offenbarung
dieses Patents wird hiermit in diese Anmeldung durch Bezugnahme
aufgenommen.
-
Da
der Netzwerkserver 122 auch verbunden ist mit dem IP-Proxy-System 124,
kann eine integrierte Funktionalität zwischen dem Email-System 128 und
dem IP-Proxy-System 124 möglich sein.
Zum Beispiel kann das IP-Proxy-System 124 eine Verschlüsselungsfunktionalität des Netzwerkservers 122 sowie
einen Transportmechanismus verwenden, über den der Netzwerkserver 122 mit
der mobilen Vorrichtung 12 kommuniziert. Andere Funktionen
des Netzwerkservers 122, wie Datenkomprimierung zum Beispiel,
können ähnlich durch
ein IP-Proxy-System 124 ausgenutzt werden, um die Leistungsfähigkeit
der Verwendung von drahtlo sen Kommunikations-Ressourcen zu verbessern.
Wie oben kurz beschrieben, kann ein Inhalt, der für eine mobile Vorrichtung 12 bestimmt
ist, an die mobile Vorrichtung unter Verwendung einer Email-Adresse
in dem Email-System 128 adressiert werden, die zu dem Benutzer
der mobilen Vorrichtung gehört.
In diesem Beispiel kann ein Inhalt, der an die mobile Vorrichtung
durch das IP-Proxy-System 124 weitergeleitet
wird, ebenso in der Mailbox des Benutzers auf dem Email-System 128 durch
den Netzwerkserver 122 gespeichert werden, wie in der 15 gezeigt,
um dadurch sowohl einen Datensatz der IP-Proxy-Operationen als auch
eine gespeicherte Kopie eines weitergeleiteten Inhalts vorzusehen.
Andere integrierte Funktionen können
Email-basierte Inhalts-Anforderungen von mobilen Vorrichtungen und
Adressierung einer für
die Vorrichtung bestimmten Information durch das IP-Proxy-System 124 unter
Verwendung einer Email-Adresse auf dem Email-System 128 umfassen,
sind aber keinesfalls darauf begrenzt. Weitere integrierte Funktionen
können
aktiviert werden, wenn ein Netzwerkserver 122 oder der
IP-Proxy 124 zu anderen Diensten gehören.
-
Es
ist offensichtlich, dass die obige Beschreibung beispielhafte Ausführungsbeispiele
nur auf beispielhafte Weise betrifft. Viele Variationen sind für Fachleute
offensichtlich und derartige Variationen befinden sich in dem Umfang
der Erfindung, wie beschrieben, ob ausdrücklich beschrieben oder nicht.
Zum Beispiel wurden Ausführungsbeispiele
der Erfindung hauptsächlich
in dem Kontext eines IP-basierten Systems beschrieben. Ähnliche
Proxy-Systeme für
andere Typen von Kommunikationssystemen werden ebenfalls in dem
Umfang der Erfindung erwogen. Andere Typen von Verbindungen, Verbindungshandhabungsvorrichtungen
und Transcodierern als die, die oben beschrieben werden, sind ebenfalls
für Fachleute
offensichtlich.
-
Abhängig von
der bestimmten Implementierung eines entfernten Datenzugriffssystems
und den zu unterstützenden
Merkmalen, sind nicht alle Elemente erforderlich, die in der 2 gezeigt
werden. Wenn zum Beispiel keine Verschiebe dienste unterstützt werden,
umfasst das Proxy-System keine Verschiebedienste 30.
-
Die
vorliegende Erfindung ist auch keineswegs begrenzt auf eine Anzeige
der Inhaltstypen unter Verwendung von MIME-Typen. MIME-Typen sind
in Verbindung mit der vorliegenden Erfindung nützlich, sind aber nicht erforderlich,
um die Erfindung auszuführen.
Andere Irhaltstyp-Anzeiger können
für den
MIME-Typ ersetzt werden, um den Typ oder das Format eines angeforderten
oder empfangenen Inhalts anzuzeigen.
-
Obwohl
die oben beschriebenen Transcodierer zwischen weithin bekannten
Informationstypen oder -formaten konvertieren, können kundenspezifische Transcodierer
entwickelt und implementiert werden für praktisch jedes Informationsformat,
einschließlich
zum Beispiel Anwendungsprogramm-Dateitypen und proprietäre Formate.
Wie oben beschrieben, ist ein Proxy-System gemäß der vorliegenden Erfindung
vorzugsweise konfigurierbar und neue Inhalts-Transcodierer können hinzugefügt werden.
-
Es
ist auch möglich,
dass ein Informationsinhalt von einer Informationsquelle mehrere
unterschiedliche Inhaltstypen umfassen kann, nicht nur einen einzelnen
Inhaltstyp, wie oben beschrieben. Für einen derartigen Mehrfach-Typ-Inhalt
können
Transcodierer gewählt
werden, zum Beispiel, um den Inhalt in einen einzelnen Inhaltstyp
oder in mehrere Inhaltstypen zu transcodieren, die an einer mobilen
Vorrichtung akzeptiert werden. Eine Auswahl von Transcodierern kann
gesteuert werden gemäß einem
der oben beschriebenen Transcodierer-Auswahlschemen. In dem Fall
der Transcodierer-Auswahl durch eine mobile Vorrichtung oder eine Informationsquelle,
kann eine Liste von Transcodierem für einen oder jeden Teil des
Mehrfach-Typ-Informationstypinhalts in einer Verbindungsanforderung,
einer Antwort auf eine Anforderung oder einer Verschiebeanforderung
spezifiziert wer den. Ein jeweiliger Transcodierer kann für jeden
Teil des Informationsinhalts gewählt und
verwendet werden, der einen bestimmten Inhaltstyp hat.
-
Wenn
ein Teil eines Mehrfachtyp-Informationsinhalts nicht transcodiert
werden kann, wie gewünscht oder
erforderlich, wenn zum Beispiel kein geeigneter Transcodierer verfügbar ist,
können
nur andere Teile des Informationsinhalts transcodiert werden und
an eine mobile Vorrichtung gesendet werden. Alternativ kann eine standardmäßige Transcodier-Operation,
wie oben beschrieben, verwendet werden, um Teile eines Mehrfachtyp-Inhalt
zu transcodieren. Nicht transcodierte Teile eines Mehrfachtyp-Inhalts
oder möglicherweise
der gesamte Mehrfachtyp-Inhalt
können
stattdessen ersetzt werden mit einer Verbindung (link) oder einer
anderen Information, die verwendet werden kann, um nachfolgend auf
den Informationsinhalt oder Teile davon zuzugreifen, und an eine
mobile Vorrichtung gesendet werden. Eine Information, welche die
Mehrfachinhaltstypen und/oder erforderliche oder empfohlene Transcodierer
anzeigt, kann ebenfalls an die mobile Vorrichtung gesendet werden.
Der Informationsinhalt oder Teile davon können dann durch die mobile
Vorrichtung abgerufen werden durch Senden einer Verbindungsanforderung
oder möglicherweise
weiterer Transcodier-Anweisungen oder eine alternative Transcodierer-Auswahl
an ein IP-Proxy-System.
-
Ferner
kann ein Proxy-System in jedem Netzwerk implementiert werden, nicht
nur in einem Firmen-Netzwerk, wie in 15 gezeigt.
Die Installation eines Proxy-Systems in einem ISP-, ASP- oder VNO(Virtual
Network Operator)-System liefert einen sicheren entfernten Zugriff
auf eine Netzwerkinformation und eine sichere Übertragung von Information
zwischen den Netzwerkbenutzern, einschließlich Übertragungen zwischen mobilen
Vorrichtungen von ISP-, ASP- oder VNO-Benutzern.
-
Obwohl
die Erfindung detailliert unter Bezugnahme auf bestimmte illustrative
Ausführungsbeispiele beschrieben
wurde, existieren Variationen und Modifikationen in dem Umfang und
Sinn der Erfindung, wie beschrieben und definiert in den folgenden
Ansprüchen.