DE60222904T2 - System und verfahren zum datenzugriff für ein mobiles telekommunikationsendgerät - Google Patents

System und verfahren zum datenzugriff für ein mobiles telekommunikationsendgerät Download PDF

Info

Publication number
DE60222904T2
DE60222904T2 DE60222904T DE60222904T DE60222904T2 DE 60222904 T2 DE60222904 T2 DE 60222904T2 DE 60222904 T DE60222904 T DE 60222904T DE 60222904 T DE60222904 T DE 60222904T DE 60222904 T2 DE60222904 T2 DE 60222904T2
Authority
DE
Germany
Prior art keywords
content
connection
information
transcoder
transcoders
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60222904T
Other languages
English (en)
Other versions
DE60222904D1 (de
Inventor
Salim H. Waterloo OMAR
Russell N. Waterlo OWEN
Herbert A. Waterloo Little
Tomasz K. Waterloo RYBAK
Michael S. Waterloo Brown
David P. Waterloo YACH
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of DE60222904D1 publication Critical patent/DE60222904D1/de
Application granted granted Critical
Publication of DE60222904T2 publication Critical patent/DE60222904T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

Description

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

Claims (35)

  1. System zum Vorsehen eines Datenzugriffs zwischen einer Informationsquelle (20) und einer mobilen Kommunikationsvorrichtung (12), wobei das System aufweist: ein Transcodier-System (86), das eine Vielzahl von Transcodierern (96) aufweist, wobei jeder Transcodierer (96) betriebsfähig ist, einen Informationsinhalt von einem jeweiligen ersten Inhaltstyp in einen jeweiligen zweiten Inhaltstyp zu transcodieren; eine Konfigurationsdatei (102), wobei die Konfigurationsdatei (102) eine Liste von Transcodieren aufweist, die an dem Transcodier-System (86) verfügbar sind; und eine Netzwerkvorrichtung (84) in Kommunikation mit und extern zu dem Transcodier-System (86) und der Konfigurationsdatei (102), wobei die Netzwerkvorrichtung (89) ein Verbindungshandhabungssystem aufweist, wobei das Verbindungshandhabungssystem betriebsfähig ist, Verbindungsdaten für eine Verbindung zwischen der Informationsquelle (20) und der mobilen Kommunikationsvorrichtung (12) zu empfangen und eine entsprechende Verbindungshandhabungsvorrichtung zu wählen, wobei das Verbindungshandhabungssystem betriebsfähig ist, einen von der Informationsquelle (20) empfangenen Informationsinhalt an das Transcodier-System (86) zu übertragen, und betriebsfähig ist, dem Transcodier-System (86) einen oder mehrere Transcodierer (96) aus der Vielzahl von Transcodierern (96) zu spezifizieren zur Verwendung zur Transcodierung des Informationsinhalts, wobei das Verbindungshandhabungssystem weiter betriebsfähig ist, einen transcodierten Informationsinhalt von dem Transcodier-System (86) zu empfangen, wobei die Netzwerkvorrichtung (84) weiter betriebsfähig ist, den transcodierten Informationsinhalt an die mobile Kommunikationsvorrichtung (12) zu senden, und das Transcodier-System (86) und die Konfigurationsdatei (102) betriebsfähig sind, miteinander zu kommunizieren, um sicherzustellen, dass die Konfigurationsdatei (102) genau anzeigt, welche Transcodierer an dem Transcodier-System (86) verfügbar sind.
  2. System gemäß Anspruch 1, wobei das Verbindungshandhabungssystem ein Verbindungshandhabungsverzeichnis aufweist, wobei das Verbindungshandhabungsverzeichnis Verbindungshandhabungsdaten speichert.
  3. System gemäß Anspruch 2, wobei die Verbindungshandhabungsdaten Verbindungshandhabungsdaten aufweisen, die zu zumindest einer Verbindungshandhabungsvorrichtung gehören.
  4. System gemäß Anspruch 2, wobei die Verbindungshandhabungsdaten eine Netzwerkadresse aufweisen, die den Standort einer Verbindungshandhabungsvorrichtung spezifizieren.
  5. System gemäß Anspruch 4, wobei das Verbindungshandhabungssystem betriebsfähig ist, auf den Standort zuzugreifen, der durch die Netzwerkadresse spezifiziert wird, die Verbindungshandhabungsvorrichtung abzurufen und Verbindungshandhabungsdaten, die zu der Verbindungshandhabungsvorrichtung gehören, in dem Verbindungshandhabungsverzeichnis zu speichern.
  6. System gemäß Anspruch 1, wobei die Verbindungsdaten Akzeptierungsdaten umfasst, die einen akzeptablen Inhaltstyp anzeigen, für dessen Empfang die mobile Kommunikationsvorrichtung (12) betriebsfähig ist.
  7. System gemäß Anspruch 6, wobei die Verbindungshandhabungsvorrichtung betriebsfähig ist, einen empfangenen Inhaltstyp des Informationsinhalts zu bestimmen, der von der Informationsquelle (20) empfangen wird, und zu bestimmen, ob der empfangene Inhaltstyp mit dem akzeptablen Inhaltstyp übereinstimmt.
  8. System gemäß Anspruch 7, wobei die Verbindungshandhabungsvorrichtung weiter betriebsfähig ist, einen oder mehrere Transcodierer (74, 96) auszuwählen, um den Informationsinhalt zu transcodieren, wenn der empfangene Inhaltstyp nicht mit dem akzeptablen Inhaltstyp übereinstimmt.
  9. System gemäß Anspruch 7, wobei die Verbindungshandhabungsvorrichtung weiter betriebsfähig ist, eine Fehlernachricht an die mobile Kommunikationsvorrichtung (12) zu senden, wenn der Informationsinhalt nicht in den akzeptablen Inhaltstyp transcodiert werden kann.
  10. System gemäß Anspruch 1, wobei das Transcodier-System (86) betriebsfähig ist, Zuordnungs- bzw. Abbildungsdaten zu erzeugen und zu speichern, die Transcodier-Ketten aufweisen, wobei jede Transcodier-Kette einen oder mehrere Transcodierer (74, 96) auswählt, um den Informationsinhalt von einem jeweiligen Eingabeinhaltstyp in einen jeweiligen Ausgabeinhaltstyp zu transcodieren.
  11. System gemäß Anspruch 10, wobei die Zuordnungsdaten aktualisiert werden bei einem Hinzufügen oder einer Löschung von Transcodierdaten.
  12. System gemäß Anspruch 10, wobei die Verbindungshandhabungsvorrichtung betriebsfähig ist, einen empfangenen Inhaltstyp zu dem von der Informationsquelle (20) empfangenen Informationsinhalt zu bestimmen, einen akzeptablen Inhaltstyp zu bestimmen, für dessen Empfang die mobile Kommunikationsvorrichtung (12) betriebsfähig ist, und eine der Transcodier-Ketten zu spezifizieren, um den Informationsinhalt von dem empfangenen Informationstyp in den akzeptablen Inhaltstyp zu transcodieren.
  13. System gemäß Anspruch 1, wobei die Verbindungshandhabungsvorrichtung betriebsfähig ist, eine Liste von Inhaltstypen in der Reihenfolge der Präferenz zu spezifizieren und die Liste der Inhaltstypen an die Informationsquelle (20) zu liefern.
  14. System gemäß Anspruch 13, wobei die Verbindungshandhabungsvorrichtung betriebsfähig ist, einen empfangenen Inhaltstyp des Informationsinhalts zu bestimmen, der von der Informationsquelle (20) empfangen wird, einen akzeptablen Inhaltstyp zu bestimmen, für dessen Empfang die mobile Kommunikationsvorrichtung (12) betriebsfähig ist, und den einen oder die mehreren Transcodierer (74, 96) zu spezifizieren, um den Informationsinhalt von dem empfangenen Inhaltstyp in den akzeptablen Inhaltstyp zu transcodieren.
  15. System gemäß Anspruch 13, wobei: der Informationsinhalt mehrere unterschiedliche Inhaltstypen umfasst; und die Verbindungshandhabungsvorrichtung betriebsfähig ist, einen jeweiligen Transcodierer (74, 96) zu spezifizieren, um den Informationsinhalt jedes der mehreren unterschiedlichen Inhaltstypen zu transcodieren.
  16. Verfahren zum Vorsehen eines entfernten Datenzugriffs für eine mobile Kommunikationsvorrichtung (12), das die Schritte aufweist: Empfangen einer Verbindungsanforderung und Auswahl einer aus einer Vielzahl von Verbindungshandhabungsvorrichtungen basierend auf der Verbindungsanforderung; Erstellen einer Verbindung mit einer Informationsquelle (20) abhängig von der Verbindungsanforderung; Empfangen eines Informationsinhalts von der Informationsquelle (20); Zugreifen auf eine externe Konfigurationsdatei (102), um verfügbare Transcodierer an einem externen Transcodier-System (86) zu bestimmen, wobei jeder Transcodierer (96) konfiguriert wird, einen Informationsinhalt von einem jeweiligen Eingabeinhaltstyp in einen jeweiligen Ausgabeinhaltstyp zu transcodieren; Übertragen des Informationsinhalts an das Transcodier-System (86) und Spezifizieren von einem oder mehreren Transcodierer (96) zur Verwendung durch das Transcodier-System (86), um einen transcodierten Informationsinhalt zu erzeugen; Empfangen des transcodierten Informationsinhalts von dem Transcodiersystem; und Weiterleiten des transcodierten Informationsinhalts an die mobile Kommunikationsvorrichtung (12), wobei das Transcodier-System (86) und die Konfigurationsdatei (102) betriebsfähig sind, miteinander zu kommunizieren, um sicherzustellen, dass die Konfigurationsdatei (102) genau anzeigt, welche Transcodierer an dem Transcodier-System (86) verfügbar sind.
  17. Verfahren gemäß Anspruch 16, wobei der Schritt des Empfangens einer Verbindungsanforderung den Schritt des Empfangs einer Verbindungsanforderung von der mobilen Kommunikationsvorrichtung (12) aufweist.
  18. Verfahren gemäß Anspruch 16, wobei die Verbindungsanforderung die Informationsquelle (20) identifiziert.
  19. Verfahren gemäß Anspruch 18, wobei der Schritt des Errichtens einer Verbindung mit einer Informationsquelle (20) abhängig von der Verbindungsanforderung den Schritt des Sendens einer Informationsanforderung an die Informationsquelle (20) aufweist.
  20. Verfahren gemäß Anspruch 19, wobei: die Verbindungsanforderung einem ersten Kommunikationsprotokoll entspricht; und die Informationsanforderung einem zweiten Kommunikationsprotokoll entspricht.
  21. Verfahren gemäß Anspruch 20, wobei das zweite Kommunikationsprotokoll HTTP (Hypertext Transfer Protocol) ist.
  22. Verfahren gemäß Anspruch 19, wobei die Verbindungsanforderung einen oder mehrere akzeptierte(n) Inhaltstyp(en) identifiziert, wobei das Verfahren weiter die Schritte aufweist: Bestimmen, ob einer der Vielzahl von Transcodierern (74, 96) konfiguriert ist, weitere Inhaltstypen in einen des einen oder der mehreren akzeptierten Inhaltstypen zu transcodieren; und Aufnehmen des einen oder mehreren akzeptierten Inhaltstyp(en) und der weiteren Inhaltstypen in die Informationsanforderung.
  23. Verfahren gemäß Anspruch 16, wobei: die Verbindungsanforderung einen oder mehrere akzeptierte Inhaltstyp(en) identifiziert; und der Schritt des Spezifizierens des einen oder der mehreren Transcodierer zur Verwendung durch das Transcodier-System den Schritt aufweist des Bestimmens, ob ein empfangener Inhaltstyp des Informationsinhalts in einen oder mehrere akzeptierte Inhaltstypen transcodiert werden kann.
  24. Verfahren gemäß Anspruch 23, wobei der Schritt des Bestimmens, ob ein empfangener Inhaltstyp des Informationsinhalts in einen oder mehrere akzeptierte Inhaltstypen transcodiert werden kann, die Schritte aufweist: Bestimmen, ob einer der Vielzahl von Transcodierern (74, 96) konfiguriert ist, um den empfangenen Inhaltstyp in den einen oder die mehreren akzeptierten Inhaltstypen zu transcodieren; und Auswahl eines Transcodierers (74, 96) zum Transcodieren des Informationsinhalts in einen der akzeptierten Inhaltstypen, wobei einer der Vielzahl von Transcodierern (74, 96) konfiguriert ist, den empfangenen Inhaltstyp in den einen oder die mehreren akzeptierten Inhaltstypen zu transcodieren.
  25. Verfahren gemäß Anspruch 24, das weiter den Schritt des Verwerfens des Informationsinhalts aufweist, wenn keiner der Vielzahl von Transcodierern (74, 96) konfiguriert ist, den empfangenen Inhaltstyp in den einen oder die mehreren akzeptierten Inhaltstypen zu transcodieren.
  26. Verfahren gemäß Anspruch 24, das weiter den Schritt des Durchlassens des Informationsinhalts aufweist, wenn keiner der Vielzahl von Transcodierern (74, 96) konfiguriert ist, den empfangenen Inhaltstyp in den einen oder die mehreren akzeptierten Inhaltstypen zu transcodieren.
  27. Verfahren gemäß Anspruch 23, wobei: der Informationsinhalt mehrere Inhaltstypen aufweist; und der Schritt des Bestimmens, ob ein empfangener Inhaltstyp des Informationsinhalts in einen oder mehrere akzeptierte Inhaltstypen transcodiert werden kann, den Schritt aufweist: Bestimmen, ob einer der Transcodierer (74, 96) konfiguriert ist, einen der mehreren Inhaltstypen in den einen oder die mehreren der akzeptierten Inhaltstypen zu transcodieren; und Auswahl eines jeweiligen Transcodierers (74, 96) zum Transcodieren des Informationsinhalts von jedem der mehreren Inhaltstypen in einen der akzeptierten Inhaltstypen, wobei eine Vielzahl der Transcodierer (74, 96) konfiguriert ist, eine Vielzahl der mehreren Inhaltstypen in einen oder mehrere der akzeptierten Inhaltstypen zu transcodieren.
  28. Verfahren gemäß Anspruch 16, wobei: der Informationsinhalt mehrere Inhaltstypen aufweist; und der Schritt des Spezifizieren eines oder mehrerer Transcodierer(s) (74, 96) den Schritt aufweist der Auswahl eines jeweiligen Transcodierers (74, 96) zum Transcodieren des Informationsinhalts jedes der mehreren Inhaltstypen.
  29. Verfahren gemäß Anspruch 16, wobei die Verbindungsanforderung einen oder mehrere akzeptierte Inhaltstypen identifiziert und wobei der Schritt des Errichtens einer Verbindung mit der Informationsquelle (20) die Schritte aufweist: Suchen der Konfigurationsdatei für einen Satz von Transcodierern (74, 96), die konfiguriert sind, einen Informationsinhalt in den einen oder die mehreren akzeptierten Inhaltstypen zu transcodieren; Erzeugen einer Liste von jeweiligen Eingabeinhaltstypen entsprechend dem Satz von Transcodierern (74, 96); und Senden der Liste von jeweiligen Eingabeinhaltstypen und den einen oder die mehreren akzeptierten Inhaltstypen an die Informationsquelle (20).
  30. Verfahren gemäß Anspruch 16, wobei der Schritt des Weiterleitens des transcodierten Informationsinhalts an die mobile Kommunikationsvorrichtung (12) den Schritt des Verschlüsseln des transcodierten Informationsinhalts aufweist.
  31. Verfahren gemäß Anspruch 16, wobei der Schritt des Weiterleitens des transcodierten Inhalts an die mobile Kommunikationsvorrichtung (12) den Schritt der Komprimierung des transcodierten Inhalts aufweist.
  32. Verfahren gemäß Anspruch 16, wobei der Schritt des Weiterleitens des transcodierten Inhalts an die mobile Kommunikationsvorrichtung (12) den Schritt des Verschlüsselns des transcodierten Inhalts aufweist.
  33. Verfahren gemäß Anspruch 16, wobei die Informationsquelle (20) eine private Informationsquelle (20) ist, die konfiguriert ist, in einem privaten Computernetzwerk hinter einer Sicherheits-Firewall zu arbeiten.
  34. Verfahren gemäß Anspruch 16, das weiter die Schritte aufweist: Erzeugen einer Liste von Transcodierern (74, 96) gemäß einer Reihenfolge der Präferenz; und Auswahl eines der Transcodierer (74, 96) in der Liste der Transcodierer basierend auf der Reihenfolge der Präferenz.
  35. Verfahren gemäß Anspruch 16, wobei die Eingabeinhaltstypen und die Ausgabeinhaltstypen Inhaltstypen umfassen, die aus der Gruppe gewählt werden, die besteht aus WML (Wireless Markup Language), HTML (Hypertext Markup Language), WMLC (kompilierte WML) und XML (Extensible Markup Language).
DE60222904T 2001-07-12 2002-07-12 System und verfahren zum datenzugriff für ein mobiles telekommunikationsendgerät Expired - Lifetime DE60222904T2 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US30504401P 2001-07-12 2001-07-12
US305044P 2001-07-12
US32775201P 2001-10-09 2001-10-09
US327752P 2001-10-09
US33060401P 2001-10-25 2001-10-25
US330604P 2001-10-25
US34083901P 2001-12-19 2001-12-19
US340839P 2001-12-19
PCT/CA2002/001072 WO2003007617A1 (en) 2001-07-12 2002-07-12 System and method for providing remote data access for a mobile communication device

Publications (2)

Publication Number Publication Date
DE60222904D1 DE60222904D1 (de) 2007-11-22
DE60222904T2 true DE60222904T2 (de) 2008-07-24

Family

ID=27501871

Family Applications (3)

Application Number Title Priority Date Filing Date
DE60219169T Expired - Lifetime DE60219169T2 (de) 2001-07-12 2002-07-12 System und Verfahren zum schieben von Daten von einer Informationsquelle zu einem mobilen Endgerät beinhalten die Transcodierung der Daten
DE60236221T Expired - Lifetime DE60236221D1 (de) 2001-07-12 2002-07-12 System und Verfahren zum Schieben von Daten von einer Informationsquelle zu einem mobilen Endgerät beinhaltend die Transcodierung der Daten
DE60222904T Expired - Lifetime DE60222904T2 (de) 2001-07-12 2002-07-12 System und verfahren zum datenzugriff für ein mobiles telekommunikationsendgerät

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE60219169T Expired - Lifetime DE60219169T2 (de) 2001-07-12 2002-07-12 System und Verfahren zum schieben von Daten von einer Informationsquelle zu einem mobilen Endgerät beinhalten die Transcodierung der Daten
DE60236221T Expired - Lifetime DE60236221D1 (de) 2001-07-12 2002-07-12 System und Verfahren zum Schieben von Daten von einer Informationsquelle zu einem mobilen Endgerät beinhaltend die Transcodierung der Daten

Country Status (9)

Country Link
US (3) US20040199665A1 (de)
EP (4) EP1773027B1 (de)
CN (4) CN1324898C (de)
AT (3) ATE358298T1 (de)
BR (3) BR0211094A (de)
CA (4) CA2454222C (de)
DE (3) DE60219169T2 (de)
HK (2) HK1062249A1 (de)
WO (3) WO2003007184A1 (de)

Families Citing this family (213)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001293563A1 (en) * 2000-09-21 2002-04-02 Research In Motion Limited Code signing system and method
US7653701B2 (en) * 2001-02-23 2010-01-26 Hewlett-Packard Development Company, L.P. Network system and method for automatically transferring data in a plurality of input and output formats to a computer network
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7024662B2 (en) * 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US9032097B2 (en) * 2001-04-26 2015-05-12 Nokia Corporation Data communication with remote network node
US20060218482A1 (en) * 2002-04-19 2006-09-28 Droplet Technology, Inc. Mobile imaging application, device architecture, service platform architecture and services
US20140368672A1 (en) * 2002-04-19 2014-12-18 Soryn Technologies Llc Methods for Deploying Video Monitoring Applications and Services Across Heterogeneous Networks
US7679649B2 (en) * 2002-04-19 2010-03-16 Ralston John D Methods for deploying video monitoring applications and services across heterogenous networks
US8543657B2 (en) * 2002-05-03 2013-09-24 Samsung Electronics Co., Ltd Data communication system and method using a wireless terminal
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US20040078601A1 (en) * 2002-08-02 2004-04-22 Chris Tengwall System and method for operating a wireless device network
US7337308B2 (en) * 2002-11-15 2008-02-26 Microsoft Corporation System and method for initiating dialup creation from modem connection to a mobile device
US20040210663A1 (en) * 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US8181022B2 (en) * 2003-06-24 2012-05-15 Realnetworks, Inc. Method and apparatus for controlling access restrictions for media playback
US7392316B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Client to server streaming of multimedia content using HTTP
US7586868B2 (en) * 2003-07-14 2009-09-08 Motorola, Inc Method and apparatus for controlling distributed transcoders
US7860046B2 (en) * 2003-12-08 2010-12-28 Motorola Mobility, Inc. Method and apparatus for providing bearer format type information in a cellular communication system
US8856346B2 (en) * 2004-01-15 2014-10-07 Unwired Planet, Llc Stateful push notifications
FR2866168A1 (fr) * 2004-02-11 2005-08-12 France Telecom Emission de cle publique par terminal mobile
AU2005222680B2 (en) 2004-03-23 2010-12-09 Nds Limited Optimally adapting multimedia content for mobile subscriber device playback
CA2565360C (en) * 2004-04-30 2012-01-10 Research In Motion Limited System and method for securing data
CN100338929C (zh) * 2004-05-25 2007-09-19 中国移动通信集团公司 移动终端透过防火墙获取信息服务器信息的系统及方法
CN100345425C (zh) * 2004-05-25 2007-10-24 中国移动通信集团公司 从信息系统向移动终端推送信息的方法及系统
US7693752B2 (en) 2004-05-26 2010-04-06 Hothand, Inc. Mobile commerce framework
KR100687730B1 (ko) * 2004-08-04 2007-02-27 경북대학교 산학협력단 액티브 노드, 액티브 노드를 이용한 컨텐츠 전송 시스템및 그 방법
US7711856B1 (en) * 2004-09-30 2010-05-04 Avaya Inc. Method and apparatus for providing an interface for a messaging mailbox
US8346956B2 (en) 2004-10-29 2013-01-01 Akamai Technologies, Inc. Dynamic image delivery system
US7477908B2 (en) 2004-12-13 2009-01-13 Research In Motion Limited Messaging protocol/service switching methods and devices
KR101032551B1 (ko) * 2004-12-27 2011-05-06 엘지전자 주식회사 콘텐츠 서비스 방법
US8527661B1 (en) * 2005-03-09 2013-09-03 Oracle America, Inc. Gateway for connecting clients and servers utilizing remote direct memory access controls to separate data path from control path
US20060225115A1 (en) * 2005-04-01 2006-10-05 Microsoft Corporation Systems and methods for network communication
WO2006110005A1 (en) * 2005-04-15 2006-10-19 Ktfreetel Co., Ltd. Method for providing contents for mobile comunication terminal
JP2008515046A (ja) * 2005-04-15 2008-05-08 ケーティーフリーテル・カンパニー・リミテッド コンテンツの提供方法
KR100680296B1 (ko) * 2005-04-15 2007-02-07 주식회사 케이티프리텔 무선 네트워크를 통한 대용량 컨텐츠 이어받기 서비스 제공방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체
US7474639B2 (en) * 2005-04-20 2009-01-06 Bank Of America Corporation Dynamic update of push applications for wireless data device
GB2427048A (en) 2005-06-09 2006-12-13 Avecho Group Ltd Detection of unwanted code or data in electronic mail
US20060282884A1 (en) * 2005-06-09 2006-12-14 Ori Pomerantz Method and apparatus for using a proxy to manage confidential information
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US8688671B2 (en) 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US8229914B2 (en) 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US8515400B2 (en) 2005-09-14 2013-08-20 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US8832100B2 (en) 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US20110313853A1 (en) 2005-09-14 2011-12-22 Jorey Ramer System for targeting advertising content to a plurality of mobile communication facilities
US10592930B2 (en) 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US7769764B2 (en) 2005-09-14 2010-08-03 Jumptap, Inc. Mobile advertisement syndication
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US7577665B2 (en) 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US8819659B2 (en) 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US8364540B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Contextual targeting of content using a monetization platform
US7702318B2 (en) 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
US8156128B2 (en) 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US8989718B2 (en) 2005-09-14 2015-03-24 Millennial Media, Inc. Idle screen advertising
US8805339B2 (en) 2005-09-14 2014-08-12 Millennial Media, Inc. Categorization of a mobile user profile based on browse and viewing behavior
US8364521B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Rendering targeted advertisement on mobile communication facilities
US8209344B2 (en) 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US8660891B2 (en) 2005-11-01 2014-02-25 Millennial Media Interactive mobile advertisement banners
US8615719B2 (en) 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US8103545B2 (en) 2005-09-14 2012-01-24 Jumptap, Inc. Managing payment for sponsored content presented to mobile communication facilities
US7912458B2 (en) 2005-09-14 2011-03-22 Jumptap, Inc. Interaction analysis and prioritization of mobile content
US7660581B2 (en) 2005-09-14 2010-02-09 Jumptap, Inc. Managing sponsored content based on usage history
US8666376B2 (en) 2005-09-14 2014-03-04 Millennial Media Location based mobile shopping affinity program
US9076175B2 (en) 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US8503995B2 (en) 2005-09-14 2013-08-06 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8131271B2 (en) 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US9471925B2 (en) 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US7860871B2 (en) 2005-09-14 2010-12-28 Jumptap, Inc. User history influenced search results
US9201979B2 (en) 2005-09-14 2015-12-01 Millennial Media, Inc. Syndication of a behavioral profile associated with an availability condition using a monetization platform
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US8311888B2 (en) 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US8027879B2 (en) 2005-11-05 2011-09-27 Jumptap, Inc. Exclusivity bidding for mobile sponsored content
US8290810B2 (en) 2005-09-14 2012-10-16 Jumptap, Inc. Realtime surveying within mobile sponsored content
US9058406B2 (en) 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US8812526B2 (en) 2005-09-14 2014-08-19 Millennial Media, Inc. Mobile content cross-inventory yield optimization
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US8204950B2 (en) 2005-09-15 2012-06-19 Qwest Communications International Inc. Webpage search
US7797545B2 (en) * 2005-09-29 2010-09-14 Research In Motion Limited System and method for registering entities for code signing services
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
US9998585B2 (en) * 2005-10-05 2018-06-12 SITO Mobile R&D IP, LLC Content selection and delivery of complementary information
US8170189B2 (en) * 2005-11-02 2012-05-01 Qwest Communications International Inc. Cross-platform message notification
US8175585B2 (en) 2005-11-05 2012-05-08 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
JP4654918B2 (ja) * 2006-01-12 2011-03-23 株式会社日立製作所 情報処理装置及び情報処理システム
WO2008010857A2 (en) * 2006-03-30 2008-01-24 Seamless Skyy-Fi, Inc. System and method for secure network browsing
US20070239832A1 (en) * 2006-04-05 2007-10-11 Qwest Communications International Inc. Communication presentation in a calendar perspective
US8078476B2 (en) 2006-04-05 2011-12-13 Qwest Communications International Inc. Cross-platform calendar notifications
US20070239895A1 (en) * 2006-04-05 2007-10-11 Qwest Communications International Inc. Cross-platform push of various media types
US9323821B2 (en) 2006-04-05 2016-04-26 Qwest Communications International Inc. Network repository auto sync wireless handset
US8320535B2 (en) 2006-04-06 2012-11-27 Qwest Communications International Inc. Selectable greeting messages
US8214469B2 (en) 2006-04-06 2012-07-03 Qwest Communications International Inc. Multiple use of common perspectives
US8819751B2 (en) 2006-05-16 2014-08-26 Qwest Communications International Inc. Socially networked television experience
US7751339B2 (en) 2006-05-19 2010-07-06 Cisco Technology, Inc. Method and apparatus for simply configuring a subscriber appliance for performing a service controlled by a separate service provider
US20070283048A1 (en) * 2006-06-01 2007-12-06 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Universal Information Transcoding
US8266182B2 (en) * 2006-06-30 2012-09-11 Harmonic Inc. Transcoding for a distributed file system
US20080052381A1 (en) * 2006-08-22 2008-02-28 Koon Wah Yu Method and system for selecting a transcoder to convert between content types
US20080071725A1 (en) * 2006-09-01 2008-03-20 Yahoo! Inc. User-converted media marketplace
GB2444514A (en) 2006-12-04 2008-06-11 Glasswall Electronic file re-generation
US9729513B2 (en) 2007-11-08 2017-08-08 Glasswall (Ip) Limited Using multiple layers of policy management to manage risk
US8892761B1 (en) 2008-04-04 2014-11-18 Quickplay Media Inc. Progressive download playback
US9571902B2 (en) 2006-12-13 2017-02-14 Quickplay Media Inc. Time synchronizing of distinct video and data feeds that are delivered in a single mobile IP data network compatible stream
US9124650B2 (en) * 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
EP2177010B1 (de) * 2006-12-13 2015-10-28 Quickplay Media Inc. Mobile medienplattform
FR2911023B1 (fr) * 2006-12-29 2009-04-17 Radiotelephone Sfr Procede de securisation d'un flux de donnees.
US7873655B2 (en) * 2007-01-17 2011-01-18 Microsoft Corporation Automated mobile communications
WO2008098249A1 (en) * 2007-02-09 2008-08-14 Dilithium Networks Pty Ltd. Method and apparatus for the adaptation of multimedia content in telecommunications networks
CA2578980A1 (en) 2007-02-19 2008-08-19 Cognos Incorporated System and method of report rendering
CA2578979A1 (en) * 2007-02-19 2008-08-19 Cognos Incorporated System and method of report representation
US8190875B2 (en) * 2007-03-22 2012-05-29 Cisco Technology, Inc. Reducing processing load in proxies for secure communications
US8224919B2 (en) * 2007-04-04 2012-07-17 Research In Motion Limited Mobile communications system including intermediate service provider and related methods
FR2915648B1 (fr) * 2007-04-26 2009-11-13 Eads Sa Procede de securisation d'un flux de donnees
US20080267634A1 (en) * 2007-04-30 2008-10-30 Futurewei Technologies, Inc. 9b10b Code for Passive Optical Networks
US8996489B2 (en) * 2007-05-04 2015-03-31 Blackberry Limited Method and system for pushing content to mobile devices
CA2685892A1 (en) * 2007-05-08 2008-11-13 Research In Motion Limited Xml push and remote execution of a wireless applications
CN101599980B (zh) * 2007-07-25 2012-11-21 中国移动通信集团福建有限公司 客户经理掌上助理系统装置
US8400961B1 (en) * 2007-08-27 2013-03-19 Qurio Holdings, Inc. Wireless multimedia brokerage service for real time content provisioning
US8311058B2 (en) * 2008-05-10 2012-11-13 Vantrix Corporation Modular transcoding pipeline
US8261307B1 (en) 2007-10-25 2012-09-04 Qurio Holdings, Inc. Wireless multimedia content brokerage service for real time selective content provisioning
EP2081357B1 (de) * 2008-01-18 2012-12-19 Research In Motion Limited Verfahren und Vorrichtung zum Abmeldungsübergang in einer E-Commerce-Anwendung
US8418056B2 (en) * 2008-01-18 2013-04-09 Research In Motion Limited Method and apparatus for checkout transition in an e-commerce application
EP2195963B1 (de) * 2008-05-12 2016-02-10 BlackBerry Limited Sicherheitsmassnahmen zur abwehr einer unbefugten entschlüsselung
CN101599951A (zh) * 2008-06-06 2009-12-09 阿里巴巴集团控股有限公司 一种发布网站信息的方法、装置及系统
DE102008029102A1 (de) * 2008-06-20 2009-12-24 Micronas Gmbh Audio- und/oder Video-Datenverarbeitungsvorrichtung, Kommunikations- oder Datennetz zum Umkodieren von Audio- und/oder Video-Daten bzw. Verfahren zum Dekodieren von Audio- und/oder Video-Daten
CN101674321A (zh) * 2008-09-12 2010-03-17 华为技术有限公司 一种消息处理方法、装置和系统
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US8087067B2 (en) 2008-10-21 2011-12-27 Lookout, Inc. Secure mobile platform system
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US20100138748A1 (en) * 2008-12-03 2010-06-03 Qualcomm Incorporated Wireless Network Access to Remote Computer
EP2364542A1 (de) * 2008-12-04 2011-09-14 Telefonaktiebolaget LM Ericsson (publ) Verfahren zum senden einer mediendatei zu einem mobilgerät und entität dafür
US8769140B2 (en) * 2010-06-04 2014-07-01 Broadcom Corporation Method and system for optimizing power consumption in a home network via a broadband gateway
US9955352B2 (en) 2009-02-17 2018-04-24 Lookout, Inc. Methods and systems for addressing mobile communications devices that are lost or stolen but not yet reported as such
US8813127B2 (en) 2009-05-19 2014-08-19 Microsoft Corporation Media content retrieval system and personal virtual channel
US9131007B2 (en) * 2009-05-19 2015-09-08 Vitrual World Computing, Inc. System and method for dynamically transcoding data requests
US8380878B2 (en) 2009-08-13 2013-02-19 Cox Communications, Inc. Side loading
EP2507963B1 (de) * 2009-12-02 2017-01-25 BlackBerry Limited Zuverlässige ausgabe von inhalten an eine client-vorrichtung mit ladestatusbewusstsein
US20110296048A1 (en) * 2009-12-28 2011-12-01 Akamai Technologies, Inc. Method and system for stream handling using an intermediate format
US8433775B2 (en) 2010-03-31 2013-04-30 Bank Of America Corporation Integration of different mobile device types with a business infrastructure
US8930498B2 (en) * 2010-03-31 2015-01-06 Bank Of America Corporation Mobile content management
US8554872B2 (en) 2010-03-31 2013-10-08 Bank Of America Corporation Integration of different mobile device types with a business infrastructure
US8473743B2 (en) 2010-04-07 2013-06-25 Apple Inc. Mobile device management
KR101906504B1 (ko) * 2010-04-26 2018-12-07 삼성전자주식회사 복수의 디바이스에 콘텐트를 전송하는 방법 및 장치
US20110320559A1 (en) * 2010-06-23 2011-12-29 Telefonaktiebolaget L M Ericsson (Publ) Remote access with media translation
CN102959531B (zh) * 2010-06-29 2016-01-06 中兴通讯(美国)公司 用于云基媒体自适应和代码转换服务的方法和系统
CN102346685B (zh) * 2010-07-29 2016-09-28 甲骨文国际公司 集成适配器管理系统和方法
CN101917482B (zh) * 2010-08-23 2016-08-24 宇龙计算机通信科技(深圳)有限公司 一种信息推送方法及信息推送服务器
KR101445116B1 (ko) * 2010-09-28 2014-10-16 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 통신 장치를 위한 데이터 필터링
US8949726B2 (en) 2010-12-10 2015-02-03 Wyse Technology L.L.C. Methods and systems for conducting a remote desktop session via HTML that supports a 2D canvas and dynamic drawing
US9535560B1 (en) 2010-12-10 2017-01-03 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session for a web browser and a remote desktop server
US9430036B1 (en) 2010-12-10 2016-08-30 Wyse Technology L.L.C. Methods and systems for facilitating accessing and controlling a remote desktop of a remote machine in real time by a windows web browser utilizing HTTP
US9395885B1 (en) 2010-12-10 2016-07-19 Wyse Technology L.L.C. Methods and systems for a remote desktop session utilizing HTTP header
US9244912B1 (en) 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop redrawing session utilizing HTML
US8966376B2 (en) 2010-12-10 2015-02-24 Wyse Technology L.L.C. Methods and systems for remote desktop session redrawing via HTTP headers
US8589800B2 (en) 2010-12-10 2013-11-19 Wyse Technology Inc. Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server
US9245047B2 (en) 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US8504654B1 (en) 2010-12-10 2013-08-06 Wyse Technology Inc. Methods and systems for facilitating a remote desktop session utilizing long polling
US9418353B2 (en) 2010-12-20 2016-08-16 Akamai Technologies, Inc. Methods and systems for delivering content to differentiated client devices
US20120191876A1 (en) * 2011-01-20 2012-07-26 Openwave Systems Inc. Method and system for policy based transcoding brokering
KR101914488B1 (ko) * 2011-04-06 2018-11-05 삼성전자주식회사 푸시 알림 서비스를 위한 서버 클러스터 및 방법
CN102780729B (zh) * 2011-05-13 2015-09-16 宏碁股份有限公司 提供远端接取的方法及其通信装置
JP5378456B2 (ja) * 2011-06-13 2013-12-25 株式会社エヌ・ティ・ティ・ドコモ 通信端末及びコンテンツ更新方法
US9350819B2 (en) * 2011-07-21 2016-05-24 Microsoft Technology Licensing, Llc Centralized service for distributed service deployments
US8788881B2 (en) * 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications
US9716743B2 (en) * 2011-09-02 2017-07-25 Microsoft Technology Licensing, Llc Accessing hardware devices using web server abstractions
US10462105B1 (en) * 2011-09-28 2019-10-29 EMC IP Holding Company LLC Method and apparatus for encryption with viewer identity—and content address-based identity protection
US8627107B1 (en) 2011-09-29 2014-01-07 Todd Michael Kennedy System and method of securing private health information
US9015021B2 (en) * 2011-10-25 2015-04-21 Cellco Partnership Multiple client simulator for push engine
KR101916739B1 (ko) * 2011-10-26 2018-11-09 삼성전자 주식회사 개선된 데이터 처리를 지원하는 전자 기기 운용 시스템 및 방법과 이를 지원하는 장치와 단말기
US8954555B2 (en) * 2011-10-27 2015-02-10 International Business Machines Corporation Using push notifications to reduce open browser connections
KR101971621B1 (ko) * 2011-11-11 2019-04-24 삼성전자주식회사 서버와 디바이스를 중개하는 방법 및 장치, 컴퓨터로 읽을 수 있는 기록 매체
US9742858B2 (en) 2011-12-23 2017-08-22 Akamai Technologies Inc. Assessment of content delivery services using performance measurements from within an end user client application
US9419852B1 (en) 2011-12-30 2016-08-16 Akamai Technologies, Inc. Systems and methods for identifying and characterizing client devices
US9397932B2 (en) * 2012-01-17 2016-07-19 Reno Acquisitions, Llc Systems and methods for routing network information
US9817916B2 (en) 2012-02-22 2017-11-14 Akamai Technologies Inc. Methods and apparatus for accelerating content authored for multiple devices
US9189484B1 (en) * 2012-02-23 2015-11-17 Amazon Technologies, Inc. Automatic transcoding of a file uploaded to a remote storage system
US8752112B2 (en) * 2012-04-12 2014-06-10 Google Inc. Live streaming video processing
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9167493B2 (en) * 2012-06-15 2015-10-20 At&T Intellectual Property I, L.P. Method and apparatus for providing a cloud-based mobility in a wireless network
US9077688B2 (en) * 2012-06-17 2015-07-07 Skycure Ltd Access control system for a mobile device
CN102724324B (zh) * 2012-06-28 2016-09-28 用友网络科技股份有限公司 消息推送整合装置和消息推送整合方法
US9436493B1 (en) * 2012-06-28 2016-09-06 Amazon Technologies, Inc. Distributed computing environment software configuration
US8930416B2 (en) * 2012-08-13 2015-01-06 Hulu, LLC Job dispatcher of transcoding jobs for media programs
WO2014030199A1 (ja) * 2012-08-20 2014-02-27 富士通株式会社 シームレスアプリプッシュシステム及びその方法
US10181043B1 (en) * 2012-09-28 2019-01-15 EMC IP Holding Company LLC Method and apparatus for cookie validation and scoring
US8655307B1 (en) 2012-10-26 2014-02-18 Lookout, Inc. System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US9424409B2 (en) 2013-01-10 2016-08-23 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device
CN103971243A (zh) * 2013-01-25 2014-08-06 乐金信世股份有限公司 电子交易文档
JP2014170491A (ja) * 2013-03-05 2014-09-18 Fuji Xerox Co Ltd 中継装置、システム及びプログラム
US9009461B2 (en) * 2013-08-14 2015-04-14 Iboss, Inc. Selectively performing man in the middle decryption
CN104378399B (zh) * 2013-08-15 2019-08-23 腾讯科技(深圳)有限公司 一种数据推送方法、平台服务器、客户端以及系统
GB2518880A (en) 2013-10-04 2015-04-08 Glasswall Ip Ltd Anti-Malware mobile content data management apparatus and method
US9642008B2 (en) 2013-10-25 2017-05-02 Lookout, Inc. System and method for creating and assigning a policy for a mobile communications device based on personal data
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9380086B2 (en) 2014-02-18 2016-06-28 Dropbox, Inc. Pre-transcoding content items
US9584492B2 (en) * 2014-06-23 2017-02-28 Vmware, Inc. Cryptographic proxy service
CN105516061A (zh) * 2014-09-25 2016-04-20 中兴通讯股份有限公司 远程访问服务器的方法及web服务器
US9330264B1 (en) 2014-11-26 2016-05-03 Glasswall (Ip) Limited Statistical analytic method for the determination of the risk posed by file based content
US10771583B2 (en) 2014-12-29 2020-09-08 Akamai Technologies, Inc. Managing mobile device user subscription and service preferences to predictively pre-fetch content
US10063653B2 (en) 2014-12-29 2018-08-28 Akamai Technologies, Inc. Distributed server architecture for supporting a predictive content pre-fetching service for mobile device users
EP3289510B1 (de) 2015-05-01 2020-06-17 Lookout Inc. Bestimmung der quelle von quergeladener software
US10331321B2 (en) 2015-06-07 2019-06-25 Apple Inc. Multiple device configuration application
US10419214B2 (en) * 2015-12-28 2019-09-17 Dell Products L.P. Mobile device management delegate for managing isolated devices
CN105718534B (zh) * 2016-01-14 2017-05-03 广州市动景计算机科技有限公司 信息推送装置、信息推送方法以及客户端
US9680801B1 (en) 2016-05-03 2017-06-13 Iboss, Inc. Selectively altering references within encrypted pages using man in the middle
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
CN112602297B (zh) * 2018-06-25 2023-05-26 上海诺基亚贝尔股份有限公司 用于无线移动通信系统中的互联网内容推送服务的方法和装置
CN111800606B (zh) * 2020-06-19 2022-03-25 烽火通信科技股份有限公司 一种云视频处理方法和系统
CN112925527B (zh) * 2021-02-07 2022-03-08 北京三快在线科技有限公司 一种调用方法、装置、存储介质及电子设备

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145898B1 (en) * 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US6754181B1 (en) * 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6216157B1 (en) * 1997-11-14 2001-04-10 Yahoo! Inc. Method and apparatus for a client-server system with heterogeneous clients
US6647431B1 (en) * 1997-12-31 2003-11-11 Nortel Networks Limited Method and apparatus for handling I/O messages
US6925595B1 (en) * 1998-08-05 2005-08-02 Spyglass, Inc. Method and system for content conversion of hypertext data using data mining
US6563517B1 (en) * 1998-10-02 2003-05-13 International Business Machines Corp. Automatic data quality adjustment to reduce response time in browsing
US6970602B1 (en) * 1998-10-06 2005-11-29 International Business Machines Corporation Method and apparatus for transcoding multimedia using content analysis
US6567411B2 (en) * 1998-12-31 2003-05-20 Qwest Communications International, Inc. Method and apparatus for continuous narrowcast of individualized information over a data network
US6785730B1 (en) * 1999-02-16 2004-08-31 Rebecca S. Taylor Generic communications protocol translator
US6484212B1 (en) * 1999-04-20 2002-11-19 At&T Corp. Proxy apparatus and method for streaming media information
US6345279B1 (en) * 1999-04-23 2002-02-05 International Business Machines Corporation Methods and apparatus for adapting multimedia content for client devices
US6584567B1 (en) * 1999-06-30 2003-06-24 International Business Machines Corporation Dynamic connection to multiple origin servers in a transcoding proxy
US6615212B1 (en) * 1999-08-19 2003-09-02 International Business Machines Corporation Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
US6993476B1 (en) * 1999-08-26 2006-01-31 International Business Machines Corporation System and method for incorporating semantic characteristics into the format-driven syntactic document transcoding framework
US6981045B1 (en) * 1999-10-01 2005-12-27 Vidiator Enterprises Inc. System for redirecting requests for data to servers having sufficient processing power to transcast streams of data in a desired format
US7020685B1 (en) * 1999-10-08 2006-03-28 Openwave Systems Inc. Method and apparatus for providing internet content to SMS-based wireless devices
US7685252B1 (en) * 1999-10-12 2010-03-23 International Business Machines Corporation Methods and systems for multi-modal browsing and implementation of a conversational markup language
US6715129B1 (en) * 1999-10-13 2004-03-30 International Business Machines Corporation Achieving application-specific document content by transcoding using Java Server Pages
US6742043B1 (en) * 2000-01-14 2004-05-25 Webtv Networks, Inc. Reformatting with modular proxy server
JP2003521067A (ja) * 2000-01-28 2003-07-08 ウィリアムズ コミュニケーションズ, エルエルシー 起点サーバとクライアントとの間のメディアリソースリクエストおよび/または応答を書き換えるシステムおよび方法
US7159235B2 (en) * 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for content distribution via non-homogeneous access networks
US7047033B2 (en) * 2000-02-01 2006-05-16 Infogin Ltd Methods and apparatus for analyzing, processing and formatting network information such as web-pages
US7149772B1 (en) * 2000-02-04 2006-12-12 Lucent Technologies Inc. Media gateway appliance
US6941382B1 (en) * 2000-02-07 2005-09-06 Raja Tuli Portable high speed internet or desktop device
DE60020518T2 (de) * 2000-03-01 2006-06-29 Sony International (Europe) Gmbh Verwaltung von Benutzerprofilen
US6781972B1 (en) * 2000-03-31 2004-08-24 Lucent Technologies Inc. Method and system for subscriber-configurable communications service
US7111076B2 (en) * 2000-04-13 2006-09-19 Intel Corporation System using transform template and XML document type definition for transforming message and its reply
US7702995B2 (en) * 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US7072984B1 (en) * 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US7500188B1 (en) * 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
WO2001082031A2 (en) * 2000-04-26 2001-11-01 Portable Internet Inc. Portable internet services
US20020174147A1 (en) * 2000-05-19 2002-11-21 Zhi Wang System and method for transcoding information for an audio or limited display user interface
US6556217B1 (en) * 2000-06-01 2003-04-29 Nokia Corporation System and method for content adaptation and pagination based on terminal capabilities
US7134073B1 (en) * 2000-06-15 2006-11-07 International Business Machines Corporation Apparatus and method for enabling composite style sheet application to multi-part electronic documents
US6769127B1 (en) * 2000-06-16 2004-07-27 Minerva Networks, Inc. Method and system for delivering media services and application over networks
US7003584B1 (en) * 2000-07-06 2006-02-21 International Business Machines Corporation Apparatus and method for accessing request header information using a transcoding filter servlet
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6823373B1 (en) * 2000-08-11 2004-11-23 Informatica Corporation System and method for coupling remote data stores and mobile devices via an internet based server
TW512640B (en) * 2000-08-25 2002-12-01 Phone Inc W Mobile opinion polling system and method
US6842777B1 (en) * 2000-10-03 2005-01-11 Raja Singh Tuli Methods and apparatuses for simultaneous access by multiple remote devices
US6965947B1 (en) * 2000-10-06 2005-11-15 International Business Machines Corporation Method and apparatus for automated transcoder selection
US7249196B1 (en) * 2000-10-06 2007-07-24 Juniper Networks, Inc. Web page source file transfer system and method
US6501956B1 (en) * 2000-10-17 2002-12-31 Intervoice Limited Partnership Providing blended interface for wireless information services
US7225238B1 (en) * 2000-10-25 2007-05-29 Cisco Technology, Inc. Method and system for providing services for wireless data calls
US7801958B1 (en) * 2000-10-30 2010-09-21 Nokia Corporation Content converter portal
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7197531B2 (en) * 2000-12-29 2007-03-27 Fotomedia Technologies, Llc Meta-application architecture for integrating photo-service websites for browser-enabled devices
US6871236B2 (en) * 2001-01-26 2005-03-22 Microsoft Corporation Caching transformed content in a mobile gateway
US20020103933A1 (en) * 2001-01-29 2002-08-01 Ross Garon Internet-access enabled device personalization
US6848103B2 (en) * 2001-02-16 2005-01-25 Telefonaktiebolaget Lm Ericsson Method and apparatus for processing data in a multi-processor environment
US20020116533A1 (en) * 2001-02-20 2002-08-22 Holliman Matthew J. System for providing a multimedia peer-to-peer computing platform
US7120702B2 (en) * 2001-03-03 2006-10-10 International Business Machines Corporation System and method for transcoding web content for display by alternative client devices
US7277927B2 (en) * 2001-04-13 2007-10-02 Earthlink, Inc. Systems and methods for saving internet content into a handheld internet appliance
US6981062B2 (en) * 2001-04-20 2005-12-27 Sbc Technology Resources, Inc. World wide web content synchronization between wireless devices
US7213072B2 (en) * 2001-05-08 2007-05-01 Nokia Mobile Phones Method and apparatus for transcoding content with permissible operations authorized by content creator
US7155530B2 (en) * 2001-06-14 2006-12-26 International Business Machines Corporation Macro facilities for direction of streaming digital content
US20020198964A1 (en) * 2001-06-26 2002-12-26 International Business Machines Corporation Method and system for wireless remote monitoring and control of a manufacturing execution system
US7458017B2 (en) * 2001-06-26 2008-11-25 Microsoft Corporation Function-based object model for use in website adaptation

Also Published As

Publication number Publication date
DE60236221D1 (de) 2010-06-10
CA2454207A1 (en) 2003-01-23
ATE466346T1 (de) 2010-05-15
CN1324898C (zh) 2007-07-04
EP1410645B1 (de) 2007-10-10
ATE358298T1 (de) 2007-04-15
CA2454219C (en) 2010-11-30
CN101060538B (zh) 2012-08-08
CA2454222C (en) 2012-07-17
CA2640571A1 (en) 2003-01-23
DE60219169D1 (de) 2007-05-10
EP1405224A1 (de) 2004-04-07
DE60222904D1 (de) 2007-11-22
EP1410264A1 (de) 2004-04-21
WO2003007183A1 (en) 2003-01-23
EP1410645A1 (de) 2004-04-21
CA2454219A1 (en) 2003-01-23
CA2454222A1 (en) 2003-01-23
CN1554195A (zh) 2004-12-08
HK1062249A1 (en) 2004-10-21
US20040199665A1 (en) 2004-10-07
EP1773027A3 (de) 2007-06-20
BR0211097A (pt) 2004-10-13
EP1773027B1 (de) 2010-04-28
CN100346338C (zh) 2007-10-31
CN1554059A (zh) 2004-12-08
US20040166834A1 (en) 2004-08-26
CN1554060A (zh) 2004-12-08
HK1062206A1 (en) 2004-10-21
BR0211094A (pt) 2004-10-19
EP1773027A2 (de) 2007-04-11
EP1405224B1 (de) 2007-03-28
CN100347700C (zh) 2007-11-07
ATE375686T1 (de) 2007-10-15
WO2003007184A1 (en) 2003-01-23
CA2454207C (en) 2012-07-17
US8554950B2 (en) 2013-10-08
US7590759B2 (en) 2009-09-15
CN101060538A (zh) 2007-10-24
BR0211878A (pt) 2004-09-21
WO2003007617A1 (en) 2003-01-23
US20090296657A1 (en) 2009-12-03
DE60219169T2 (de) 2008-01-24

Similar Documents

Publication Publication Date Title
DE60222904T2 (de) System und verfahren zum datenzugriff für ein mobiles telekommunikationsendgerät
US7526572B2 (en) System and method for providing remote data access for a mobile communication device
US7644267B2 (en) Controlling access to services in a communications system
US6912591B2 (en) System and method for patch enabled data transmissions
DE60204528T2 (de) Auflösen von virtuellen Netzwerknamen
DE60318825T2 (de) Vorrichtung und verfahren zur unterstützung von mehreren zertifizierungstatusanbietern auf einem mobilen kommunikationsgerät
US5903723A (en) Method and apparatus for transmitting electronic mail attachments with attachment references
DE69930420T2 (de) System und Verfahren zum Verschieben von Information von einem Hostsystem an eine mobile Datenkommunikationsvorrichtung
US20020004816A1 (en) System and method for on-network storage services
DE10296636B4 (de) Erstellen verteilter Proxy-Konfigurationen
JP2003533826A (ja) パーソナル・サービス環境マネージャ(psem)
Ardon et al. MARCH: A distributed content adaptation architecture
EP3937521A1 (de) Verfahren für eine verbesserte austausch- und/oder zusammenarbeitsfunktionalität zwischen einem ersten mobilkommunikationsnetzwerk und einem zweiten mobilkommunikationsnetzwerk, system, netzwerkaustauschfunktion, programm und computerprogrammprodukt
CA2543879C (en) System and method for generic data mapping between wireless component applications and application data sources
Yoneki Mobile applications with a middleware system in publish-subscribe paradigm
EP1182576A1 (de) Datenzugriffssystem und -Methode mit Proxy und Fernverarbeitung
KR20030089364A (ko) 이동통신망에서의 무선 인터넷 서비스 통합 방법 및액세스 게이트웨이 시스템
EP1853038A2 (de) System und Verfahren zur Bereitstellung des Ferndatenzugriffs auf ein mobiles Kommunikationsnetzwerk
EP1730926B1 (de) Regelung des zugriffs auf dienste in einem kommunikationssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP, 80336 MUENCHEN