-
Gebiet der Erfindung
-
Diese
Erfindung betrifft im Allgemeinen eine mobile Kommunikation und
insbesondere ein Verschieben (pushing) von Information an mobile
Kommunikationsvorrichtungen.
-
Beschreibung des Standes der
Technik
-
Bekannte
Lösungen
zum Liefern von Information an mobile 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 und wenn eine derartige
Information von einem Benutzer angefordert wird. 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, da ein Typ
von Informationsanforderung im allgemeinen gemacht werden muss vor
jeder Übertragung
von Information.
-
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 befindet, der sich hinter einer
Sicherheits-Firewall befindet.
-
Folglich
bleibt eine Notwendigkeit für
ein System und ein Verfahren zum Verschieben (pushing) von Information
von einer Informationsquelle an eine mobile Kommunikationsvorrichtung.
-
EP 0 992 922 A2 offenbart
eine automatische Bilddatenqualitätsanpassung, um eine Antwortzeit
eines Webservers zu reduzieren. Transcoding-Parameter von Bildern
empfangener Webdokumente werden dynamisch angepasst in einem Transcoding-Proxy.
Der angepasste Transcodierer wählt unterschiedliche
Parameter für
jedes Objekt und liefert Leistungsverbesserungen. Das vorgeschlagene System
komprimiert nur Bilder von HTTP-Server-Antworten auf entsprechende
Anforderungen von einem Client.
-
US 6 216 157 B1 offenbart
ein Verfahren und eine Vorrichtung zum Liefern eines Informationsinhalts
von einer Verschiebe(push)-Anwendung an einen Client über ein Übertragungsmedium.
Ein Vorrichtungs-spezifischer Transducer und ein angepasster Übertragungs-Transducer
werden zu der Verschiebe- bzw. Push-Anwendung hinzugefügt zur Komprimierung von Information,
wie Bild, Audio oder Video.
-
Mogul
J. D. „Server-directed
Transcoder", Computer
Communications 24 (2001), Seiten 155 bis 162, schlägt einen
Transcodier-Proxy vor zum Transcodieren von Bilddaten, die erlangt
werden mit Antworten auf HTTP-Anforderungen. Server-gesteuerte Transcodier-Applets
verwenden eine explizite Anleitung von dem Webserver, um dem Transcodier-Proxy
zu ermöglichen,
die beste mögliche
Wahl zu treffen zum Transcodieren der abgerufenen Webseiten.
-
ZUSAMMENFASSUNG
-
Die
vorliegende Anmeldung beschreibt ein System und ein Verfahren zum
Verschieben bzw. Pushen von Information von einer Quelle an mobile Kommunikationsvorrichtungen
gemäß den unabhängigen Ansprüchen.
-
Die
Systeme und die Verfahren, die hier beschrieben werden, sehen ein
Verschieben jeder einer Vielzahl von Typen und Formaten von Information
an mobile Kommunikationsvorrichtungen vor. Bestimmte Informationsübersetzungsverfahren
können
durch eine mobile Kommunikationsvorrichtung gewählt werden, eine Informationsquelle
oder ein dazwischenliegendes Datenserversystem, und auf einer Informationsquellenseite
eines mobilen Kommunikationssystems durchgeführt werden. Dies verringert nicht
nur die Komplexität
von Verarbeitungsoperationen der Vorrichtung und von Vorrichtungs-Hardware- und
Software-Komponenten,
die zu derartigen Operationen gehören, sondern sieht auch kundenspezifisch
angepasste Vorrichtungsinformationsformate vor.
-
Das
System zum Verschieben eines Informationsinhalts von einer Informationsquelle
an eine mobile Kommunikationsvorrichtung über ein Netzwerk umfasst ein
Transcodier-System und eine erste Netzwerkvorrichtung. Das Transcodier-System
umfasst eine Vielzahl von Transcodierern, wobei jeder Transcodierer
betriebsfähig
ist, den Informationsinhalt von einem jeweiligen Eingangsinhaltstyp
in einen jeweiligen Ausgabeinhaltstyp zu transcodieren. Die erste
Netzwerkvorrichtung befindet sich in Kommunikation mit dem Transcodier-System
und umfasst ein Verschiebemodul. Das Verschiebemodul ist betriebsfähig, eine
Verbindungsanforderung von der Informationsquelle zu empfangen.
Die Verbindungsanforderung umfasst einen Identifizierer, der zu
der mobilen Kommunikationsvorrichtung gehört. Das Verschiebemodul ist
weiter betriebsfähig,
einen entsprechenden Verbindungs-Handhaber (handler) zu wählen, der betriebsfähig ist,
einen oder mehre re Transcodierer aus der Vielzahl von Transcodierern
zu wählen,
um den Informationsinhalt basierend auf dem Identifizierer zu transcodieren,
der zu der mobilen Kommunikationsvorrichtung gehört.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein allgemeines Blockdiagramm eines Kommunikationssystems, das ein
Verschieben von Daten von einer Informationsquelle an eine mobile
Kommunikationsvorrichtung vorsieht.
-
2 ist
ein detaillierteres Blockdiagramm des Systems, das in der 1 gezeigt
wird.
-
3 ist
ein Flussdiagramm, das allgemeine Verbindungs-Handhabungs-bezogene Operationen in
einem IP-System darstellt.
-
4 ist
ein Flussdiagramm von Verbindungs-Handhabungs-Daten-Verarbeitungs-Operationen.
-
5 ist
ein Signal-Flussdiagramm einer beispielhaften Informations-Verschiebe-Operation.
-
6 ist
ein Signal-Flussdiagramm, das mehrere oder „verkettete" Transcodier-Operationen für eine HTTP-basierten
Verschiebe-Operation zeigt.
-
7 ist
ein Signal-Flussdiagramm eines Beispiels einer Verschiebe-Server-gesteuerten Transcodierer-Auswahl
für eine
HTTP-basierte Verschiebe-Operation.
-
8 ist
ein allgemeines Blockdiagramm eines Kommunikationssystems mit einem
externen Transcodierer-System.
-
9 ist
ein Signal-Flussdiagramm, das eine HTTP-basierte Verschiebe-Operation mit einem externen
Transcodierer-System darstellt, wie in der 8 gezeigt.
-
10 zeigt
ein weiteres Signal-Flussdiagramm für ein externes Transcodierer-System.
-
11 ist
ein Blockdiagramm, das ein IP-Proxy-System zeigt, das in einem sicheren
Netzwerk implementiert ist.
-
12 ist
ein Signal-Flussdiagramm, das eine Firmen-Daten-Verschiebe-Operation darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Allgemeine Systembeschreibung
-
1 ist
ein allgemeines Blockdiagramm eines Kommunikationssystems, das ein
Verschieben von Information von einer entfernten Informationsquelle 20 an
eine drahtlose mobile Kommunikationsvorrichtung 12 vorsieht.
-
Die
folgende Beschreibung des Kommunikationssystems erleichtert das
Verständnis
der vorliegenden Erfindung.
-
In
der 1 umfasst das System 10 die mobile Vorrichtung 12,
ein drahtloses Netzwerk 14, ein drahtloses Netzwerk-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 implementiert werden. Protokolle
auf anderen Ebenen in dem OSI(Open Systems Interconnection)-Modell
können
ebenfalls eine Proxy-Verarbeitung
erhalten (proxied) unter Verwendung dieses Systems. Derartige andere
Protokolle umfassen HTTP und TCP, 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 auch 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, aber wird hier hauptsächlich als eine „mobile
Vorrichtung" bezeichnet.
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
erfinderischen 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 mobilen 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-System 18 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-System 18 und
dem Gateway 15 ein privates Netzwerk des Trägers anstelle des
WANs 16. Das WAN 16 kann dann benutzt werden,
um zwischen dem IP-Proxy-System 18 und der Informationsquelle 20 zu
kommunizieren.
-
Das
IP-Proxy-System 18 ist ein System, das tatsächlich die
Informationsquelle 20 mit einem Zugang zu der mobilen Vorrichtung 12 versieht,
und wird detaillierter im Folgenden beschrieben. Durch das IP-Proxy-System 18 kann
jede Informationsquelle 20, wie das Internet oder ein Webserver,
die mit dem IP-Proxy-System 18 kommunizieren kann, eine Information
an eine mobile Vorrichtung 12 ver schieben (pushen). Die
Informationsquelle 20 erfordert folglich keine speziellen
Anwendungen oder Protokollunterstützung für eine drahtlose Netzwerk-Kommunikation, da
sie mit dem IP-Proxy-System 18 kommuniziert und nicht direkt
mit der mobilen Vorrichtung 12. Obwohl in der 1 als
direkte Verbindung gezeigt, können
das IP-Proxy-System 18 und Informationsquelle 20 möglicherweise
durch ein Netzwerk kommunizieren, wie einem lokalen Netzwerk (LAN – local
area network) oder einem 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-Adressschemas 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,
wie 12. Ferner zielt ein Informationsquelleninhalt größtenteils auf
Desktop- oder andere Computersysteme mit relativ leistungsfähigen Prozessoren
ab und kann erfordern, dass Prozessorintensive 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
länger
als auf Computersystemen und können
signifikante Mengen an Energie von normalerweise begrenzten Energiequellen
verbrauchen. Das IP-Proxy-System 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 können
zum Beispiel ein Adress-Mapping, Inhaltstransformation und -verifizierung
und Protokoll-Mapping
und -Optimierung umfassen.
-
Detaillierte Beschreibung des IP-Proxy-Systems
-
2 ist
ein detaillierteres Blockdiagramm des IP-Proxy-Systems 18,
das in der 1 gezeigt wird. Das IP-Proxy-System 18 kann
einen Dispatcher 22, eine TCP(Transmission Control Protocol)-Handhabungsvorrichung
(handler) 24, eine HTTP(Hyper Text Transport Protocol)-Handhabungsvorrichtung 26,
ein Transcodier-System 28, einen oder mehrere Verschiebedienst(e)
(push services), allgemein mit 30 bezeichnet, ein Zustandsbeständigkeitselement (state
persistence element) 34, ein Überwachungssystem 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 das IP-Proxy-System 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-System 18 laufen
typischerweise auf den gleichen Computer, während Komponenten, die zum IP-Proxy-System 18 extern
sind, sich normalerweise auf anderen Computer befinden. In einer
alternativen Implementierung können
die Elemente eines IP-Proxy-Systems 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 der zum Beispiel durchgeführten Datentransaktion interagiert
der Dispatcher 22 mit der TCP-Handhabungsvorrichtung 24 oder
der HTTP-Handhabungsvorrichtung 26.
Das Transcodier-System 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 ein Verschieben an eine mobile
Vorrichtung oder 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 das IP-Proxy-System 18 vor.
Die Verschiebedienst-Komponente 30 ermöglicht dem Verschiebeserver 42,
die mobile Vorrichtung 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 das IP-Proxy-System 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-Proxy-Systems 18 durch einen Administrator. Diese Überwachung
kann erreicht werden zum Beispiel durch eine lokale Schnittstelle mit
dem IP-Proxy-System 18 oder
möglicherweise entfernt
durch eine Schnittstelle, wie dem 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
-
Das
IP-Proxy-System 18 kann vorzugsweise einen Inhalt von verschiedenen
Informationsquellen 20 handhaben und verarbeiten, einschließlich Internet-basierter
Quellen. Diese Funktionalität
wird durch Verbindungs-Handhabungsvorrichtungen
bzw. Connection-Handler vorgesehen, die dazwischenliegende Objekte
sind, welche die Fähigkeit
haben, Inhalt von Verbindungen an ein und von einem IP-Proxy-System 18 zu
verarbeiten. In dem IP-Proxy-System 18,
das 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-System hinzugefügt werden, wie erforderlich.
Die Verbindungs-Handhabungsvorrichtungen 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 Verbindungs-Handhabungsvorrichtung aufgelöst werden, wenn
eine erforderliche Information zum Beispiel durch das Zustandsbeständigkeitselement 34 und das
Dateisystem 40 verfügbar
ist. Dieser Fall einer Protokolloptimierung kann sogenannte „schwatzhafte
(chatty)" Protokolle
anpassen, um besser drahtlos geeignet zu sein, durch Reduzierung
der Menge von Verkehr, der über
ein drahtloses Netzwerk an eine mobile Vorrichtung 12 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 zum Beispiel Daten an Internet-Knoten zu senden oder Daten von
Internet-Knoten
zu empfangen. Das IP-Proxy-System 18 empfängt vorzugsweise
Verbindungsanforderungen von mobilen Vorrichtungen 12 unter Verwendung
eines bestimmten Protokolls, wie einem proprietären Protokoll, als IP-Proxy-Protokoll
oder IPPP bezeichnet, das von der Anmelderin der vorliegenden Anmeldung
entwickelt wurde, Obwohl auch andere Protokolle verwendet werden
können.
Das IP-Proxy-System 18 stellt dann eine Internet-Verbindung
her, gemäß einer
Routing-Information, die von der mobilen Vorrichtung 12 vorgesehen
wird, und übersetzt
und bildet diese Verbindung ab, um mit der Weiterleitung von Daten
in beide Richtungen zu beginnen. Eine Filtration- oder ein Transcodier-Prozess wird
aufgerufen, wann immer erforderlich, basierend zum Beispiel auf
dem Typ des Inhalts, der über
die Verbindung geleitet wird, oder auf einem bestimmten Transcodier-Prozess,
der in der Verbindungsanforderung von der mobilen Vorrichtung spezifiziert
wird.
-
Ankommende
Verbindungen werden zum Beispiel verwendet, um ein Daten-Verschiebe-Modell gemäß einem
Ausführungsbeispiel
zu implementieren. In diesem Ausführungsbeispiel 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. Das IP-Proxy-System 18 ist zur Überbrückung des
Internets und drahtloser Netzwerk-Domains verantwortlich. Somit
erfordert das IP-Proxy-System 18 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. Das IP-Proxy-System 18 kann allgemein
bekannte Adressierungsschemen, wie Email oder IP-Nummern, in die
geeignete drahtlose Netzwerkadresse einer beabsichtigten mobilen
Empfängervorrichtung 12 umwandeln.
Ein Transcodier-Prozess für
verschobenen Inhalt kann ebenfalls durch einen Verschiebeserver 42 oder
eine Informationsquelle 20 gewählt und spezifiziert werden.
-
Die
Verbindungs-Handhabungsvorrichtungen in einem IP-Proxy-System 18 sind
Strom-basierte Objekte. Wenn eine abgehende oder eingehende Verbindung
ver langt wird, wird ein virtueller geleiteter (piped) Strom (stream)
zwischen einer mobilen Vorrichtung 12 und der geeigneten
Verbindungs-Handhabungsvorrichtung
hergestellt. Die Verbindungs-Handhabungsvorrichtung wird instantiiert
und gestartet, um den Inhalt für
die aufgebaute Verbindung zu verarbeiten. Ein Laden der Verbindungs-Handhabungsvorrichtung
basiert auf einer Verbindungsanforderung, die vorzugsweise eine
Referenz auf einen geeigneten Handhabungsvorrichtungsnamen enthält, der
normalerweise den Typ des Verkehrs andeutet, der durch den virtuellen
geleiteten Strom geht, und die Position der Handhabungsvorrichtung,
die geladen werden muss, wenn sie nicht bereits geladen ist. Die
Funktionen der Verbindungs-Handhabungsvorrichtungen umfassen eine Abbildung
(mapping) Verbindungen des Internets oder von anderen Informationsquellenseiten
und Verbindungen der mobilen Vorrichtung 12, ein Weiterleiten
von Verkehr zwischen diesen Verbindungen und ein Laden und Aufrufen
der geeigneten Transcodierer für
Information, die für
eine mobile Vorrichtung 12 bestimmt ist.
-
Jede
Verbindung gehört
vorzugsweise zu einer Instanz einer Verbindungs-Handhabungsvorrichtung. Dies gilt sogar
für eine
Verbindung, die nicht erfordert, dass ein Inhalt durch das IP-Proxy-System 18 verarbeitet
wird, wie eine reine TCP-Verbindung zwischen einer mobilen Vorrichtung
und einem Server. Dieser Typ der Verbindungs-Handhabungsvorrichtung
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).
-
Verbindungs-Handhabungsvorrichtungen sind
auch für
das Laden der geeigneten Inhalts-Filter oder Transcodierer verantwortlich.
Eine Verbindungs-Handhabungsvorrichtung,
wie die HTTP-Verbindungs-Handhabungsvorrichtung 26, kann
einen bestimmten Transcodierer in dem Transcodierer-System 28 verwenden,
gewählt
durch das IP-Proxy-System 18 oder entweder durch die mobile
Vorrichtung 12 oder eine Informationsquelle spezifiziert, wie
dem Verschiebeserver 42 oder dem Web-Server 46.
-
3 ist
ein Flussdiagramm, das allgemeine Verbindungs-Handhabungsvorrichtung-bezogene Operationen
in einem IP-Proxy-System 18 darstellt. In Schritt 50 empfangt
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, die eine HTTP-Verbindungs-Handhabungsvorrichtung 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 Anforderung gehört, und deligiert die Verbindung
an die geeignete Handhabungsvorrichtung. Daten können dann zwischen einer mobilen
Vorrichtung und einem Internet-Dienst, einem Verschiebeserver 42,
einem Web-Server 46 oder einer anderen Informationsquelle 20 ausgetauscht
werden.
-
Wenn
bestimmte Verbindungs-Handhabungsvorrichtungen 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 Verbindungs-Handhabungsvorrichtungen
verwendet werden, müssen
Daten, die für
eine mobile Vorrichtung 12 bestimmt sind, möglicherweise
in ein geeignetes Format umgewandelt werden. 4 ist ein
Flussdiagramm von Verbindungs-Handhabungsvorrichtungs-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 Verbindungs-Handhabungsvorrichtung
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. Die Verbindungs-Handhabungsvorrichtung
stellt 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. 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
einen bestimmten Transcodierer spezifizieren, um die Transcodierung
der geholten oder verschobenen Daten durchzuführen. Eine Transcodierer-Auswahl
kann auch durch eine Verbindungs-Handhabungsvorrichtung
oder das IP-Proxy-System 18 durchgeführt werden, abhängig von
einer Information für
die mobile Ziel-Vorrichtung 12, die auf dem IP-Proxy-System 18 verfügbar ist
oder möglicherweise
ableitbar durch ein IP-Proxy-System 18 oder
Komponenten davon basierend auf vorhergehenden Informationsübertragungsoperationen,
welche die mobile Ziel-Vorrichtung 12 betroffen haben.
Zum Beispiel kann ein Transcodierer aufgerufen werden, um Information
in das gleiche Format zu transcodieren, das vorher an eine mobile
Ziel-Vorrichtung 12 das letzte Mal übertragen wurde, als eine Information
an die mobile Vorrichtung 12 gesendet wurde.
-
Eine
Verbindungs-Handhabungsvorrichtung 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-System-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 Benutzerdefinierten Klassen durchführen soll.
In einem Ausführungsbeispiel
sind Pfade (paths) zu Verbindungs-Handhabungsvorrichtungen 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 Verbindungs-Handhabungsvorrichtung gehört, können auch
eine Rolle spielen bei der Definition des vollständigen Klassennamens einer
Handhabungsvorrichtung. Für
Fachleute ist offensichtlich, dass dieselben Schemen unter Verwendung
von DLLS (dynamic linked libraries) oder DSOs (dynamic shared objects)
implementiert werden können
abhängig
von dem Zielbetriebssystem.
-
Verbindungs-Handhabungsvorrichtungen 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 Verbindungs-Handhabungsvorrichtung
zu haben, wie mit der Verbindungs-Handhabungsvorrichtung 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-Proxy-Systems her egal, solange
die Java-VM diese Verbindungs-Handhabungsvorrichtung
laden kann. Eine Verbindungs-Handhabungsvorrichtung kann ihren Klassennamen
als Handler.class haben. Ein Beispiel eines gültigen vollständigen Klassennamens,
der eine Verbindungs-Handhabungsvorrichtung darstellt, ist wie folgt:
net.rim.protocol.iplayer.connection.handler.<connection direction>.<connection handler name>.Handler.class
wobei
eine Verbindungsrichtung eine Vorrichtung sein kann, die eine abgehende
Verbindung impliziert, oder ein Server, der eine eingehende Verbindung
impli ziert. Der Name der Verbindungs-Handhabungsvorrichtung 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-System 18 zu öffnen, oder
(2) die Verwendung eines Datagrammprotokolls an der Anwendungsschicht,
wie HTTP. Das IP-Proxy-System 18 umfasst
zwei entsprechende Verbindungs-Handhabungsvorrichtungen, 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-Verbindungs-Handhabungsvorrichtung 24,
die zum Beispiel zu dem Namen tcp gehört. Die zweite ist die HTTP-Verbindungs-Handhabungsvorrichtung 26,
die ähnlich
zu dem Namen http gehören
kann, wie oben beschrieben. Zusätzlich
zur Unterstützung
allgemeiner Verbindungstypen erfüllen
diese Verbindungs-Handhabungsvorrichtungen auch Anforderungen für eine MIDP(Mobile
Information Device Profile)-Implementierung an der mobilen Vorrichtung.
Jedoch können das
IP-Proxy-System 18 und die mobile Vorrichtung 12 erweitert
werden, um andere Typen von Verbindungen zu unterstützen. In
dem IP-Proxy-System 18 können Verbindungs-Handhabungsvorrichtungen möglicherweise
hinzugefügt
werden durch Vorsehen einer Anwendungsprogrammschnittstelle (API – application
programming interface) in dem IP-Proxy-System 18 und Entwickeln
neuer Verbindungs-Handhabungsvorrichtungen, die zum Beispiel der
API entsprechen.
-
In
einem Beispiel werden Verbindungs-Handhabungsvorrichtungen 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. Jedoch
kann in einem anderen Beispiel ein Verbindungs- Handhabungsvorrichtung-Speicher auch oder
stattdessen entfernt von dem IP-Proxy-System 18 sein,
wie ein Speichermedium, das für
das IP-Proxy-System 18 zugänglich ist über eine lokale Netzwerkverbindung
(LAN) oder auch ein WAN, wie das Internet. Dieses Beispiel ermöglicht das
gemeinsame Verwenden eines einzelnen Verzeichnisses von Verbindungs-Handhabungsvorrichtungen
unter allen IP-Proxy-Systemen 18, die mit dem Verbindungs-Handhabungsvorrichtungs-Speicher kommunizieren
können.
Es ist auch möglich,
durch dritte Parteien den Satz von Verbindungs-Handhabungsvorrichtungen
zu erweitern durch Einbetten der URL, wenn die Verbindungs-Handhabungsvorrichtung-Java-Klasse
gefunden werden kann.
-
Wenn
mit dem Internet verbunden, kann auf ein Verbindungs-Handhabungsvorrichtungs-Verzeichnis
möglicherweise
durch alle mit dem Internet verbundenen IP-Proxy-Systeme 18 zugegriffen
werden und somit gemeinsam benutzt werden. Öffentliche Internet-verbundene
Verbindungs-Handhabungsvorrichtungs-Verzeichnisse
würden
vorzugsweise Verbindungs-Handhabungsvorrichtungs-Anforderungen
von IP-Proxy-Systemen 18 empfangen und als Antwort die
angeforderten Verbindungs-Handhabungsvorrichtungen an das anfordernde
IP-Proxy-System 18 übermitteln.
Eine neue Verbindungs-Handhabungsvorrichtung
kann von einem IP-Proxy-System 18 erforderlich sein, wenn
eine mobile Vorrichtung 12, die mit dem IP-Proxy-System 18 kommuniziert,
eine neue Software-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 Verbindungs-Handhabungsvorrichtung, möglicherweise
die Anwendung der mobilen Vorrichtung, welche die neue Verbindungs-Handhabungsvorrichtung
erfordert, und eine Adresse, die zu einem Verbindungs-Handhabungsvorrichtungs-Verzeichnis
ge hört,
von dem die neue Verbindungs-Handhabungsvorrichtung angefordert
werden kann. Das IP-Proxy-System 18 fordert dann vorzugsweise
die neue Verbindungs-Handhabungsvorrichtung von dem Verzeichnis
an. Ein Verbindungs-Handhabungsvorrichtungs-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 Verbindungs-Handhabungsvorrichtung von einer entfernten Quelle
geladen wird, speichert das IP-Proxy-System 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 Verbindungs-Handhabungsvorrichtung
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 vorhanden
sind, können
heruntergeladene Verbindungs-Handhabungsvorrichtungen auf unbegrenzte
Zeit oder für
eine bestimmte Zeitdauer gespeichert werden. Alternativ kann ein
gerade erst verwendetes oder LRU(least recently used)-Ersatz-Schema
verwendet werden, um eine effizientere Verwendung des verfügbaren Speichers
vorzusehen durch Überschreiben
von relativ wenig verwendeten Verbindungs-Handhabungsvorrichtungen,
wenn neue Handhabungsvorrichtungen heruntergeladen werden. Andere
Speicherverwaltungstechniken können
ebenso verwendet werden, um lokale Speicher-Anordnungen von IP-Proxy-System-Verbindungs-Handhabungsvorrichtungen
zu optimieren.
-
Transcodieren
-
Im
Verhältnis
zu Computer-Netzwerken, wie dem Internet, sind drahtlose Kommunikationsnetzwerke
langsam. Ein Programm, das die zwei überbrückt, wie ein IP-Proxy-System,
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
und Anzeige auf einem relativ kleinen Anzeigebildschirm der mobilen
Vorrichtung.
-
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 MIME(Multipurpose Internet Mail Extension)-Typen
ermöglicht,
die in einigen Ausführungsbeispielen
benutzt werden können,
um einen geeigneten Transcodierer für eine empfangene Information
zu bestimmen.
-
In
einem IP-Proxy-System 18 kann es eine einzelne Konfigurationsdatei
für jeden
Typ von Verbindungs-Handhabungsvorrichtung geben. In dem IP-Proxy-System 18 zum
Beispiel kann eine einzelne Konfigurationsdatei, die zu der HTTP-Verbindungs-Handhabungsvorrichtung 26 gehört, eine
Information für
alle HTTP-Inhalts- bzw. Content-Transcodierer umfassen. Diese Konfigurationsdatei
wird verwendet, um Transcodierer zu bestimmten Schlüsseln zuzuordnen.
Das IP-Proxy-System 18 kann
diese Datei konsultieren, um festzustellen, welche Inhalts-Transcodierer verfügbar sind,
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:
Entry = {[default]: {RSV|<Transcoder name>}}|
{[[InputType]|<->OutputType>]:[Transcoder name]}
wobei
default
dem Proxy-System anzeigt, welcher Transcodierer geladen werden soll,
falls es keinen Transcodierer gibt, der zu einem empfangenen Inhaltstyp oder
einer Verbindungsanforderung gehört;
RSV
ein Satz reservierter Schlüsselwörter ist,
der in der Konfigurationsdatei verwendet wird, wie Weiterleiten
(d.h. Weiteleiten 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 akzeptieren kann, 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 produzieren kann.
-
Durch
Verwendung einer Inhalts-Transcodierer-Konfigurationsdatei können neue
Transcodierer zur Verwendung durch ein IP-Proxy-System 18 hinzugefügt werden.
Folglich können,
wenn neue Transcodierern entwickelt werden und verfügbar werden, sie
zu der Konfigurationsdatei für
alle geeigneten Verbindungs-Handhabungsvorrichtungen
hinzugefügt
werden und können
danach geladen werden von einer Verbindungs-Handhabungsvorrichtung,
wenn erforderlich, und oh ne andere Komponenten des IP-Proxy-Systems 18 zu
beeinflussen. Zum Beispiel können
Konfigurationsdatei-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 Beispiel wird ein gemeinsames Konfigurationsdateiformat
für alle
Verbindungs-Handhabungsvorrichtungen verwendet, und somit muss nur
ein einziger Konfigurationsdatei-Eintrag vorbereitet werden und
kann zu der Konfigurationsdatei für jede Verbindungs-Handhabungsvorrichtung
hinzugefügt
werden. Das Konzept eines gemeinsamen Konfigurationsdateiformats
für alle
Verbindungs-Handhabungsvorrichtungen kann weiter erweitert werden
auf das Vorsehen einer einzelnen Konfigurationsdatei für ein IP-Proxy-System 18.
Eine derartige Konfigurationsdatei kann dann von allen Verbindungs-Handhabungsvorrichtungen
in dem IP-Proxy-System 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 Verbindungs-Handhabungsvorrichtungen
können
ein Konfigurationsdatei-Eintragsformat oder sogar eine einzelne
Konfigurationsdatei gemeinsam benutzen, während andere, die durch das
gleiche IP-Proxy-System 18 unterstützt werden, unterschiedliche Konfigurationsdateien
und Eintragsformate haben können.
-
Das
IP-Proxy-System kann einen Transcodierer laden und ausführen basierend
entweder auf dem Typ der Information, die an die mobile Vorrichtung 12 zu
senden ist, oder auf einem Transcodierernamen, der durch eine mobile
Vorrichtung 12 oder eine Informationsquelle 20 spezifiziert
wird, um Daten zu transcodieren, die an eine mobile Vorrichtung gesendet
werden.
-
Ein
Transcodierer kann stattdessen gewählt werden 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 Informationsanforderung 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 oder die mobile Vorrichtung 12 zu bestimmen,
an die Daten gesendet werden sollen. Gemäß der Erfindung basiert eine Transcodierer-Auswahl
durch das IP-Proxy-System 18 auf einer Netzwerkadresse
oder einem anderen Identifizierer der mobilen Vorrichtung 12.
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 und spezifizierte Transcodierer-Auswahl die
primären
Typen 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 Transcodierer-System 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.
-
Verschieben von Information
von einer Informationsquelle an eine mobile Vorrichtung
-
Wie
oben beschrieben, kann ein IP-Proxy-System 18 sowohl abgehende
als auch eingehende Verbindungen unterstützen. Jedoch betrifft diese Anmeldung
primär
ein Verschieben von Information an eine mobile Vorrichtung über eingehende
Verbindungen.
-
Eine
Server- oder Informations-Verschiebe-Operation unterscheidet sich
von Informations-Anforderungs/Antwort-Operationen, wie jene normalerweise
zum Beispiel zu Web-Browsing gehörenden,
dadurch, dass eine Informationsquelle 20 einen Inhalt an
einen Empfänger
sendet, ohne eine Anforderung dafür zu empfangen. Eine mobile
Vorrichtung 12 kann sich für einen Dienst mit einem bestimmten
Verschiebedienst registrieren durch Einrichten derartiger Einstellungen,
wie die bestimmte Information, die an die mobile Vorrichtung 12 verschoben
werden soll, eine Verschiebe-Zeitdauer oder -Frequenz, in der eine
Information an die mobile Vorrichtung 12 verschoben werden
soll, einen Inhaltstyp oder Transcodierer, der für eine Information verwendet
werden soll, die für
eine mobile Vorrichtung 12 bestimmt ist, und möglicherweise
andere Einstellungen, die Informations-Verschiebe-Operationen betreffen. Diese
Einstellungen können
unter Verwen dung der mobilen Vorrichtung 12 selbst oder
einer anderen Schnittstelle zu einem Verschiebeserver 42 gemacht
werden, wie einer Webseite zum Beispiel. Es sollte auch angemerkt
werden, dass ein IP-Proxy-System 18 vorzugsweise ein Grad
an Zugriffssteuerung ausübt.
Es kann erforderlich sein, dass jeder Verschiebeserver 42 sich
mit einem IP-Proxy-System 18 registriert, um mit den mobilen
Vorrichtungen 12 zu kommunizieren. Kontrolleinstellungen können an
einem IP-Proxy-System 18 durch
einen Besitzer oder Betreiber des IP-Proxy-Systems oder möglicherweise
entfernt durch einen Benutzer einer mobilen Vorrichtung durchgeführt werden,
um Verschiebe-Operationen auf bestimmte registrierte IP-Proxy-Systeme 18 einzuschränken. Zugriffssteuerungen
können
auf einer pro Vorrichtung, Vorrichtungsgruppe oder einer IP-Proxy-System-weiten
Basis kundenspezifisch angepasst werden.
-
5 ist
ein Signal-Flussdiagramm einer beispielhaften Informations-Verschiebe-Operation. 5 zeigt
nur jene Komponenten des IP-Proxy-Systems 18, die direkt
an einer HTTP-basierten Verschiebe-Operation beteiligt sind, um
eine Überfüllung in
der Zeichnung zu vermeiden.
-
In
dem Beispiel von 5 wird ein Inhalt von dem Verschiebeserver 42 an
das IP-Proxy-System 18 in einer Verbindungsanforderung
gesendet. Für eine
HTTP-basierte Operation
kann das Verschieben eine HTTP-Post-Operation sein, in welcher der
Verschiebeserver 42 eine HTTP-Post-Anforderung an das IP-Proxy-System 18 sendet.
Die Post-Anforderung umfasst Header-Felder, die eine Ressource spezifizieren,
die zu dem IP-Proxy-System 18 gehört, wie zum Beispiel eine URI
(Uniform Resource Identifier), und umfasst vorzugsweise eine Anzeige
des Typs des Inhalts, wie ein MIME-Typ einer drahtlosen Auszeichnungssprache
(WML – Wireless
Markup Language) in der 5. In einer HTTP-Verbindungsanforderung
kann der MIME-Typ von WML in einem Inhaltstyp-Feld eines HTTP-Anforderungs-Headers spezifiziert
werden.
-
Der
URI in der Verbindungsanforderung von dem Verschiebeserver 42 spezifiziert
vorzugsweise ein Ressource, die das IP-Proxy-System 18 mit
einer bestimmten mobilen Ziel-Vorrichtung 12 oder Gruppe von
mobilen Vorrichtungen 12 verbindet. Zum Beispiel kann das
IP-Proxy-System 18 eine Ressource für jede mobile Vorrichtung 12 herstellen,
die für
einen Betrieb mit dem bestimmten IP-Proxy-System 18 konfiguriert wurde.
Derartige Vorrichtungs-spezifische Ressourcen können zum Beispiel unter Verwendung
einer Identifizierungsnummer der mobilen Vorrichtung identifiziert
werden, die das IP-Proxy-System 18 einer Adresse der mobilen
Vorrichtung 12 in dem drahtlosen Netzwerk 14 zuordnen
kann. Jede Information, die an eine Ressource durch einen Verschiebeserver 42 gepostet
wird, wird dann an die entsprechende mobile Vorrichtung 12 weitergeleitet, wie
detaillierter weiter unten beschrieben wird. Alternativ kann ein
IP-Proxy-System 18 eine einzelne Ressource verwalten, an
die eine Information, die an die mobilen Vorrichtungen 12 verschoben
werden soll, die für
einen Betrieb mit dem IP-Proxy-System 18 konfiguriert
sind, gepostet werden kann. In derartigen Ausführungsbeispielen würde eine
Post-Anforderung eine zusätzliche
Information liefern, um eine/jede mobile Vorrichtung 12 zu
identifizieren, an welche die gepostete Information gesendet werden soll.
-
Die
Verbindungsanforderung von dem Verschiebeserver 42 wird
von dem Verschiebe-Dienst-Modul 30 empfangen. In dem Beispiel
der 5 ist die Verschiebe-Operation HTTP-basiert und
das Verschiebe-Dienst-Modul 30 ruft somit die HTTP-Handhabungsvorrichtung 26 auf.
Es sollte angemerkt werden, dass unterschiedliche Verschiebedienste
zu jeweiligen Handhabungsvorrichtungen in einem IP-Proxy-System 18 gehören können und dass
ein einzelnes IP-Proxy-System 18 mehrere unterschiedliche
Verschiebedienste vorsehen kann. Es wird auch erwogen, dass mehrere
Verschiebe-Dienst-Module zu einer einzelnen Verbindungs-Handhabungsvorrichtung
gehören
können. Alternativ
kann ein einzelnes Verschiebe-Dienst-Modul funktionell ähnlich sein
zu dem Dispatcher 22 und eine Schnittstelle zwischen einem
Verschiebeserver 42 und jeder Handhabungsvorrichtung in
einem IP-Proxy-System 18 vorsehen. Zu den Zwecken der Übersichtlichkeit
jedoch wird nur ein einzelnes Verschiebe-Dienst-Modul 30,
das zu der HTTP-Handhabungsvorrichtung 26 gehört, in der 5 gezeigt.
-
Obwohl
die Verbindungsanforderung von dem Verschiebeserver 42 in
der 5 als eine HTTP-Anforderung beschrieben wird,
sollte auch angemerkt werden, dass die Verbindungsanforderung möglicherweise
einem anderen Protokoll entspricht, das für eine Kommunikation zwischen
dem IP-Proxy-System 18 und einem Verschiebeserver 42 verwendet
wird. Eine Verbindungsanforderung kann einem ersten Protokoll entsprechen,
möglicherweise zum
Beispiel einem proprietären
Protokoll, kann aber spezifizieren, dass eine bestimmte Verbindungs-Handhabungsvorrichtung
für ein
zweites Protokoll verwendet werden soll, um die Verbindung zu handhaben,
so dass die Verbindungsanforderung als eine Verbindungsanforderung
gemäß dem zweiten Protokoll
interpretiert wird. Folglich umfassen Referenzen hier auf HTTP-Verbindungsanforderungen Verbindungsanforderungen,
die anderen Protokollen entsprechen, aber als HTTP-Verbindungsanforderungen
interpretiert werden.
-
Die
HTTP-Handhabungsvorrichtung 26 bestimmt, ob die Information
in der Post-Anforderung von
dem Verschiebeserver 42 transcodiert werden soll, bevor
sie an die mobile Vorrichtung 12 gesendet wird. Dies kann
zum Beispiel erreicht werden durch Einführen eines bevorzugten Inhaltstyps
für eine
Information, die für
eine mobile Vorrichtung 12 bestimmt ist. In der 5 wird
dieser Inhaltstyp als eine komprimierte Token-Version von WML gezeigt,
was im Allgemeinen als Kompilierte WML oder einfach WMLC bezeichnet
wird. Die HTTP-Handhabungsvorrichtung 26 verwendet
dann den empfangenen Inhaltstyp (WML), um eine Suche in der Konfigurationsdatei 72 durchzuführen, was
in dem Transcodier-System 28 in der 5 gezeigt
wird. Es ist jedoch für
Fachleute offensichtlich, dass die Konfigurationsdatei 72 stattdessen
extern zu dem Transco dier-System 28, Teil der HTTP-Handhabungsvorrichtung 26 oder
sogar extern zu dem IP-Proxy-System 18 sein kann, vorausgesetzt,
dass die HTTP-Handhabungsvorrichtung 26 auf
die Datei zugreifen kann. In einem Ausführungsbeispiel wird die Konfigurationsdatei
in einem Datenspeicher gespeichert, der durch das IP-Proxy-System 18 zugänglich ist,
typischerweise auf demselben Computersystem, auf dem der IP-Proxy 18 läuft. In
einem anderen Ausführungsbeispiel
kann die Transcodierer-Auswahl stattdessen durch den Verschiebeserver 42 gesteuert werden
durch Spezifizieren in der Anforderung eines Inhaltstyp oder eines
Transcodierers, der für
eine Übertragung
an die mobile Vorrichtung 12 verwendet werden soll, wie
detaillierter weiter unten beschrieben wird.
-
Die
HTTP-Handhabungsvorrichtung 26 sucht die Konfigurationsdatei 72,
um festzustellen, welcher, wenn überhaupt,
ihrer zugehörigen
Transcodierer den empfangenen Inhaltstyp, WML, in WMLC transcodieren
kann zur Übertragung
an die mobile Vorrichtung 12. In einem Ausführungsbeispiel wird
eine Verweistabelle konstruiert, die Eingangs-Inhaltstypen mit Ausgabe-Inhaltstypen
für alle
konfigurierten Transcodierer zusammenbringt, wenn Transcodierer
das erste Mal in das IP-Proxy-System 18 geladen werden.
In der 5 umfasst die Konfigurationsdatei 72 oder
alternativ eine Verweistabelle Einträge für zwei Transcodierer, einen
zum Konvertieren von WML zu WMLC und den anderen zum Konvertieren
von HTML (Hyper Text Markup Language) in WMLC. Die HTTP-Handhabungsvorrichtung 26 lädt dann,
nachdem sie den Konfigurationsdatei-Eintrag für den WML->WMLC-Transcodierer gefunden hat, den WML->WMLC-Transcodierer 74 von
einem lokalen Speicher zum Beispiel und führt den Transcodierer aus,
um den empfangenen WML-Inhalt in der Post-Anforderung in WMLC umzuwandeln.
Der WMLC-Inhalt wird dann an die mobile Vorrichtung 12 durch
den Dispatcher 22 weitergeleitet. Obwohl die 5 zeigt,
dass der Dispatcher 22 die Kommunikation des WMLC-Inhalts
an die mobile Vorrichtung 12 handhabt, 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.
-
Wenn
die Information in einer Verbindungsanforderung von einem Verschiebeserver 42 bereits in
dem bevorzugten Inhaltstyp ist, dann muss ein Transcodieren nicht
erforderlich sein. In der 5 leitet,
wenn die HTTP-Post-Anforderung von dem Verschiebeserver 42 einen
WMLC-Inhalt umfasst, die HTTP-Handhabungsvorrichtung 26 vorzugsweise den
WMLC-Inhalt an die mobile Vorrichtung 12 weiter, ohne zu
transcodieren.
-
Ein
Transcodieren der verschobenen Information ist keineswegs auf Einzel-Transcodierer-Operationen
beschränkt.
In dem Beispiel der 5 konvertiert jeder Transcodierer
direkt von einem Format in WMLC. Jedoch wird erwogen, dass mehrere Transcodierer
verwendet werden können,
um einen empfangenen Inhalt in ein Format oder einen Typ umzuwandeln,
das/den die mobile Vorrichtung 12 akzeptieren kann.
-
6 ist
ein Signal-Flussdiagramm, das mehrere oder „verkettete" Transcodier-Operationen für eine HTTP-basierte
Verschiebe-Operation zeigt. Wie in 5, zeigt 6 nur
die Komponenten des IP-Proxy-Systems 18, die direkt an
einer HTTP-basierten Verschiebe-Operation beteiligt sind, um eine Überfüllung in
den Zeichnungen zu vermeiden. Die in der 6 gezeigten
Komponenten sind im Wesentlichen dieselben wie die, die in der 5 gezeigt
werden und funktionieren ähnlich.
Der Verschiebeserver, die Konfigurationsdatei 78 und die
Transcodierer, die in der 6 gezeigt
werden, sind anders als in der 5 beschriftet,
um anzuzeigen, dass eine Information oder Inhaltstypen, die diese
Komponenten erzeugen oder verarbeiten, unterschiedlich sein können. Die
Komponenten selbst können
ansonsten dieselben sein. Zum Beispiel kann der Verschiebeserver 80 gleich
zu dem Verschiebeserver 42 sein, außer dass der Verschiebeserver 80 einen
HTML-Inhalt erzeugt. Es sollte auch angemerkt werden, dass der Verschiebeserver 80 tatsächlich derselbe
Server wie der Verschiebeserver 42 sein kann, wenn der
Verschiebeserver 42 konfiguriert ist, sowohl einen WML- als
auch einen HTML-Inhalt zu erzeugen. Ähnlich kann die Konfigurationsdatei 78 Einträge speichern, die
das gleiche Format wie die in der Konfigurationsdatei 72 haben,
aber ist anders beschriftet, da unterschiedliche Einträge gezeigt
werden. Die Transcodierer 82 können auch auf dieselbe Art
wie der Transcodierer 74 implementiert werden, aber die
beispielhaften Transcodierer 82 verarbeiten andere Inhaltstypen als
der Transcodierer 74.
-
Eine
HTTP-Post-Anforderung wird von dem Verschiebeserver 80 an
das IP-Proxy-System 18 gesendet,
möglicherweise
durch ein oder mehrere dazwischenliegende Netzwerke und Schnittstellen-Komponenten.
In der 6 umfasst die Post-Anforderung von dem Verschiebeserver 80 eine
Information des HTML-Inhaltstyp,
spezifiziert in einem Anforderungs-Header-Feld zum Beispiel als
ein MIME-Typ von HTML. Wie oben beschrieben, erkennt das Verschiebe-Dienst-Modul 30 die
Anforderung als eine HTTP-Anforderung und lädt die HTTP-Handhabungsvorrichtung 26.
Obwohl die 6 dasselbe Verschiebe-Dienst-Modul 30 wie 5 zeigt,
kann eine Verbindungsanforderung für den Verschiebeserver 80 durch
einen anderen Verschiebedienst gehandhabt werden. Die HTTP-Handhabungsvorrichtung 26 zieht
dann die Konfigurationsdatei 78 zu Rate 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. In der 6 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 die Konfigurationsdatei-Suche
nach den Transcodierern wiederholen, wie dem HTML->WML-Transcodierer,
der einen Inhalt in WML umwandelt, die es in einen WMLC-Inhaltstyp
umwandeln kann. Wenn eine Inhaltstyp anders als WML und HTML in
der Post-Anforderung von dem Verschiebeserver 80 geliefert wird,
dann kann die Konfigurationsdatei-Suche von der HTTP-Handhabungsvorrichtung 26 weiter
wiederholt werden, abhängig
zum Beispiel von akzeptablen Verzögerungen bei der Post-Anforderungs-Verarbeitung.
-
Um
die Verzögerungen
und die Nachfrage bei der Verarbeitung von Ressourcen 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önnen.
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.
Wenn weitere Transcodier-Operationen
und die zugehörigen
Arbeitsvorgänge
und Zeitverzögerungen
akzeptabel sind, dann kann die HTTP-Handhabungsvorrichtung 26 eine
Suche eines empfangenen 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.
-
Es
ist für
eine Kette von Transcodierern auch möglich, sowohl lokale als auch
entfernte Transcodier-Dienste zu umfassen. Diese entfernten Transcodier-Dienste
können
Transcodierer-Dateien sein, die ein IP-Proxy-System 18 entdeckt,
herunterlädt
und ausführt,
oder sie können
Web-basierte Transcodier-Dienste sein, die Daten in einem Format
empfangen und sie in einem anderen zurücksenden, wie detaillierter
unten beschrieben wird.
-
Die
Bestimmung, ob mehrere Transcodier-Operationen erlaubt sind oder
nicht, kann von der HTTP-Handhabungsvorrichtung 26 gemacht werden
entweder vor oder nachdem die Tabelle- oder Konfigurationsdatei-Suchoperation
durchgeführt wird.
In dem Beispiel der 6 sollte offensichtlich sein,
dass mehrere Transcodierer aufgerufen werden können, um einen empfangenen
Inhalt in WMLC umzuwandeln.
-
Sobald
die Konfigurationsdatei-Einträge
für die
HTML->WML und WML->WMLC-Transcodierer in
der Konfigurationsdatei 78 von der HTTP-Handhabungsvorrichtung 26 gefunden
werden, lädt
die HTTP-Handhabungsvorrichtung 26 zuerst
den HTML->WML-Transcodierer
und führt
ihn aus, um den empfangenen HTML-Inhalt in WML zu transcodieren.
Die HTTP-Handhabungsvorrichtung lädt dann den WML->WMLC-Transcodierer
und führt
ihn aus auf dem WML-Resultat der ersten Transcodier-Operation. Der
resultierende WMLC-Inhalt wird dann an den Dispatcher 22 und
dann an die mobile Vorrichtung 12 weitergeleitet. Wenn
der WMLC-Inhalt durch den Verschiebeserver 80 zurückgesendet
wird, leitet die HTTP-Handhabungsvorrichtung 26 den Inhalt
an den Dispatcher 22 weiter, ohne eine Transcodierung,
während,
wenn ein WML-Inhalt zurückgesendet
wird, der WML->WMLC-Transcodierer
aufgerufen wird, wie oben beschrieben.
-
Die
Bestimmung, ob mehrere Transcodier-Operationen erlaubt sind oder
nicht, kann auch 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 der mobilen Vorrichtung
oder von dem Verschiebeserver spezifizierte Priorität berücksichtigen.
Wenn eine hohe Zeit-Priorität
(geringe Zeitverzögerung)
von einem Benutzer der mobilen Vorrichtung 12 einer Information
zugewiesen wird, die für
die mobile Vorrichtung 12 des Benutzers bestimmt ist, dann
können
einzelne Transcodier-Operationen gewählt werden. Alternativ, wenn eine
hohe Datenpriorität
mit einer Information verbunden ist, die an eine mobile Vorrichtung 12 zu
senden ist, dann kann jede Anzahl von verketteten Transcodierer-Operationen erlaubt
sein, um die Information an die mobile Vorrichtung 12 in
einem akzeptablen Format zu bringen. Benutzereinstellungen können auf
die gesamte verschobene Information, auf bestimmte Typen einer verschobenen
Information oder auf eine Information anwendbar sein, die von bestimmten
spezifischen Verschiebeservern stammt. Transcodieren kann auch oder
stattdessen durch einen Verschiebeserver gesteuert werden, wie detaillierter
im Folgenden beschrieben wird.
-
Andere
Kriterien, die von einer Verbindungs-Handhabungsvorrichtung 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 Inhalts, 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.
-
Es
ist auch möglich,
dass mehr als eine Mehrfach-Transcodierer-Kette verfügbar sein
kann, um zwischen zwei Inhaltstypen zu konvertieren. In derartigen
Situatio nen kann es eine Priorität
geben, basierend zum Beispiel auf Transcodier-Kosten oder -Übereinstimmung,
die ein IP-Proxy-System 18 verwendet, um zwischen mehreren
verfügbaren
Ketten zu wählen.
-
In
den oben genannten Beispielen der Verschiebe-Operationen zeigt der
Verschiebeserver 42 oder 80 den Inhaltstyp der
Information in der Verbindungsanforderung an das IP-Proxy-System 18 an. Wenn
jedoch ein Verschiebeserver einen Dateninhalt verschiebt, aber keinen
Inhaltstyp spezifiziert, dann wird vorzugsweise der standardmäßige Transcodierer
verwendet. Wenn der standardmäßige Transcodierer
einen empfangenen Inhalt verwirft oder einen Inhaltstyp ausgibt,
der durch die mobile Vorrichtung 12 nicht akzeptiert werden
kann, wird vorzugsweise eine Fehlermeldung an den Verschiebeserver
zurückgesendet,
der dann die Daten erneut an die mobile Vorrichtung 12 senden
kann. Die Fehlermeldung zeigt weiter vorzugsweise dem Server einen
Grund für
einen Lieferausfall an, so dass der Verschiebeserver versuchen kann,
das Lieferungsproblem zu beheben, wenn möglich, bevor die Daten erneut
gesendet werden. Wenn die Daten nicht an die mobile Vorrichtung 12 geliefert
werden konnten, weil kein Inhaltstyp spezifiziert wurde, und der
standardmäßige Transcodierer
kann zum Beispiel die Daten nicht in einen akzeptablen Inhaltstyp
transcodieren, dann kann der Verschiebeserver die Daten mit einem
geeigneten Inhaltstyp erneut senden.
-
Die
oben genannten illustrativen Beispiele nehmen auch an, dass das
IP-Proxy-System 18 weiß, dass
die mobile Vorrichtung 12 einen WMLC-Inhalt akzeptieren
kann, oder zumindest, dass WMLC ein bevorzugter Inhaltstyp für eine an
die mobile Vorrichtung gerichtete Information ist. Wenn das IP-Proxy-System 18 nicht
weiß,
welche(r) Inhaltstyp(en) die mobile Vorrichtung 12 akzeptieren
kann, dann wird vorzugsweise der standardmäßige Transcodierer benutzt.
Alternativ kann die aktive Verbindungs-Handhabungsvorrichtung, die
HTTP-Handhabungsvorrichtung 26 in 5 und 6,
stattdessen die Transcodierer-Konfigurationsdatei 72, 78 oder
die Verweistabelle konsultieren, um zu bestim men, 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 derartiger Transcodierer
gefunden wird, dann kann einer von diesen, zum Beispiel der Transcodierer,
der den ersten Eintrag in der Konfigurationsdatei hat, oder der Transcodierer,
der vor kurzem 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. In der 6 zum
Beispiel, wenn kein bevorzugter Inhaltstyp dem IP-Proxy-System 18 bekannt
ist, dann wird der HTML->WML-Transcodierer
geladen und ausgeführt und
der resultierende WML-Inhalt kann dann an die mobile Vorrichtung 12 zurückgesendet
werden.
-
Spezifizieren eines Inhalts-Transcodierers
von einem Verschiebeserver
-
Eine
Verbindungsanforderung von einem Verschiebeserver kann auch spezifizieren,
dass ein bestimmter Transcodierer verwendet wird, um einen Inhalt
zu transcodieren, der an eine mobile Vorrichtung 12 verschoben
werden soll. Für
eine HTTP-Verbindung zum Beispiel kann ein IP-Proxy-System 18 konfiguriert
werden, ein Inhalt-Transcodierer-Feld in einem HTTP-Anforderungs-Header
zu erwarten, um anzuzeigen, dass ein Verschiebeserver 12,
der zum Beispiel zu einer Software-Anwendung oder -Eigenschaft einer
mobiler Vorrichtung gehört,
einen bestimmten Transcodierer spezifiziert. Das IP-Proxy-System 18 lädt den spezifizierten
Transcodierer und führt
ihn aus, um den verschobenen Inhalt zu transcodieren. Das Inhalt-Transcodierer-Header-Feld
sollte einen Wert haben, der gültig
ist im Kontext der HTTP-Konfigurationsdatei, oder wenn eine andere
Verbindungs-Handhabungsvorrichtung verwendet wird, ihrer entsprechenden
Konfigurationsdatei.
-
Wenn
ein angeforderter Transcodierer nicht verfügbar ist, dann wird vorzugsweise
eine Fehlermeldung zurück
an den Verschiebeserver 42 gesendet, zum Beispiel in der
Form einer IOException, die anzeigt, dass der angeforderte Transcodierer
nicht verfügbar
ist. Der Verschiebeserver 42 kann dann die Option haben,
die Anforderung mit einem anderen Transcodierer erneut zu versuchen.
Wenn die verschobenen Information für eine Software-Anwendung oder
-Komponente der mobilen Vorrichtung bestimmt ist, die eine Information
in einem bestimmten Format erfordert, das jedoch nur von dem spezifizierten
Transcodierer verfügbar
ist, kann die Anforderung stattdessen zu einer späteren Zeit
erneut versucht werden, wenn der spezifizierte Transcodierer möglicherweise
verfügbar
ist.
-
Eine
Transcodierer-Auswahl in einer Verbindungsanforderung von einem
Verschiebeserver 42 wird nun detaillierter über ein
illustratives Beispiel einer HTTP-basierten Verschiebe-Operation beschrieben. 7 ist
ein Signal-Flussdiagramm eines Beispiels einer Verschiebeserver-gesteuerten
Transcodierer-Auswahl für
eine HTTP-basierte Verschiebe-Operation. Wie oben zeigt die 7 nur
jene Komponenten des IP-Proxy-Systems 18, die direkt an
einer HTTP-basierten Server-Verschiebe-Operation beteiligt sind.
-
In
der 7 wird ein Inhalt von dem Verschiebeserver 42 an
das IP-Proxy-System 18 verschoben.
Für eine
HTTP-basierte Operation kann das Verschieben eine HTTP-Post-Operation
sein, wie oben beschrieben. Die Post-Anforderung umfasst Header-Felder,
in denen zumindest ein Transcodierer-Name (WML->WMLC in diesem Beispiel) und möglicherweise
eine Anzeige des Typs von Inhalt, wie ein MIME-Typ von WML in der 7,
spezifiziert werden können.
Da der Inhalt von derselben Entität vorgesehen wird, die den
bestimmten Transcodierer wählt,
ist der Inhaltstyp normalerweise mit dem spezifizierten Transcodierer
kompatibel und muss folglich nicht unbedingt in der Post-Anforderung
spezifiziert werden.
-
Die
Post-Anforderung von dem Verschiebeserver 42 wird durch
das Verschiebe-Dienst-Modul 30 empfangen.
In dem Beispiel der 7 ist die Verschiebe-Operation HTTP-basiert,
und das Verschiebe-Dienst-Modul 30 ruft folglich die HTTP-Handhabungsvorrichtung 26 auf.
Wie in 5 und 6 kann, obwohl nur ein einzelnes
Verschiebe-Dienst-Modul 30 zu der HTTP-Handhabungsvorrichtung 26 gehörend gezeigt
wird in der 7, ein IP-Proxy-System 18 mehrere
Verschiebe-Dienst-Module
umfassen, oder das Modul 30 kann zu mehreren Verbindungs-Handhabungsvorrichtungen
gehören.
-
Die
beispielhafte Verbindungsanforderung, die in der 7 gezeigt
wird, spezifiziert den bestimmten Transcodierer hinsichtlich seines
Eingabe-Inhaltstyps (WML) und des Ausgabe-Inhaltstyps (WMLC). Jedoch
sind auch andere Transcodierer-Bennenungs-Konventionen möglich. Wenn
eine Konfigurationsdatei Einträge
in einem Format hat, wie oben beschrieben, zeigt der Teil des Dateieintrags
für jeden
Transcodierer seine jeweiligen Eingabe- und Ausgabe-Inhaltstypen
an. Das „Transcodierer-Namens"-Feld in solch einem
Konfigurationsdatei-Eintrag muss folglich nicht notwendigerweise auch
die Eingabe- und Ausgabe-Inhaltstypen
zu umfassen. Obwohl viele unterschiedliche Transcodierer-Namens-Schemen möglich sind,
wird ein bestimmter Transcodierer vorzugsweise in allen mobilen
Vorrichtungs-Anforderungen und Konfigurationsdateien spezifiziert
unter Verwendung desselben Namens.
-
Die
HTTP-Handhabungsvorrichtung 26 verwendet vorzugsweise den
Transcodierer-Namen in der Post-Anforderung, WML->WMLC in der 7, um
eine Suche in der Konfigurationsdatei 72 durchführen, um
festzustellen, ob der spezifizierte Transcodierer in dem IP-Proxy-System 18 verfügbar ist.
Es sollte angemerkt werden, dass die Konfigurationsdatei 72 ein
Teil des Transcodier-Systems 28, wie in 7 gezeigt,
extern zu dem Transcodier-System 28, Teil der HTTP-Handhabungsvorrichtung 26 oder extern
zu dem IP-Proxy-System 18 sein kann.
-
In
der 7 existiert ein Eintrag für den Transcodierer, der in
der Post-Anforderung
spezifiziert wird, in der Konfigurationsdatei 72. Der WML->WMLC-Transcodierer 74 ist
folglich für
das IP-Proxy-System 18 verfügbar und der Transcodierer 74 wird
geladen und ausgeführt,
um den WML-Inhalt, der in der Post-Anforderung enthalten ist, in
einen WMLC-Inhalt zu transcodieren. Der WMLC-Inhalt wird an die
mobile Vorrichtung 12 durch den Dispatcher 22 weitergeleitet.
Wenn ein Inhalt durch einen Verschiebeserver 42 in einem
für die
mobile Vorrichtung akzeptablem Format vorgesehen wird, WMLC in dem
Beispiel der 7, kann die Post-Anforderung eine
Null oder einen anderen vorbestimmten Wert spezifizieren in einem
geeigneten Anforderungs-Header-Feld, um zu spezifizieren, dass der
Inhalt an den Dispatcher 22 weitergeleitet werden soll, ohne
Transcodierung. Es wird auch erwogen, dass ein Verschiebe-Dienst-Modul 30 konfiguriert
werden kann, das Transcodieren eines verschobenen Inhalts direkt
zu verwalten, anstatt eine getrennte Verbindungs-Handhabungsvorrichtung
aufzurufen.
-
Wenn
der bestimmte Transcodierer, der in der Post-Anforderung von dem
Verschiebeserver 42 spezifiziert wird, nicht für das IP-Proxy-System 18 verfügbar ist,
dann kann die Verschiebe-Operation abgebrochen werden. Alternativ
kann ein anderer Transcodierer, der einen Eingabe-Inhaltstyp und Ausgabe-Inhaltstyp
hat, die jeweils mit dem Inhalt von der Post-Anforderung kompatibel
sind, und einen Inhaltstyp, der durch die mobile Vorrichtung 12 akzeptiert
wird (wenn dem IP-Proxy-System 18 bekannt),
verwendet werden. Immer, wenn der angeforderte Transcodierer nicht
verwendet werden kann, um einen verschobenen Inhalt zu transcodieren, kann
ein Verschiebe-Operations-Ausfall- oder Fehlermeldung an den Verschiebeserver 42 zurückgesendet
werden, insbesondere, wenn der Verschiebeserver 42 konfiguriert
ist, einen nicht gelieferten Inhalt wieder zu versuchen. Da ein
verschobener Inhalt nicht durch die mobile Vorrichtung 12 angefordert wurde,
werden typischerweise keine derartigen Störungs- oder Ausfallmel dungen
an die mobile Vorrichtung 12 gesendet. Wenn der standardmäßige oder jeder
andere Transcodierer anstelle des spezifizierten Transcodierers
verwendet wird, dann kann der Verschiebeserver 42 über den
bestimmten Transcodierer informiert werden, der verwendet wird.
-
Alle
derartigen alternativen Transcodierungs-Operationen können stattdessen
durch den Verschiebeserver 42 gesteuert werden. Zum Beispiel,
wenn die Transcodierer-Konfigurationsdatei 72 keinen Eintrag
für den
spezifizierten WML->WMLC-Transcodierer
umfasst, kann das IP-Proxy-System 18 eine Ausfall- oder
Fehlermeldung an den Verschiebeserver 42 senden, die anzeigt,
dass der spezifizierte Transcodierer nicht verfügbar ist oder nicht verwendet
werden kann, wie oben beschrieben wird. Der Verschiebeserver 42, eine
Server-Software-Anwendung,
die zu der Verbindungsanforderung gehört, oder ein Betreiber oder Administrator
des Verschiebeservers 42 kann dann auf die Meldung reagieren
und die Aktion angeben, die unternommen werden soll. Diese Aktion
kann zum Beispiel umfassen ein Weiterleiten des Inhalts an die mobile
Vorrichtung 12 ohne Transcodierung, ein Aufrufen des standardmäßigen Transcodierers, ein
Aufrufen eines anderen bestimmten Transcodierers, der durch den
Verschiebeserver 42 spezifiziert wird, oder ein Verwerfen
des Inhalts. Der Verschiebeserver 42 kann auch eine Transcodierer-Ersatz-Richtlinie,
wie kein Transcodierer-Ersatz erlaubt, verkettete Transcodierer
erlaubt, etc. in der ursprünglichen
Verbindungsanforderung aufstellen, die an das IP-Proxy-System 18 gesendet
wird.
-
Das
IP-Proxy-System 18 kann auch feststellen, welcher, wenn
vorhanden, der Transcodierer mit entsprechenden Einträgen in der
Konfigurationsdatei 72 den verschobenen Inhalt entweder
in den Ausgabe-Inhaltstyp des Transcodierers, der in der Verbindungsanforderung
spezifiziert wird, oder in andere Inhaltstypen transcodieren kann,
und derartige verfügbare
Transcodierer in der Ausfall- oder Fehlermeldung identifizieren,
die an den Verschiebeserver 42 gesendet wird. Der Verschiebeserver 42,
die Software-Anwendung oder der Betreiber können dann diese Information
verwenden, um festzustellen, ob einer der verfügbaren Transcodierer verwendet
werden kann, um den verschobenen Inhalt zu transcodieren. Wenn zum
Beispiel der Inhalt nicht durch den spezifizierten Transcodierer
in ein Format transcodiert werden kann, das für bestimmte Verarbeitungsvorgänge an der
mobilen Vorrichtung 12 erforderlich ist, aber ein zweiter
Transcodierer verfügbar
ist, um den zurückgesendeten
Inhalt in einen Inhaltstyp zu transcodieren, der auf der mobilen
Vorrichtung 12 angesehen werden kann, dann kann der Verschiebeserver 42 den
Inhalt erneut senden und/oder den zweiten Transcodierer spezifizieren.
Obwohl die ursprünglich vorgesehenen
Verarbeitungsvorgänge
nicht möglich sein
können
unter Verwendung des Inhalts, der unter Verwendung des zweiten Transcodierers
transcodiert wurde, kann der Benutzer den Inhalt zumindest ansehen.
-
Um
zu vermeiden, Verbindungsanforderungen zu senden, die nicht verfügbare Transcodierer spezifizieren,
kann es wünschenswert
sein für
den Verschiebeserver 42, das IP-Proxy-System 18 für eine Liste
von verfügbaren
Transcodierern vor der Ausgabe einer Verbindungsanforderung abzufragen. Eine
Verbindungsanforderung kann dann vorbereitet werden unter Verwendung
eines der Transcodierer, von dem bekannt ist, dass er verfügbar ist
für das IP-Proxy-System 18.
Wenn ein erforderlicher Transcodierer nicht an einem IP-Proxy-System 18 verfügbar ist,
dann kann der Verschiebeserver 42 andere IP-Proxy-Systeme
abfragen in einem Versuch, den erforderlichen Transcodierer zu finden,
eine Verbindungsanforderung vorbereiten, die einen alternativen,
aber verfügbaren
Transcodierer spezifiziert, oder eine Informations-Anforderungs-Operation
abbrechen, die den erforderlichen Transcodierer betrifft.
-
Das
Signal-Flussdiagramm der 7 zeigt einen einzelnen Inhalt-Transcodierer
in einer Serverdatenverschiebung über eine HTTP-Post-Operation. Es
sollte offensichtlich sein, dass ein Server mehr als einen Inhalt-Transcodierer
spezifizieren kann, oder um Beispiel in einer verketteten Transcodier-Operation
verwendet wird.
-
Externe Transcodierer-Systeme
-
Wie
kurz oben beschrieben, können
Transcodierer geladen werden, wie erforderlich, von einem lokalen
Speicher auf einem Computersystem, auf dem ein IP-Proxy-System 18 implementiert
wurde. Transcodierer können
auch von einem externen Speicher geladen werden. 8 ist
ein allgemeines Blockdiagramm eines Kommunikationssystems mit einem
externen Transcodierer-System.
-
Das
System 90, das in der 8 gezeigt wird,
ist ähnlich
zu dem System 10 der 1, außer dem
externen Transcodierer-System 86. Elemente, die gemeinsam
für beide
Systeme 10 und 90 sind, wurden oben beschrieben.
Wie durch die gestrichelten Linien in der 8 gezeigt,
kann das IP-Proxy-System 84 mit dem Transcodierer-System 86 durch
eine Art einer direkten Verbindung, wie eine serielle Schnittstelle
oder Verbindung, durch ein WAN 16, wie dem Internet, oder
durch ein LAN 88 kommunizieren, in denen das IP-Proxy-System 84 und
das Transcodierer-System 86 konfiguriert sind zu arbeiten.
Andere Kommunikationsverbindungen zwischen dem IP-Proxy 84 und
dem Transcodierer-System 86 sind für Fachleute offensichtlich.
-
9 ist
ein Signal-Flussdiagramm, das eine HTTP-basierte Verschiebe-Operation mit einem externen
Transcodierer-System darstellt, wie in der 8 gezeigt.
Wie in den vorhergehenden Beispielen wird eine HTTP-Post-Anforderung von dem
Verschiebeserver 42 an das IP-Proxy-System 84 gesendet
und spezifiziert einen bestimmten Transcodierer (WML->WMLC) und zeigt möglicherweise
den Inhaltstyp an, WML in diesem Beispiel. Die Verbindungsanforderung,
die in der 9 gezeigt wird, ist nur für illustrative
Zwecken und muss nicht notwendigerweise eine Inhaltstypenanzeige
umfassen oder einen bestimmten Transcodierer spezifizieren.
-
Die
Anforderung wird durch das Verschiebe-Dienst-Modul 93 in
dem IP-Proxy-System 84 empfangen,
das feststellt, dass die Anforderung eine HTTP-Anforderung und somit die HTTP Verbindungs-Handhabungsvorrichtung 94 lädt und aufruft. Die
HTTP-Handhabungsvorrichtung 94 kann im Wesentlichen ähnlich zu
der HTTP-Handhabungsvorrichtung 26 sein, obwohl sie etwas
anders als die Handhabungsvorrichtung 26 arbeitet, um Inhalts-Transcodierer
zu laden. Die HTTP-Handhabungsvorrichtung 94 empfängt die
Anforderung von dem Verschiebe-Dienst-Modul 93 und kann
dann an eine Transcodierer-Konfigurationsdatei 92 oder
eine Verweistabelle verweisen, wie oben beschrieben, um festzustellen
ob der spezifizierte WML->WMLC-Transcodierer
verfügbar
ist oder nicht, um einen Inhalt umzuwandeln, der als Antwort auf
die Anforderung empfangen wird. Wenn kein Transcodierer in der Post-Anforderung
spezifiziert wird, dann kann ein Transcodierer gewählt werden
basierend auf einem Inhaltstyp, im Wesentlichen wie oben beschrieben.
-
Der
WML-Inhalt in der HTTP-Post-Anforderung von dem Verschiebeserver 42 wird
vorzugsweise in einem Dateisystem oder anderem Datenspeicher 98 gespeichert,
der die Ressource sein kann, die durch den URI in der Anforderung
identifiziert wird, während
der geeignete Transcodierer geladen wird. In dem Beispiel der 9,
fordert die HTTP-Handhabungsvorrichtung 94 den spezifizierten
WML->WMLC-Transcodierer
von dem Transcodierer-System 86 an. Obwohl diese Anforderung
in der 9 gezeigt wird als eine HTTP-Anforderung von der
HTTP-Handhabungsvorrichtung 94, sollte es offensichtlich
sein, dass andere Übertragungsmechanismen
stattdessen durch ein IP-Proxy-System 84 benutzt werden
können,
um einen Transcodierer von einem entfernten Transcodierer-System abzurufen.
Wenn zum Beispiel das IP-Proxy-System 84 mit dem Transcodierer-System 86 über ein
LAN 88 kommuniziert (8), dann
kann ein LAN- Protokoll
oder Datenzugriffs- und Übertragungsschema
von der HTTP-Handhabungsvorrichtung 94 aufgerufen
werden, um die erforderlichen Transcodierer abzurufen. Das Verschiebe-Dienst-Modul 93 in
dem IP-Proxy-System 84 kann stattdessen konfiguriert werden, den
spezifizierten Transcodierer von dem Transcodierer-System 86 abzurufen,
möglicherweise
durch eine Verbindungs-Handhabungsvorrichtung.
-
In
der 9 lokalisiert das Transcodierer-System 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 9 die
HTTP-Handhabungsvorrichtung 94,
den zurückgegebenen
WML->WMLC-Transcodierer und führt ihn
aus, wie bei 100 angezeigt. Der vorher empfangene und möglicherweise
gespeicherte WML-Inhalt kann dann durch den Transcodierer 100 verarbeitet
werden, und der transcodierte Inhalt wird an die mobile Vorrichtung 12 durch
den Dispatcher 22 zurückgesendet.
-
Wenn
verkettete Transcodierer-Operationen in der Verbindungsanforderung
von dem Verschiebeserver 42 spezifiziert werden, dann kann
mehr als eine Transcodierer-Anforderung von dem IP-Proxy-System 84 an
das Transcodierer-System 86 gemacht werden. Mehrere Transcodierer
können
stattdessen in einer einzelnen Anforderung an das Transcodierer-System 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 Transcodier-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 Transcodierer-System 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 durchgeführt,
und reduziert einen Verkehr auf der Kommunikationsverbindung zwischen dem
IP-Proxy-System 84 und dem Transcodierer-System 86.
In derartigen IP-Proxy-Systemen bestimmt vorzugsweise die aktive
Verbindungs-Handhabungsvorrichtung, welche die HTTP-Handhabungsvorrichtung 94 in
der 9 ist, ob ein erforderlicher Transcodierer in
einem lokalen Datenspeicher gespeichert ist, bevor sie den Transcodierer
von dem externen Transcodierer-System 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 Tabelleneintrag 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 Transcodierer-System 86 geladen werden muss oder nicht.
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 Transcodierer-Systems 86 anzeigen, während eine
Netzwerkadresse in der Konfigurationsdatei oder in der Verweistabelle
spezifiziert werden kann, wenn eine LAN-Verbindung verwendet wird.
Wenn die Position eines Transcodierer-Systems, von dem ein spezifizierter
Transcodierer verfügbar
ist, dem Verschiebeserver 42 bekannt ist, dann kann die
Position ebenfalls oder stattdessen in der Verbindungsanforderung von
dem Verschiebeserver 42 enthalten sein.
-
Es
wird auch erwogen, dass mehr als ein externes Transcodierer-System
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 Transcodierer-Systeme verfügbar sind, mit denen es kommunizieren kann.
Ein IP-Proxy-System 84 kann somit Transcodierer von jedem
einer Anzahl von Transcodierer-Systemen über direkte oder Netzwerk-Verbindungen
herunterladen. Der gesamte Betrieb eines IP-Proxy-Systems 84 mit
mehreren Transcodierer-Systemen würde im Wesentlichen wie oben
beschrieben sein, außer
dass auf unterschiedliche Transcodierer-Systeme 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 Transcodierer-Systemen
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 Transcodierer-System
verfügbar
ist. Obwohl ein IP-Proxy-System 84 möglicherweise auf mehrere Transcodierer-Systeme
zugreifen kann, kann ein Besitzer oder Administrator eines IP-Proxy-Systems 84 eines
dieser Transcodierer-Systeme als ein bevorzugtes oder standardmäßiges System
bestimmen, von dem das IP-Proxy-System 84 zuerst versucht,
einen Transcodierer herunterzuladen. Die Reihenfolge der Präferenz von
Transcodierer-Systemen
für einen Transcodierer,
der von mehr als einem Transcodierer-System 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 Transcodierer-Systemen gehören. Die
Konfigurationsdatei oder Verweistabelle können stattdessen entsprechend
dem Transcodierer-System geordnet werden, wobei alle Einträge für das standardmäßige oder
bevorzugte Transcodierer-System zuerst kommen. Ein bevorzugtes Transcodierer-System
kann auch in einer Verbindungsanforderung von der mobilen Vorrichtung 12 spezifiziert werden.
In 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.
-
Wenn
der spezifizierte Transcodierer nicht durch ein IP-Proxy-System 84 geladen
werden kann, dann kann eine Fehlermeldung an den Verschiebeserver 42 zurückgesendet
werden. Jede der Fehler- oder Ausfall-Operationen, die oben beschrieben
werden, können
durch das IP-Proxy-System 84 und den Verschiebeserver 42 durchgeführt werden,
wenn der spezifizierte Transcodierer nicht verwendet werden kann,
um einen empfangenen Inhalt zu transcodieren.
-
10 zeigt
ein weiteres Signal-Flussdiagramm für ein externes Transcodierer-System. In der 10 ist
nicht nur das Transcodierer-System 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-System 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 be stimmten IP-Proxy-Systems 84 unterhalten
werden, das mit der Konfigurationsdatei durch eine direkte Kommunikationsverbindung
verbunden ist, während
andere IP-Proxy-Systeme mit der Konfigurationsdatei 102 durch
lokale oder Weitbereichsnetzwerkverbindungen kommunizieren können. Die
Konfigurationsdatei 102 kann auch an dem Transcodierer-System 86 unterhalten
werden. Wie oben kann die Konfigurationsdatei 102 als eine
Verweistabelle implementiert werden. Die Konfigurationsdatei 102 kann
somit betrachtet werden als ein Register (registry), mit dem ein
oder mehrere externe Transcodierer-System(e), wie 86, verfügbare Transcodierer
registrieren.
-
Wenn
eine eingehende Verbindungsanforderung, die einen bestimmten Transcodierer
spezifiziert, von dem Verschiebe-Dienst-Modul 93 in dem IP-Proxy-System 84 empfangen
wird, wird sie als eine HTTP-Anforderung erkannt und die HTTP-Handhabungsvorrichtung 94 wird
durch das Verschiebe-Dienst-Modul 93 geladen und aufgerufen.
Wie oben beschrieben, bestimmt die HTTP-Handhabungsvorrichtung 94,
ob der spezifizierte Transcodierer in dem IP-Proxy-System 84 verfügbar ist
durch Konsultieren einer Konfigurationsdatei. In dem Beispiel der 10 jedoch
ist die Konfigurationsdatei 102 entfernt von dem IP-Proxy-System 84.
Wenn die Konfigurationsdatei 102 über HTTP zugänglich ist,
dann verwaltet die HTTP-Handhabungsvorrichtung die Transcodierer-Suchfunktion mit
der Konfigurationsdatei 102. Wenn die Konfigurationsdatei 102 nicht
für HTTP
ausgebildet ist, dann kann eine andere Verbindungs-Handhabungsvorrichtung
aufgerufen werden, um die Transcodierer-Suche oder Konfigurationsdatei-Suche
zu erleichtern. Alternativ kann das Verschiebe-Dienst-Modul 93 die
Transcodierer-Nachschlagen/-Suchfunktion durchführen. In dem Beispiel der 10 umfasst
die Konfigurationsdatei 102 einen Eintrag für den spezifizierten WML->WMLC-Transcodierer.
-
Wie
oben wird angenommen, dass der Verschiebeserver 42 einen
WML-Inhalt an die mobile Vorrichtung 12 verschiebt. Das
Transcodierer-System 86 in dem in der 10 gezeigten
Beispiel umfasst einen Satz von entfernt ausführbaren Transcodierern 104,
die einen WML->WMLC-Transcodierer 104a und
einen HTML->WML-Transcodierer 104b aufweisen,
und ermöglicht
dadurch eine entfernte Transcodierung des Inhalts. Anstatt den WML->WMLC-Inhalt-Transcodierer 104a von
dem Transcodierer-System 86 anzufordern und zu laden, überträgt die HTTP-Handhabungsvorrichtung 94, eine
andere Verbindungs-Handhabungsvorrichtung, abhängig von
dem bestimmten Transcodierer-System und den Übertragungsschemen, die es
unterstützt,
oder möglicherweise
das Verschiebe-Dienst-Modul 93, den WML-Inhalt an das Transcodier-System 86.
In dem Transcodier-System 86 wird der geeignete WML->WMLC-Transcodierer 104a ausgeführt und
der WML-Inhalt wird in ein WMLC-Format transcodiert. Der WMLC-Inhalt
wird dann an die HTTP-Handhabungsvorrichtung 94 oder eine
andere Verbindungs-Handhabungsvorrichtung zurückgesendet, wenn die Kommunikation
von dem IP-Proxy-System 84 an das Transcodierer-System 86 kein
HTTP verwendet. Wenn der WMLC-Inhalt durch das Transcodier-System 86 zurückgesendet wird
und von der HTTP-Handhabungsvorrichtung 94 empfangen wird,
möglicherweise
durch eine andere Verbindungs-Handhabungsvorrichtung und/oder das Verschiebe-Dienst-Modul 93,
wird er an den Dispatcher 22 weitergeleitet. Der Dispatcher 22 bereitet dann
eine Nachricht vor, einschließlich
des WMLC-Inhalts, und sendet die Nachricht an die mobile Vorrichtung 12.
Die HTTP-Handhabungsvorrichtung 94 kann stattdessen eine
Nachricht zur Übertragung
an die mobile Vorrichtung 12 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 von dem Verschiebeserver 42 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 erneut zu senden, entweder an dasselbe Transcodierer-System 86 oder an
ein anderes Transcodierer-System.
-
Wenn
eine Verschiebe-Operation über
eine HTTP-Post-Anforderung erreicht wird, wie in 10 gezeigt,
kann der verschobene Inhalt für
das IP-Proxy-System 84 von der Ressource verfügbar sein,
an die der Inhalt gepostet wird.
-
Wenn
der Inhalt in der Verbindungsanforderung von dem Verschiebeserver 42 ein
HTML-Inhalt ist, dann senden die HTTP-Handhabungsvorrichtung 94 oder
das Verschiebe-Dienst-Modul 93, durch eine andere Handhabungsvorrichtung,
wenn erforderlich, den HTML-Inhalt an das Transcodierer-System 86 für eine verkettete
Transcodierung unter Verwendung sowohl des HTML->WML-Transcodierers 104b als auch
dann des WML->WMLC-Transcodierers 104a. Derartige
verkettete Transcodierungs-Operationen können auch durch den Verschiebeserver 42 in
der Verbindungsanforderung spezifiziert werden. Verkettete Transcodierer
können
entweder ein Teil desselben Transcodier-Systems 86 sein,
wie in 10 gezeigt, oder in anderen
Transcodierer-Systemen implementiert werden. Wenn eine verkettete
Transcodierungs-Operation unterschiedliche Transcodierer-Systeme
umfasst, kann ein Inhalt von einer Informationsquelle zuerst an
ein Transcodierer-System übertragen
werden zum Transcodieren in einen dazwischenliegenden Inhaltstyp,
der an das IP-Proxy-System 84 zurückgesendet wird, und der dazwischenliegende
Inhaltstyp kann dann an ein weiteres Transcodierer-System gesendet
werden zum Transcodieren unter Verwendung des spezifizierten Transcodierers
oder eines anderen Zwischen-Transcodierers in einer Transcodierer-Kette.
Ein Inhalt wird vorzugsweise zwischen unterschiedlichen Transcodier-Systemen über das
IP-Proxy-System 84 weitergeleitet, das die Verbindungsanforderung
verarbeitet, aber er kann stattdessen von einem Transcodierer-System
an ein anderes direkt übertragen
werden, wenn kompatible Datenübertragungsmechanismen in
jedem Transcodier-System implementiert wurden.
-
Datenanforderungsfehler
oder -ausfälle,
wie Transcodierer-Fehler oder andere Situationen, in denen ein spezifizierter
Transcodierer nicht verfügbar ist,
können
gemäß einem
der Schemen gehandhabt werden, die oben beschrieben werden, möglicherweise
einschließlich
derartiger weiterer Operationen wie eine Verwendung eines anderen
Transcodierers, um einen Inhalt zu transcodieren, Zurücksenden
einer Fehlermeldung an den Verschiebeserver 42 und Steuern
einer nachfolgenden Verarbeitung einer Anforderung oder eines Inhalts
von dem Verschiebeserver 42.
-
Zusätzlich kann
ein Verschiebeserver, wie 42, eine externe Konfigurationsdatei
konsultieren, um festzustellen, welche Transcodierer für ein IP-Proxy-System 84 verfügbar sind,
bevor eine Verschiebeanforderung eingereicht wird. Wenn ein erforderlicher
Typ von Transcodierer nicht verfügbar
ist, kann der Verschiebeserver 42 bestimmen, ob eine andere
Transcodierer-Operation, einschließlich verkettete Transcodierer-Operationen,
für die
Verschiebeanforderung und eine vorgesehene mobile Empfangsvorrichtung 12 geeignet
ist, und formatiert die Verschiebeanforderung demgemäß, wodurch
möglicherweise
Ausfälle
oder Fehler an dem IP-Proxy-System 84 vermieden werden.
Wie oben beschrieben, kann die Konfigurationsdatei 102 ein
Register sein mit Einträgen
für Transcodierer,
die von einem oder mehreren Transcodierer-Systemen verfügbar sind.
Wenn Einträge
in der Konfigurationsdatei 102 eine Adresse, wie eine IP-Adresse,
oder einen anderen Identifizierer eines Transcodierer-Systems umfassen,
von dem ein bestimmter Transcodierer verfügbar ist, dann kann die Adresse
an ein IP-Proxy-System 84 durch einen Verschiebeserver 42 in
einer Verschiebeanforderung geliefert werden. Zumindest einige Transcodierer-Suchoperationen
können dadurch
von IP-Proxy-Systemen 84 an
Verschiebeserver 42 verlagert werden.
-
In
dem System der 10 wird erwogen, dass das Transcodierer-System 86 und
die Konfigurationsdatei 102 miteinander kommunizieren,
um sicherzustellen, dass die Konfigurationsdatei 102 genau
anzeigt, welche Transcodierer verfügbar sind. Eine Konfigurationsdatei
kann zu einem bestimmten Typ von Verbindung gehören, wie HTTP-Verbindungen
und folglich HTTP-Verbindungs-Handhabungsvorrichtungen.
Wenn eine Konfigurationsdatei 102 zu einem be stimmten Transcodierer-System 86 gehört, dann
kann die Konfigurationsdatei resident in dem Transcodier-System 86 sein.
-
Wenn
mehrere Transcodier-Systeme implementiert werden, kann eine gemeinsame
Konfigurationsdatei, die Transcodierer-Einträge für die Transcodierer speichert,
die in allen Transcodierer-Systemen verfügbar sind, die Transcodierer-Suche vereinfachen,
die von einer Verbindungs-Handhabungsvorrichtung durchgeführt wird.
Ein IP-Proxy-System 84 oder Verschiebeserver 42 muss
dann nur eine einzelne Konfigurationsdatei konsultieren, um festzustellen,
ob geeignete Transcodierer von den Transcodierer-Systemen verfügbar sind,
mit denen es/er 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.
-
Ein
externes Transcodier-System 86 unterstützt vorzugsweise eine Abfrage-Funktion, um einem
Verschiebeserver 42 zu ermöglichen, zu bestimmen, welche
Transcodierer verfügbar
sind, bevor eine Verbindungsanforderung vorbereitet wird und an ein
IP-Proxy-System 84 gesendet wird. Transcodierer können auch
zu dem Transcodierer-System 86 und der Konfigurationsdatei 102 hinzugefügt werden. Ein
Verschiebeserver 42 kann einen Transcodierer zu dem Transcodier-System 86 hinzufügen und
einen Inhalt, der auf dem neuen Transcodierer beruht, an mobile
Vorrichtungen, wie die mobile Vorrichtung 12, durch das
IP-Proxy-System 84 verschieben.
-
Externe
Transcodierer-Systeme 86 umfassen Herunterladen-Systeme,
von denen Transcodierer durch ein IP-Proxy-System 84 heruntergeladen werden
können
und lokal ausgeführt
werden können, wie
in der 9 gezeigt, und entfernte Transcodierer-Systeme,
an die ein Inhalt für
das Transcodieren an dem Transcodier- System gesendet wird, wie in der 10 gezeigt.
In einem anderen Ausführungsbeispiel
umfasst ein „hybrides" Transcodierer-System
beide dieser Typen von Transcodierer-Systemen. Wenn ein hybrides
Transcodierer-System für ein
IP-Proxy-System 84 verfügbar ist,
kann das IP-Proxy-System 84 entweder einen erforderlichen Transcodierer
von dem Transcodierer-System herunterladen oder einen Inhalt an
das Transcodierer-System senden, damit er entfernt transcodiert
wird. Alternativ, wenn der Verschiebeserver 42 den Inhaltstyp oder
das Transcodierer kennt, der für
eine Information verwendet werden soll, die an die mobile Vorrichtung 12 zu
senden ist, dann kann der Verschiebeserver 42 selbst einen
Transcodierer von einem externen Transcodier-System herunterladen
oder einen Inhalt zum Transcodieren an das externe Transcodier-System
senden und den transcodierten Inhalt in der Verbindungsanforderung
aufnehmen. Dies verlegt ein Transcodieren von einem IP-Proxy-System 84 zu
einem Verschiebeserver 42 und führt eine Informations-Verschiebe-Operation
unabhängig
von Transcodierern durch, die für
ein IP-Proxy-System 84 verfügbar sind. Dieses Konzept einer
Verschiebeserver-Transcodierung kann weiter erweitert werden, um
ein Herunterladen eines Transcodierers von einem IP-Proxy-System 84 und
eine lokale Ausführung des
Transcodierers auf einem Verschiebeserver 42 zu umfassen.
-
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), eines Typs einer Transcodierung,
der in einer Verbindungsanforderung spezifiziert wird, oder anderen
Kriterien. Ähnlich
können
verkettete Transcodierungs-Operationen
herunterladende Transcodier-Systeme und eine lokale Transcodierer-Ausführung sowie
entfernte Transcodier-Systeme umfassen.
-
Externe
Transcodier-Systeme können
auch derartige Dienste, wie ein Transcodierer-Herunterladen oder
eine entfernte Transcodierung für
einen Verschiebeserver, wie 42, unterstützen. Ein Verschiebeserver 42 kann
konfiguriert sein, um ein Transcodieren des Informationsinhalts
zu handhaben, bevor der Informationsinhalt an die mobile Vorrichtung 12 verschoben
wird. In der 10 kann zum Beispiel der Verschiebeserver 42 die
Konfigurationsdatei 102 konsultieren, um zu bestimmen,
ob ein geeigneter Transcodierer, ein WML->WMLC-Transcodierer, in einem Transcodierer-System
verfügbar
ist. Da das Transcodierer-System 86 einen WML->WMLC-Transcodierer 104a umfasst,
umfasst die Konfigurationsdatei 102 einen Eintrag für den Transcodierer 104a und
möglicherweise
eine Angabe einer Adresse, wie zum Beispiel eine URL oder eine LP-Adresse,
von welcher der Transcodierer verfügbar ist. In der 10 ist
das Transcodierer-System 86 ein entferntes Transcodier-System,
so dass der Verschiebeserver 42 den zu transcodierenden
Informationsinhalt an das Transcodierer-System 86 senden
kann. Der Verschiebeserver 42 kann folglich eine Verbindungs-Handhabungsvorrichtung
enthalten, die eine Kommunikation mit dem Transcodierer-System 86 ermöglicht.
Ein transcodierter WMLC-Inhalt von dem Transcodierer 104a wird
dann an den Verschiebeserver 42 zurückgesendet. Der Verschiebeserver 42 speichert
vorzugsweise den transcodierten Inhalt in einem lokalen oder entfernten Datenspeicher
in einem Cache, der durch den Verschiebeserver 42 zugänglich ist.
Der gespeicherte transcodierte WMLC-Inhalt kann dann von dem Datenspeicher
abgerufen werden und an eine mobile Vorrichtung 12 durch
das IP-Proxy-System 84 verschoben werden. Ein Verschiebeanforderung
von dem Verschiebeserver 42 umfasst vorzugsweise eine Anzeige,
dass der Informationsinhalt, der an die mobile Vorrichtung 12 verschoben
werden soll, bereits in einen Inhaltstyp transcodiert wurde, für den die
mobile Vorrichtung zu akzeptieren konfiguriert ist. Da der Informationsinhalt
in einer derartigen Verschiebeanforderung transcodiert wurde, wird
er an die mobile Vorrichtung 12 durch das Verschiebe-Dienst-Modul 93,
durch eine Verbindungs-Handhabungsvorrichtung, wie die HTTP-Handhabungsvorrichtung 94,
wenn erforderlich, und den Dispatcher 22 weitergeleitet.
-
Obwohl
ein „vor-Transcodieren" durch einen Verschiebeserver
oben in dem Kontext eines entfernten Transcodier-Systems beschrieben
wurde, sollte angemerkt werden, dass der Informationsinhalt stattdessen
lokal transcodiert werden kann durch einen Verschiebeserver 42 unter
Verwendung eines herunterladenden Transcodier-Systems oder eines
Transcodier-Systems, das von dem Verschiebeserver 42 vorgesehen
wird.
-
Beispielhafte Implementierung
-
Eine
beispielhafte Implementierung eines IP-Proxy-Systems wird nun beschrieben. 11 ist ein
Blockdiagramm, das ein IP-Proxy-System 124 zeigt, das in
einem sicheren Netzwerk implementiert ist.
-
Das
System 120 in der 11 umfasst
eine mobile Vorrichtung 12, die in einem drahtlosen Netzwerkes 14 arbeitet.
Durch ein Gateway 15 kann die mobile Vorrichtung 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. Im 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, ein interner Verschiebeserver 126 und
eine externe Informationsquelle 132, werden ebenfalls in
der 11 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 12. Es
wird das Beispiel des internen Verschiebeservers 126 innerhalb
der Sicherheits-Firewall 127 betrachtet, das unten unter Bezugnahme
auf 12 beschrieben wird. 12 ist
ein Signal-Flussdiagramm, das eine Firmen-Daten-Verschiebe-Operation
darstellt. In Übereinstimmung
mit den obigen illustrativen Beispieloperationen zeigt 12 eine
HTTP-basierte Daten-Verschiebe-Operation.
-
In
der 12 wird eine HTTP-Post-Anforderung von dem internen
Verschiebeserver 126 durch das Verschiebe-Dienst-Modul 30 empfangen
und als eine HTTP-Anforderung
erkannt. Das Verschiebe-Dienst-Modul 30 lädt in diesem
Beispiel die HTTP-Handhabungsvorrichtung 26 und ruft sie
auf, die dann die Konfigurationsdatei 72 oder die Transcodierer-Verweistabelle
konsultiert, um zu bestimmen, ob ein Transcodierer verfügbar ist,
um den empfangenen WML-Inhalt in ein für die Vorrichtung akzeptables
Format zu transcodieren. Wie oben beschrieben, kann ein geeigneter
Transcodierer durch das IP-Proxy-System 124 gewählt werden
oder in der Anforderung von dem Verschiebeserver 126 spezifiziert
werden. In der 12 wird der WML->WMLC-Transcodierer 74 geladen
und aufgerufen durch die HTTP-Handhabungsvorrichtung 26 und
der transcodierte Inhalt wird an den Netzwerkserver 122 durch
den Dispatcher 22 weitergeleitet. 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 an die mobile Vorrichtung 12.
-
In
einigen Implementierungen können
die Protokollkonvertierungs- oder Übersetzungsverfahren, die mit
dem Dispatcher 22 verbunden sind, stattdessen durch den
Netzwerkserver 122 durchgeführt werden. In einem alternativen
Ausführungsbeispiel kann
eine IP-Proxy-System-Funktionalität in einem Netzwerkserver 122 aufgenommen
werden, um dadurch einen Netzwerkserver vorzusehen, der einen Zugriff
auf Netzwerk-Ressourcen unter Verwendung einer mobilen Vorrichtung 12 ermöglicht.
In einem anderen Ausführungsbeispiel
kann ein IP-Proxy-System 124 Verschlüsselungs-/Entschlüsselungs-
und Kommunikations-Funktionen des Netzwerkservers 122 enthalten,
um mit dem drahtlosen Netzwerk-Gateway 15 (11)
und somit mobilen Vorrichtungen, wie 12, zu kommunizieren.
-
Der
interne Verschiebeserver 126 kann mit einem Computersystem
oder Datenspeicher verbunden 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. Die
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 des Inhalts, der an
die mobile Vorrichtung 12 gesendet wird, wie in 12 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.
-
Eine
Verschlüsselung
des verschobenen Inhalts durch das Verschlüsselungsmodul 122a in
dem Netzwerkserver 122, bevor er an die mobile Vorrichtung 12 gesendet
wird, stellt 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. Eine Information, die durch
die mobile Vorrichtung 12 an den Netzwerkserver 122 gesendet
wird, wird ähnlich durch
die mobile Vorrichtung 12 verschlüsselt und bleibt verschlüsselt, bis
sie entschlüsselt
wird durch das Entschlüsselungsmodul 122b.
Zum Beispiel kann eine HTTP-Get-Anforderung
auf der mobilen Vorrichtung 12 vorbereitet werden, und
dann verschlüsselt
und gesendet werden von der mobilen Vorrichtung 12 an den
Netzwerkserver 122, um eine Information anzufordern, die
sich auf einer Informationsquelle in dem Firmennetzwerk 130 befindet.
Die Anforderung bleibt verschlüsselt,
bis sie von dem Netzwerkserver 122 empfangen wird und hinter
der Sicherheits-Firewall 127 entschlüsselt wird, wie durch 134 in
der 12 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 an die HTTP-Handhabungsvorrichtung 26 geleitet, welche
die Information von der geeigneten Quelle anfordert. Eine zurückgesendete
Information wird transcodiert, wenn erforderlich, an den Dispatcher 22 geleitet,
verschlüsselt
durch das Verschlüsselungsmodul 122a und
zurück
an die mobile Vorrichtung 12 gesendet. 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 12 vorsehen,
außerhalb
von Firmen- oder privaten Örtlichkeiten,
zum Bei spiel an dem Ort des Diensteanbieters. 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 12 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 11 und 12 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 einem internen
Verschiebeserver, wie 128, oder anderen internen Informationsquellen
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 Passwort-deaktivierte Systemsperre
geschützt
werden und ein Zugang zu einem Firmennetzwerk 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 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 (11) ist
eine Daten-Verschiebeoperation
im Wesentlichen dieselbe, wie in 12 gezeigt,
außer dass
die Informationsquelle außerhalb
der Firewall 127 ist. Es sollte angemerkt werden, dass
jede Informationsquelle konfiguriert werden kann, um eine Information
in Erwiderung auf eine Anforderung von einem IP-Proxy-System 124 vorzusehen,
Information an eine mobile Vorrichtung durch ein IP-Proxy-System 124 zu
verschieben, oder möglicherweise
beide Funktionen durchzuführen.
Jeder Informationsaustausch zwischen der mobilen Vorrichtung 12 und
dem Netzwerkserver 122 kann verschlüsselt sein, aber eine Information,
die mit der Informationsquelle 132 austauscht 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. Wenn jedoch die externe Quelle 132 eine private
Information liefert, dann werden alternative Anordnungen vorzugsweise
vorgesehen.
-
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 zuzugreifen.
Eine Information von der Quelle 132 kann dadurch sicher
auf 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 Verbindungs-Handhabungsvorrichtung
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 das IP-Proxy-System 124 hergestellt
werden. In dem System der 11 wird
dann eine Kommunikation zwischen der mobilen Vorrichtung 12 und
dem Netzwerkserver 122 doppelt verschlüsselt.
-
Wie
in
11 gezeigt, ist der Netzwerkserver
122 auch
mit dem Email-System
128 verbunden. In einem Ausführungsbeispiel
sieht der Netzwerkserver
122 eine Um- bzw. Weiterleitung
der Datenelemente 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 drahtlosen Kommunikations-Ressourcen zu verbessern.
-
Ähnlich 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 12 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 11 gezeigt,
um dadurch sowohl einen Datensatz der IP-Proxy-System-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 das
IP-Proxy-System 124 zu anderen Diensten gehören.
-
Es
ist offensichtlich, dass die obige Beschreibung beispielhafte Ausführungsbeispiele
nur auf beispielhafte Weise betrifft. Andere Variationen existieren
und befinden sich in dem Umfang der Erfindung. Zum Beispiel wurden
Ausführungsbeispiele
der Erfindung hauptsächlich
in dem Kontext eines LP-basierten Systems beschrieben. Ähnliche
Proxy-Systeme für
andere Typen von Kommunikationssystemen werden ebenfalls in dem
Umfang der Erfindung erwogen. Andere Typen von Verbindungen, Verbindungs-Handhabungsvorrichtungen
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.
-
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 Inhaltstyp-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 Transcodierern für einen
oder jeden Teil des Mehrfach-Typ-Informationstypinhalts in einer
Verbindungsanforderung, einer Antwort auf eine Anforderung oder
einer Verschiebeanforderung spezifiziert werden. Ein jeweiliger
Transcodierer kann für
jeden Teil des Informationsinhalts gewählt und verwendet werden, der
einen bestimmte Inhaltstyp hat. Ein Verschiebeserver kann stattdessen
einen oder alle Teile des Mehrfachtyp-Informationsinhalts transcodieren,
bevor ein solcher Inhalt an eine mobile Vorrichtung verschoben wird.
-
Wenn
ein Teil des 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 anzeigen, können 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 11 gezeigt.
Die Installation eines Proxy-Systems in einem ISP-, ASP- oder VON(Virtual
Network Operator)-System liefert einen sicheren entfernten Zugriff
auf eine Netzwerkinformation und eine sicher Übertragung von Information
zwischen den Netzwerkbenutzern, ein schließlich Übertragungen zwischen mobilen
Vorrichtungen von ISP-, ASP- oder VON-Benutzern.
-
Es
sollte angemerkt werden, dass, obwohl die Beschreibung der Erfindung
für bestimmte
Anordnungen gemacht ist, die Absicht und das Konzept der vorliegenden
Erfindung für
andere Anordnungen geeignet und anwendbar sind.