DE60219169T2 - System und Verfahren zum schieben von Daten von einer Informationsquelle zu einem mobilen Endgerät beinhalten die Transcodierung der Daten - Google Patents

System und Verfahren zum schieben von Daten von einer Informationsquelle zu einem mobilen Endgerät beinhalten die Transcodierung der Daten Download PDF

Info

Publication number
DE60219169T2
DE60219169T2 DE60219169T DE60219169T DE60219169T2 DE 60219169 T2 DE60219169 T2 DE 60219169T2 DE 60219169 T DE60219169 T DE 60219169T DE 60219169 T DE60219169 T DE 60219169T DE 60219169 T2 DE60219169 T2 DE 60219169T2
Authority
DE
Germany
Prior art keywords
content
transcoders
transcoder
information
transcoding
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
DE60219169T
Other languages
English (en)
Other versions
DE60219169D1 (de
Inventor
Salim H. Waterloo OMAR
Russell N. Waterloo 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
Application granted granted Critical
Publication of DE60219169D1 publication Critical patent/DE60219169D1/de
Publication of DE60219169T2 publication Critical patent/DE60219169T2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Electrically Operated Instructional Devices (AREA)

Description

  • Gebiet der Erfindung
  • Diese Erfindung betrifft im Allgemeinen eine mobile Kommunikation und insbesondere ein Verschieben (pushing) von Information an mobile Kommunikationsvorrichtungen.
  • Beschreibung des Standes der Technik
  • Bekannte Lösungen zum Liefern von Information an mobile Kommunikationsvorrichtungen neigen dazu, relativ begrenzt zu sein. Zum Beispiel sehen drahtlose Anwendungsprotokoll(WAP – wireless application protocol)-Browser für mobile Vorrichtungen typischerweise einen Zugang nur für Information vor, die zu WAP-kompatiblen Quellen gehören und wenn eine derartige Information von einem Benutzer angefordert wird. Obwohl andere bekannte und ähnliche Produkte einem Benutzer einer mobilen Vorrichtung ermöglichen können, auf weitere Informationsquellen zuzugreifen, machen derartige Produkte im Allgemeinen keinen effizienten Gebrauch von den mobilen Kommunikations-Netzwerkressourcen, insbesondere von drahtlosen Kommunikationsverbindungen, da ein Typ von Informationsanforderung im allgemeinen gemacht werden muss vor jeder Übertragung von Information.
  • Außerdem sind die meisten bekannten Datensysteme und Verfahren nicht geeignet, um einen wirklich sicheren Zugang zu vertraulicher Information vorzusehen, die auf privaten Netzwerken gespeichert ist, wie eine Firmeninformation, die sich in einem Datenspeicher befindet, der sich hinter einer Sicherheits-Firewall befindet.
  • Folglich bleibt eine Notwendigkeit für ein System und ein Verfahren zum Verschieben (pushing) von Information von einer Informationsquelle an eine mobile Kommunikationsvorrichtung.
  • EP 0 992 922 A2 offenbart eine automatische Bilddatenqualitätsanpassung, um eine Antwortzeit eines Webservers zu reduzieren. Transcoding-Parameter von Bildern empfangener Webdokumente werden dynamisch angepasst in einem Transcoding-Proxy. Der angepasste Transcodierer wählt unterschiedliche Parameter für jedes Objekt und liefert Leistungsverbesserungen. Das vorgeschlagene System komprimiert nur Bilder von HTTP-Server-Antworten auf entsprechende Anforderungen von einem Client.
  • US 6 216 157 B1 offenbart ein Verfahren und eine Vorrichtung zum Liefern eines Informationsinhalts von einer Verschiebe(push)-Anwendung an einen Client über ein Übertragungsmedium. Ein Vorrichtungs-spezifischer Transducer und ein angepasster Übertragungs-Transducer werden zu der Verschiebe- bzw. Push-Anwendung hinzugefügt zur Komprimierung von Information, wie Bild, Audio oder Video.
  • Mogul J. D. „Server-directed Transcoder", Computer Communications 24 (2001), Seiten 155 bis 162, schlägt einen Transcodier-Proxy vor zum Transcodieren von Bilddaten, die erlangt werden mit Antworten auf HTTP-Anforderungen. Server-gesteuerte Transcodier-Applets verwenden eine explizite Anleitung von dem Webserver, um dem Transcodier-Proxy zu ermöglichen, die beste mögliche Wahl zu treffen zum Transcodieren der abgerufenen Webseiten.
  • ZUSAMMENFASSUNG
  • Die vorliegende Anmeldung beschreibt ein System und ein Verfahren zum Verschieben bzw. Pushen von Information von einer Quelle an mobile Kommunikationsvorrichtungen gemäß den unabhängigen Ansprüchen.
  • Die Systeme und die Verfahren, die hier beschrieben werden, sehen ein Verschieben jeder einer Vielzahl von Typen und Formaten von Information an mobile Kommunikationsvorrichtungen vor. Bestimmte Informationsübersetzungsverfahren können durch eine mobile Kommunikationsvorrichtung gewählt werden, eine Informationsquelle oder ein dazwischenliegendes Datenserversystem, und auf einer Informationsquellenseite eines mobilen Kommunikationssystems durchgeführt werden. Dies verringert nicht nur die Komplexität von Verarbeitungsoperationen der Vorrichtung und von Vorrichtungs-Hardware- und Software-Komponenten, die zu derartigen Operationen gehören, sondern sieht auch kundenspezifisch angepasste Vorrichtungsinformationsformate vor.
  • Das System zum Verschieben eines Informationsinhalts von einer Informationsquelle an eine mobile Kommunikationsvorrichtung über ein Netzwerk umfasst ein Transcodier-System und eine erste Netzwerkvorrichtung. Das Transcodier-System umfasst eine Vielzahl von Transcodierern, wobei jeder Transcodierer betriebsfähig ist, den Informationsinhalt von einem jeweiligen Eingangsinhaltstyp in einen jeweiligen Ausgabeinhaltstyp zu transcodieren. Die erste Netzwerkvorrichtung befindet sich in Kommunikation mit dem Transcodier-System und umfasst ein Verschiebemodul. Das Verschiebemodul ist betriebsfähig, eine Verbindungsanforderung von der Informationsquelle zu empfangen. Die Verbindungsanforderung umfasst einen Identifizierer, der zu der mobilen Kommunikationsvorrichtung gehört. Das Verschiebemodul ist weiter betriebsfähig, einen entsprechenden Verbindungs-Handhaber (handler) zu wählen, der betriebsfähig ist, einen oder mehre re Transcodierer aus der Vielzahl von Transcodierern zu wählen, um den Informationsinhalt basierend auf dem Identifizierer zu transcodieren, der zu der mobilen Kommunikationsvorrichtung gehört.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein allgemeines Blockdiagramm eines Kommunikationssystems, das ein Verschieben von Daten von einer Informationsquelle an eine mobile Kommunikationsvorrichtung vorsieht.
  • 2 ist ein detaillierteres Blockdiagramm des Systems, das in der 1 gezeigt wird.
  • 3 ist ein Flussdiagramm, das allgemeine Verbindungs-Handhabungs-bezogene Operationen in einem IP-System darstellt.
  • 4 ist ein Flussdiagramm von Verbindungs-Handhabungs-Daten-Verarbeitungs-Operationen.
  • 5 ist ein Signal-Flussdiagramm einer beispielhaften Informations-Verschiebe-Operation.
  • 6 ist ein Signal-Flussdiagramm, das mehrere oder „verkettete" Transcodier-Operationen für eine HTTP-basierten Verschiebe-Operation zeigt.
  • 7 ist ein Signal-Flussdiagramm eines Beispiels einer Verschiebe-Server-gesteuerten Transcodierer-Auswahl für eine HTTP-basierte Verschiebe-Operation.
  • 8 ist ein allgemeines Blockdiagramm eines Kommunikationssystems mit einem externen Transcodierer-System.
  • 9 ist ein Signal-Flussdiagramm, das eine HTTP-basierte Verschiebe-Operation mit einem externen Transcodierer-System darstellt, wie in der 8 gezeigt.
  • 10 zeigt ein weiteres Signal-Flussdiagramm für ein externes Transcodierer-System.
  • 11 ist ein Blockdiagramm, das ein IP-Proxy-System zeigt, das in einem sicheren Netzwerk implementiert ist.
  • 12 ist ein Signal-Flussdiagramm, das eine Firmen-Daten-Verschiebe-Operation darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Allgemeine Systembeschreibung
  • 1 ist ein allgemeines Blockdiagramm eines Kommunikationssystems, das ein Verschieben von Information von einer entfernten Informationsquelle 20 an eine drahtlose mobile Kommunikationsvorrichtung 12 vorsieht.
  • Die folgende Beschreibung des Kommunikationssystems erleichtert das Verständnis der vorliegenden Erfindung.
  • In der 1 umfasst das System 10 die mobile Vorrichtung 12, ein drahtloses Netzwerk 14, ein drahtloses Netzwerk-Gateway 15, ein Weitbereichsnetzwerk (WAN – wide area network) 16, ein Internet-Protokoll(IP)-Proxy-System 18 und eine Informationsquelle 20. Obwohl ein IP-Proxy-System 18 in dem illustrativen Beispielsystem der 1 gezeigt wird, können auch Proxy-Systeme für von IP unterschiedliche Protokolle implementiert werden. Protokolle auf anderen Ebenen in dem OSI(Open Systems Interconnection)-Modell können ebenfalls eine Proxy-Verarbeitung erhalten (proxied) unter Verwendung dieses Systems. Derartige andere Protokolle umfassen HTTP und TCP, sind aber nicht darauf beschränkt.
  • Die mobile Vorrichtung 12 kann jede mobile Kommunikationsvorrichtung sein, die angepasst ist, um in einem drahtlosen Kommunikationsnetzwerk 14 zu funktionieren und ist vorzugsweise eine Zweiweg-Kommunikationsvorrichtung. Die mobile Vorrichtung 12 kann auch Sprach- und Datenkommunikationsfähigkeiten haben. Abhängig von der Funktionalität, die von der mobilen Vorrichtung 12 vorgesehen wird, kann die mobile Vorrichtung 12 als eine Daten-Messaging-Vorrichtung, ein Zweiwegpager, ein zellulares Telefon mit Daten-Messaging-Fähigkeiten, eine drahtloses Internet-Vorrichtung oder eine Datenkommunikationsvorrichtung (mit oder ohne Telefoniefähigkeiten) bezeichnet werden, aber wird hier hauptsächlich als eine „mobile Vorrichtung" bezeichnet. Wie für Fachleute in dem Kommunikationsbereich offensichtlich ist, ist die bestimmte Gestaltung eines Kommunikationsteilsystems in der mobilen Vorrichtung 12 von dem Kommunikationsnetzwerk 14 abhängig, in dem die mobile Vorrichtung 12 funktionieren soll. Zum Beispiel kann eine mobile Vorrichtung 12, die für einen nordamerikanischen Markt bestimmt ist, ein Kommunikations-Teilsystem umfassen, das ausgebildet ist, um in dem mobilen Mobitex-Kommunikationssystem oder in dem mobilen DataTACTM-Kommunikationssystem zu funktionieren, während eine mobile Vorrichtung 12, die zur Verwendung in Europa bestimmt ist, ein GPRS(General Packet Radio Dienst)-Kommunikations-Teilsystem enthalten kann. Für Fachleute ist auch offensichtlich, dass andere Typen von mobilen Vorrichtungen und Netzwerken ebenfalls in Betracht gezogen werden. Die erfinderischen Systeme und Verfahren, die hier beschrieben werden, können in Verbindung mit praktisch jedem drahtlosen Netzwerk 14 implementiert werden.
  • Das in der 1 gezeigte Gateway 15 liefert eine Schnittstelle zwischen dem drahtlosen Netzwerk 14 und einem WAN 16, das zum Beispiel das Internet sein kann. Derartige Funktionen, wie Adressierung der mobilen Vorrichtung, Umwandlung von Daten zwischen WAN-Protokollen und drahtlosen Netzwerkprotokollen, Speichern und Weiterleiten von Daten an die und von der mobilen Vorrichtung 12 und andere Schnittstellen-Funktionen können durch das Gateway 15 durchgeführt werden.
  • Es ist auch möglich, dass ein IP-Proxy-System 18 von einem Netzwerk-Träger/-Betreiber gehostet werden kann, der zu dem drahtlosen Netzwerk 14 gehört. In diesem Fall verwendet die Verbindung zwischen dem IP-Proxy-System 18 und dem Gateway 15 ein privates Netzwerk des Trägers anstelle des WANs 16. Das WAN 16 kann dann benutzt werden, um zwischen dem IP-Proxy-System 18 und der Informationsquelle 20 zu kommunizieren.
  • Das IP-Proxy-System 18 ist ein System, das tatsächlich die Informationsquelle 20 mit einem Zugang zu der mobilen Vorrichtung 12 versieht, und wird detaillierter im Folgenden beschrieben. Durch das IP-Proxy-System 18 kann jede Informationsquelle 20, wie das Internet oder ein Webserver, die mit dem IP-Proxy-System 18 kommunizieren kann, eine Information an eine mobile Vorrichtung 12 ver schieben (pushen). Die Informationsquelle 20 erfordert folglich keine speziellen Anwendungen oder Protokollunterstützung für eine drahtlose Netzwerk-Kommunikation, da sie mit dem IP-Proxy-System 18 kommuniziert und nicht direkt mit der mobilen Vorrichtung 12. Obwohl in der 1 als direkte Verbindung gezeigt, können das IP-Proxy-System 18 und Informationsquelle 20 möglicherweise durch ein Netzwerk kommunizieren, wie einem lokalen Netzwerk (LAN – local area network) oder einem WAN, einschließlich dem Internet.
  • Drahtlose Netzwerke und das Internet verwenden ähnliche Adressierungsschemen, in denen Empfänger, wie mobile Vorrichtungen in einem drahtlosen Netzwerk oder Internet-verbundene Computer, durch numerische Adressen identifiziert werden. Zum Beispiel werden mobile Vorrichtungen in dem Mobitex-Netzwerk unter Verwendung einer Mobitex-Zugangsnummer (MAN – Mobitex Access Number) identifiziert und öffentliche Internet-Knoten werden unter Verwendung eines IP-Adressschemas identifiziert. Jedoch verhindern Unterschiede zwischen drahtlosen Netzwerk- und Internet-Transportmechanismen eine direkte Kommunikation zwischen Informationsquellen 20, von denen die meisten Internet-basiert sind, und mobilen Vorrichtungen, wie 12. Ferner zielt ein Informationsquelleninhalt größtenteils auf Desktop- oder andere Computersysteme mit relativ leistungsfähigen Prozessoren ab und kann erfordern, dass Prozessorintensive Operationen, wie ein Informations-Parsing, von einem Empfänger durchgeführt werden. Da mobile Vorrichtungen dazu neigen, weniger leistungsfähige Prozessoren zu haben, dauern diese Operationen auf derartigen mobilen Vorrichtungen länger als auf Computersystemen und können signifikante Mengen an Energie von normalerweise begrenzten Energiequellen verbrauchen. Das IP-Proxy-System 18 überbrückt den Abstand zwischen Internet-basierten und möglicherweise anderen Informationsquellen 20 und einem drahtlosen Netzwerk 14 mit zugehörigen mobilen Vorrichtungen 12. Diese Dienste können zum Beispiel ein Adress-Mapping, Inhaltstransformation und -verifizierung und Protokoll-Mapping und -Optimierung umfassen.
  • Detaillierte Beschreibung des IP-Proxy-Systems
  • 2 ist ein detaillierteres Blockdiagramm des IP-Proxy-Systems 18, das in der 1 gezeigt wird. Das IP-Proxy-System 18 kann einen Dispatcher 22, eine TCP(Transmission Control Protocol)-Handhabungsvorrichung (handler) 24, eine HTTP(Hyper Text Transport Protocol)-Handhabungsvorrichtung 26, ein Transcodier-System 28, einen oder mehrere Verschiebedienst(e) (push services), allgemein mit 30 bezeichnet, ein Zustandsbeständigkeitselement (state persistence element) 34, ein Überwachungssystem 36 und ein Protokollierungs(logging)-System 38 umfassen. 2 zeigt auch einen Verschiebe(push)-Server 42, einen Web-Server 46, einen Web-Browser 48 und ein Dateisystem 40, mit dem das IP-Proxy-System 18 gelegentlich interagieren kann. Viele der Komponenten, die in der 2 gezeigt werden, können primär als Computer-Software-Module implementiert werden. Elemente in dem IP-Proxy-System 18 laufen typischerweise auf den gleichen Computer, während Komponenten, die zum IP-Proxy-System 18 extern sind, sich normalerweise auf anderen Computer befinden. In einer alternativen Implementierung können die Elemente eines IP-Proxy-Systems 18 stattdessen auf einer Gruppe von Computer verteilt sein, die über ein Netzwerk verteilt sind.
  • Der Dispatcher 22 verwaltet Datenflüsse und die Verbindung zu dem Gateway 15. Abhängig von dem Typ der Verbindung oder dem Typ der Daten, die übertragen werden, oder der zum Beispiel durchgeführten Datentransaktion interagiert der Dispatcher 22 mit der TCP-Handhabungsvorrichtung 24 oder der HTTP-Handhabungsvorrichtung 26. Das Transcodier-System 28 weist einen oder mehrere Datenfilter auf, von denen jeder Daten oder eine andere Information von einem Format in ein Format umwandelt, das durch eine mobile Vorrichtung 12 verarbeitet werden kann.
  • Die Verschiebedienste 30 sehen ein Verschieben an eine mobile Vorrichtung oder eine Übertragung einer „nicht angeforderten" Information von einer Informationsquelle, wie dem Verschiebe-Server 42, der zum Beispiel ein Web-Server oder eine Software-Anwendung sein kann, an eine mobile Vorrichtung 12 durch das IP-Proxy-System 18 vor. Die Verschiebedienst-Komponente 30 ermöglicht dem Verschiebeserver 42, die mobile Vorrichtung unter Verwendung zum Beispiel der Email-Adresse des Besitzers der mobilen Vorrichtung oder einem anderen geeigneten Label zu adressieren. Demgemäß muss der Verschiebeserver 42 die Adresse der mobilen Vorrichtung 12 in dem drahtlosen Netzwerk 14 nicht kennen.
  • Das Zustandsbeständigkeitselement 34, in Verbindung mit einem Datendateisystem 40 oder einer Datenbank, ermöglicht eine Verwaltung von Cookies, Passwörtern und möglicherweise anderer Zustandsinformation, die zu Web-Servern 46 gehört, mit denen sich das IP-Proxy-System 18 verbinden kann. Es speichert vorzugsweise eine Zustandsinformation über eine Verbindung, die zwischen diskreten Netzwerkpaketen fortbesteht, wie ein HTTP-Anforderungs/Antwort-Paar.
  • Das Überwachungssystem 36 ermöglicht eine entfernte Überwachung der Leistung, der Effizienz, der Verwendung und der „Gesundheit" bzw. des Zustands eines IP-Proxy-Systems 18 durch einen Administrator. Diese Überwachung kann erreicht werden zum Beispiel durch eine lokale Schnittstelle mit dem IP-Proxy-System 18 oder möglicherweise entfernt durch eine Schnittstelle, wie dem Web-Browser 48. Wie sein Name andeutet, kann das Protokollierungs-System 38 konfiguriert werden, um Verwendung, Verbindung, Benutzerstatistiken und Ähnliches in dem Dateisystem 40 oder einem anderen sekundären Speicher zu speichern.
  • Verbindungen und Handhabungs- bzw. Handler-Vorrichtungen
  • Das IP-Proxy-System 18 kann vorzugsweise einen Inhalt von verschiedenen Informationsquellen 20 handhaben und verarbeiten, einschließlich Internet-basierter Quellen. Diese Funktionalität wird durch Verbindungs-Handhabungsvorrichtungen bzw. Connection-Handler vorgesehen, die dazwischenliegende Objekte sind, welche die Fähigkeit haben, Inhalt von Verbindungen an ein und von einem IP-Proxy-System 18 zu verarbeiten. In dem IP-Proxy-System 18, das in der 2 gezeigt wird, werden zwei derartige Handhabungsvorrichtungen, die TCP-Handhabungsvorrichtung 24 und die HTTP-Handhabungsvorrichtung 26, gezeigt. Diese Handhabungsvorrichtungen können vorzugsweise ersetzt und kundenspezifisch angepasst werden oder zusätzliche Handhabungsvorrichtungen können vorzugsweise zu einem IP-Proxy-System hinzugefügt werden, wie erforderlich. Die Verbindungs-Handhabungsvorrichtungen können nicht nur den Inhalt, sondern auch das Protokoll optimieren. Zum Beispiel können einige Anforderungen, die normalerweise an die mobile Vorrichtung 12 gesendet würden (wie eine Anforderung für ein Passwort), von der Verbindungs-Handhabungsvorrichtung aufgelöst werden, wenn eine erforderliche Information zum Beispiel durch das Zustandsbeständigkeitselement 34 und das Dateisystem 40 verfügbar ist. Dieser Fall einer Protokolloptimierung kann sogenannte „schwatzhafte (chatty)" Protokolle anpassen, um besser drahtlos geeignet zu sein, durch Reduzierung der Menge von Verkehr, der über ein drahtloses Netzwerk an eine mobile Vorrichtung 12 gesendet wird, wodurch die Effekte von Bandbreitenbegrenzungen von drahtlosen Netzwerken und eine Latenz reduziert werden.
  • Abgehende Verbindungen werden von den mobilen Vorrichtungen 12 hergestellt, um zum Beispiel Daten an Internet-Knoten zu senden oder Daten von Internet-Knoten zu empfangen. Das IP-Proxy-System 18 empfängt vorzugsweise Verbindungsanforderungen von mobilen Vorrichtungen 12 unter Verwendung eines bestimmten Protokolls, wie einem proprietären Protokoll, als IP-Proxy-Protokoll oder IPPP bezeichnet, das von der Anmelderin der vorliegenden Anmeldung entwickelt wurde, Obwohl auch andere Protokolle verwendet werden können. Das IP-Proxy-System 18 stellt dann eine Internet-Verbindung her, gemäß einer Routing-Information, die von der mobilen Vorrichtung 12 vorgesehen wird, und übersetzt und bildet diese Verbindung ab, um mit der Weiterleitung von Daten in beide Richtungen zu beginnen. Eine Filtration- oder ein Transcodier-Prozess wird aufgerufen, wann immer erforderlich, basierend zum Beispiel auf dem Typ des Inhalts, der über die Verbindung geleitet wird, oder auf einem bestimmten Transcodier-Prozess, der in der Verbindungsanforderung von der mobilen Vorrichtung spezifiziert wird.
  • Ankommende Verbindungen werden zum Beispiel verwendet, um ein Daten-Verschiebe-Modell gemäß einem Ausführungsbeispiel zu implementieren. In diesem Ausführungsbeispiel kann einer mobilen Vorrichtung 12 eine Information gesendet werden, ohne dass diese Anforderungen ausgegeben hat, die Information abzurufen, wie es der Fall bei abgehenden Verbindungen ist. Wie kurz oben beschrieben wurde, können mobile Vorrichtungen 12 auf einer anderen Netzwerk-Domain als Internet-Knoten existieren. Das IP-Proxy-System 18 ist zur Überbrückung des Internets und drahtloser Netzwerk-Domains verantwortlich. Somit erfordert das IP-Proxy-System 18 bestimmte Routing-Information, um den Verkehr an eine bestimmte mobile Vorrichtung 12 zu leiten. In einer Verschiebe-Operation muss zumindest ein Teil dieser Routing-Information von dem Internet-Knoten vorgesehen werden, wie dem Verschiebeserver 42, der die Anforderung ausgibt, eine eingehende Verbindung herzustellen. Das IP-Proxy-System 18 kann allgemein bekannte Adressierungsschemen, wie Email oder IP-Nummern, in die geeignete drahtlose Netzwerkadresse einer beabsichtigten mobilen Empfängervorrichtung 12 umwandeln. Ein Transcodier-Prozess für verschobenen Inhalt kann ebenfalls durch einen Verschiebeserver 42 oder eine Informationsquelle 20 gewählt und spezifiziert werden.
  • Die Verbindungs-Handhabungsvorrichtungen in einem IP-Proxy-System 18 sind Strom-basierte Objekte. Wenn eine abgehende oder eingehende Verbindung ver langt wird, wird ein virtueller geleiteter (piped) Strom (stream) zwischen einer mobilen Vorrichtung 12 und der geeigneten Verbindungs-Handhabungsvorrichtung hergestellt. Die Verbindungs-Handhabungsvorrichtung wird instantiiert und gestartet, um den Inhalt für die aufgebaute Verbindung zu verarbeiten. Ein Laden der Verbindungs-Handhabungsvorrichtung basiert auf einer Verbindungsanforderung, die vorzugsweise eine Referenz auf einen geeigneten Handhabungsvorrichtungsnamen enthält, der normalerweise den Typ des Verkehrs andeutet, der durch den virtuellen geleiteten Strom geht, und die Position der Handhabungsvorrichtung, die geladen werden muss, wenn sie nicht bereits geladen ist. Die Funktionen der Verbindungs-Handhabungsvorrichtungen umfassen eine Abbildung (mapping) Verbindungen des Internets oder von anderen Informationsquellenseiten und Verbindungen der mobilen Vorrichtung 12, ein Weiterleiten von Verkehr zwischen diesen Verbindungen und ein Laden und Aufrufen der geeigneten Transcodierer für Information, die für eine mobile Vorrichtung 12 bestimmt ist.
  • Jede Verbindung gehört vorzugsweise zu einer Instanz einer Verbindungs-Handhabungsvorrichtung. Dies gilt sogar für eine Verbindung, die nicht erfordert, dass ein Inhalt durch das IP-Proxy-System 18 verarbeitet wird, wie eine reine TCP-Verbindung zwischen einer mobilen Vorrichtung und einem Server. Dieser Typ der Verbindungs-Handhabungsvorrichtung leitet einen Inhalt vorwärts und zurück, ohne eine Modifikation des Inhalts zu machen, obwohl sie Modifikationen des Protokolls machen kann. Zu Zwecken der Klarheit unterscheiden Fachleute zwischen Daten oder Inhalt (was die mobile Vorrichtung angefordert hat oder gesendet wird) und dem Protokoll (die „Verpackungen" und Umwandlungen, die erforderlich sind, um die Daten zu liefern).
  • Verbindungs-Handhabungsvorrichtungen sind auch für das Laden der geeigneten Inhalts-Filter oder Transcodierer verantwortlich. Eine Verbindungs-Handhabungsvorrichtung, wie die HTTP-Verbindungs-Handhabungsvorrichtung 26, kann einen bestimmten Transcodierer in dem Transcodierer-System 28 verwenden, gewählt durch das IP-Proxy-System 18 oder entweder durch die mobile Vorrichtung 12 oder eine Informationsquelle spezifiziert, wie dem Verschiebeserver 42 oder dem Web-Server 46.
  • 3 ist ein Flussdiagramm, das allgemeine Verbindungs-Handhabungsvorrichtung-bezogene Operationen in einem IP-Proxy-System 18 darstellt. In Schritt 50 empfangt das IP-Proxy-System 18 eine Verbindungsanforderung, die, wie oben beschrieben, eine eingehende Verbindung oder eine abgehende Verbindung betreffen kann. Wenn die Verbindung zu einer bestimmten Handhabungsvorrichtung gehört, wie eine HTTP-Verbindung, die eine HTTP-Verbindungs-Handhabungsvorrichtung 26 erfordert, wird die geeignete Handhabungsvorrichtung geladen und ausgeführt in Schritt 54 und die Verbindung wird hergestellt, wie in Schritt 58 gezeigt. Wenn die Anforderung (von der mobilen Vorrichtung 12) abgehend ist, dann überprüft der Dispatcher 22 den Protokolltyp, der zu der Anforderung gehört, und deligiert die Verbindung an die geeignete Handhabungsvorrichtung. Daten können dann zwischen einer mobilen Vorrichtung und einem Internet-Dienst, einem Verschiebeserver 42, einem Web-Server 46 oder einer anderen Informationsquelle 20 ausgetauscht werden.
  • Wenn bestimmte Verbindungs-Handhabungsvorrichtungen für eine Verbindung verwendet werden, wie für eine reine TCP-Verbindung, wie oben beschrieben, dann können die Daten unverändert durch das IP-Proxy-System 18 gehen. In einigen IP-Proxy-Systemen jedoch kann ein Inhalt, der über eine TCP-Handhabungsvorrichtung gesendet wird, modifiziert werden. Wenn jedoch andere Verbindungs-Handhabungsvorrichtungen verwendet werden, müssen Daten, die für eine mobile Vorrichtung 12 bestimmt sind, möglicherweise in ein geeignetes Format umgewandelt werden. 4 ist ein Flussdiagramm von Verbindungs-Handhabungsvorrichtungs-Datenverarbeitungs-Operationen. In Schritt 62 werden Daten, die für eine mobile Vorrichtung 12 bestimmt sind, empfangen. Obwohl als eine Antwort von einer Verbindung bezeichnet, nachfolgend auf eine Informationsanforderung von einer mobilen Vorrichtung 12 zum Beispiel, sollte angemerkt werden, dass die Daten, die von der Verbindungs-Handhabungsvorrichtung empfangen werden, stattdessen eine Information sein kann, die an die mobile Vorrichtung 12 von einem Verschiebeserver, wie 42, über einen Verschiebedienst 30 zu verschieben ist. Die Verbindungs-Handhabungsvorrichtung stellt in Schritt 64 fest, ob eine Transcodierung erforderlich ist. Wenn nicht, dann wird in Schritt 70 die Information an die mobile Vorrichtung gesendet. Andernfalls wird der geeignete Transcodierer in Schritt 66 geladen und ausgeführt. Die Daten werden in ein akzeptables Format in Schritt 68 transcodiert, bevor sie an die mobile Vorrichtung 12 in Schritt 70 gesendet werden. Die Entität, welche die Kommunikation initiiert, die mobile Vorrichtung 12 für geholte Daten oder der Verschiebeserver 42 für verschobene Daten, kann vorzugsweise einen bestimmten Transcodierer spezifizieren, um die Transcodierung der geholten oder verschobenen Daten durchzuführen. Eine Transcodierer-Auswahl kann auch durch eine Verbindungs-Handhabungsvorrichtung oder das IP-Proxy-System 18 durchgeführt werden, abhängig von einer Information für die mobile Ziel-Vorrichtung 12, die auf dem IP-Proxy-System 18 verfügbar ist oder möglicherweise ableitbar durch ein IP-Proxy-System 18 oder Komponenten davon basierend auf vorhergehenden Informationsübertragungsoperationen, welche die mobile Ziel-Vorrichtung 12 betroffen haben. Zum Beispiel kann ein Transcodierer aufgerufen werden, um Information in das gleiche Format zu transcodieren, das vorher an eine mobile Ziel-Vorrichtung 12 das letzte Mal übertragen wurde, als eine Information an die mobile Vorrichtung 12 gesendet wurde.
  • Eine Verbindungs-Handhabungsvorrichtung kann in der Computer-Software als eine JavaTM-Klassen-Datei implementiert werden, platziert in einem bestimmten Verzeichnis in einem Dateisystem, so dass eine IP-Proxy-System-Java-virtuelle Maschine (VM – virtual machine) die Datei lokalisieren und laden kann, wenn erforderlich oder angefordert. Wie für Fachleute offensichtlich ist, verwendet Java eine CLASSPATH-Umgebungsvariable als eine Führung, wo es eine Suche nach Benutzerdefinierten Klassen durchführen soll. In einem Ausführungsbeispiel sind Pfade (paths) zu Verbindungs-Handhabungsvorrichtungen unter den ersten aufgeführten Pfaden in dem CLASSPATH, so dass sie relativ schnell geladen werden, wenn angefordert. Die Verbindungsrichtung (eingehend oder abgehend) und der Name, der zu einer Verbindungs-Handhabungsvorrichtung gehört, können auch eine Rolle spielen bei der Definition des vollständigen Klassennamens einer Handhabungsvorrichtung. Für Fachleute ist offensichtlich, dass dieselben Schemen unter Verwendung von DLLS (dynamic linked libraries) oder DSOs (dynamic shared objects) implementiert werden können abhängig von dem Zielbetriebssystem.
  • Verbindungs-Handhabungsvorrichtungen können zu einem Namen gehören, der ein Protokoll an der Anwendungsschicht darstellt. Wenn zum Beispiel eine mobile Vorrichtung 12 mit einem Web-Browser aktiviert ist und folglich anfordern kann, eine Verbindung zu einem Internet-Server, wie 46, zu öffnen, ist es angebracht, HTTP als einen Namen für diese Verbindungs-Handhabungsvorrichtung zu haben, wie mit der Verbindungs-Handhabungsvorrichtung 26 gezeigt wird. Der Name der Handhabungsvorrichtung kann die bekannten Regeln der Namengebung von Paketen in der Java-Sprache einhalten. Vorzugsweise ist der Name der Handhabungsvorrichtung in Kleinschreibung; jedoch ist es von dem Standpunkt eines IP-Proxy-Systems her egal, solange die Java-VM diese Verbindungs-Handhabungsvorrichtung laden kann. Eine Verbindungs-Handhabungsvorrichtung kann ihren Klassennamen als Handler.class haben. Ein Beispiel eines gültigen vollständigen Klassennamens, der eine Verbindungs-Handhabungsvorrichtung darstellt, ist wie folgt:
    net.rim.protocol.iplayer.connection.handler.<connection direction>.<connection handler name>.Handler.class
    wobei eine Verbindungsrichtung eine Vorrichtung sein kann, die eine abgehende Verbindung impliziert, oder ein Server, der eine eingehende Verbindung impli ziert. Der Name der Verbindungs-Handhabungsvorrichtung ist der Name, der zu der Handhabungsvorrichtung gehört, zum Beispiel, http, ftp, usw.
  • Es gibt zumindest zwei Arten, wie eine Informationsquelle, wie ein Internet-Knoten, eine Verbindung mit einer mobilen Vorrichtung 12 herstellen kann durch das beispielhafte IP-Proxy-System 18, das in der 2 gezeigt wird: (1) die Verwendung eines Transportschichtprotokolls direkt, wie TCP, um eine direkte Verbindung zu dem IP-Proxy-System 18 zu öffnen, oder (2) die Verwendung eines Datagrammprotokolls an der Anwendungsschicht, wie HTTP. Das IP-Proxy-System 18 umfasst zwei entsprechende Verbindungs-Handhabungsvorrichtungen, die zum Beispiel ein grundlegendes IP-Proxy-System 18 darstellen können, das zwei der verbreitetsten Typen von Verbindungen verarbeiten kann. Die erste ist die TCP-Verbindungs-Handhabungsvorrichtung 24, die zum Beispiel zu dem Namen tcp gehört. Die zweite ist die HTTP-Verbindungs-Handhabungsvorrichtung 26, die ähnlich zu dem Namen http gehören kann, wie oben beschrieben. Zusätzlich zur Unterstützung allgemeiner Verbindungstypen erfüllen diese Verbindungs-Handhabungsvorrichtungen auch Anforderungen für eine MIDP(Mobile Information Device Profile)-Implementierung an der mobilen Vorrichtung. Jedoch können das IP-Proxy-System 18 und die mobile Vorrichtung 12 erweitert werden, um andere Typen von Verbindungen zu unterstützen. In dem IP-Proxy-System 18 können Verbindungs-Handhabungsvorrichtungen möglicherweise hinzugefügt werden durch Vorsehen einer Anwendungsprogrammschnittstelle (API – application programming interface) in dem IP-Proxy-System 18 und Entwickeln neuer Verbindungs-Handhabungsvorrichtungen, die zum Beispiel der API entsprechen.
  • In einem Beispiel werden Verbindungs-Handhabungsvorrichtungen in dem IP-Proxy 18 aus einem lokalen Speichermedium geladen, zum Beispiel ein Laufwerk, das mit einem Computer verbunden ist, auf dem eine IP-Proxy-Systemsoftware läuft. Jedoch kann in einem anderen Beispiel ein Verbindungs- Handhabungsvorrichtung-Speicher auch oder stattdessen entfernt von dem IP-Proxy-System 18 sein, wie ein Speichermedium, das für das IP-Proxy-System 18 zugänglich ist über eine lokale Netzwerkverbindung (LAN) oder auch ein WAN, wie das Internet. Dieses Beispiel ermöglicht das gemeinsame Verwenden eines einzelnen Verzeichnisses von Verbindungs-Handhabungsvorrichtungen unter allen IP-Proxy-Systemen 18, die mit dem Verbindungs-Handhabungsvorrichtungs-Speicher kommunizieren können. Es ist auch möglich, durch dritte Parteien den Satz von Verbindungs-Handhabungsvorrichtungen zu erweitern durch Einbetten der URL, wenn die Verbindungs-Handhabungsvorrichtung-Java-Klasse gefunden werden kann.
  • Wenn mit dem Internet verbunden, kann auf ein Verbindungs-Handhabungsvorrichtungs-Verzeichnis möglicherweise durch alle mit dem Internet verbundenen IP-Proxy-Systeme 18 zugegriffen werden und somit gemeinsam benutzt werden. Öffentliche Internet-verbundene Verbindungs-Handhabungsvorrichtungs-Verzeichnisse würden vorzugsweise Verbindungs-Handhabungsvorrichtungs-Anforderungen von IP-Proxy-Systemen 18 empfangen und als Antwort die angeforderten Verbindungs-Handhabungsvorrichtungen an das anfordernde IP-Proxy-System 18 übermitteln. Eine neue Verbindungs-Handhabungsvorrichtung kann von einem IP-Proxy-System 18 erforderlich sein, wenn eine mobile Vorrichtung 12, die mit dem IP-Proxy-System 18 kommuniziert, eine neue Software-Anwendung herunterlädt oder ein neues Merkmal der mobilen Vorrichtung aufruft, das ein neues Verbindungsschema oder ein Verbindungsverfahren verwendet, die von der mobilen Vorrichtung 12 vorher nicht verwendet wurden. Ein Benutzer einer mobilen Vorrichtung oder die neue Anwendung oder das Merkmal können dann eine Steuermeldung an das IP-Proxy-System 18 senden, die anzeigt zum Beispiel den Namen der erforderlichen Verbindungs-Handhabungsvorrichtung, möglicherweise die Anwendung der mobilen Vorrichtung, welche die neue Verbindungs-Handhabungsvorrichtung erfordert, und eine Adresse, die zu einem Verbindungs-Handhabungsvorrichtungs-Verzeichnis ge hört, von dem die neue Verbindungs-Handhabungsvorrichtung angefordert werden kann. Das IP-Proxy-System 18 fordert dann vorzugsweise die neue Verbindungs-Handhabungsvorrichtung von dem Verzeichnis an. Ein Verbindungs-Handhabungsvorrichtungs-Verzeichnis kann zum Beispiel als ein Web-Server implementiert werden, der für ein IP-Proxy-System 18 unter Verwendung von HTTP-Anforderungen zugänglich ist.
  • Wenn eine Verbindungs-Handhabungsvorrichtung von einer entfernten Quelle geladen wird, speichert das IP-Proxy-System 18 vorzugsweise die Handhabungsvorrichtung in einem lokalen Speicher, um ein schnelleres Laden der Handhabungsvorrichtung für nachfolgende Operationen vorzusehen, welche den entsprechenden Typ einer Verbindung für entweder die mobile Vorrichtung 12, für welche die Verbindungs-Handhabungsvorrichtung anfangs aus dem Verzeichnis geladen wurde, oder für eine andere mobile Vorrichtung 12, die durch das IP-Proxy-System 18 untergestützt wird, umfasst. Abhängig von den Speicher-Ressourcen, die für ein IP-Proxy-System vorhanden sind, können heruntergeladene Verbindungs-Handhabungsvorrichtungen auf unbegrenzte Zeit oder für eine bestimmte Zeitdauer gespeichert werden. Alternativ kann ein gerade erst verwendetes oder LRU(least recently used)-Ersatz-Schema verwendet werden, um eine effizientere Verwendung des verfügbaren Speichers vorzusehen durch Überschreiben von relativ wenig verwendeten Verbindungs-Handhabungsvorrichtungen, wenn neue Handhabungsvorrichtungen heruntergeladen werden. Andere Speicherverwaltungstechniken können ebenso verwendet werden, um lokale Speicher-Anordnungen von IP-Proxy-System-Verbindungs-Handhabungsvorrichtungen zu optimieren.
  • Transcodieren
  • Im Verhältnis zu Computer-Netzwerken, wie dem Internet, sind drahtlose Kommunikationsnetzwerke langsam. Ein Programm, das die zwei überbrückt, wie ein IP-Proxy-System, kann Internet-Daten umwandeln müssen, so dass sie geeignet für ein drahtloses Netzwerk und eine mobile Vorrichtung formatiert werden. Dieser Prozess wird hier als Filtern oder Transcodieren bezeichnet und umfasst normalerweise derartige Operationen, wie Komprimieren von Daten von dem Internet in ein kompaktes Format geeignet für eine drahtlose Übertragung und Anzeige auf einem relativ kleinen Anzeigebildschirm der mobilen Vorrichtung.
  • In der folgenden Beschreibung werden Transcodier-Operationen primär in dem Kontext des oben genannten Beispiels einer HTTP-Handhabungsvorrichtung 26 und einer HTTP-Verbindung dargestellt. Das Beispiel der HTTP-Verbindung und -Handhabungsvorrichtung ist besonders nützlich, da HTTP Inhalts-Tags in der Form von MIME(Multipurpose Internet Mail Extension)-Typen ermöglicht, die in einigen Ausführungsbeispielen benutzt werden können, um einen geeigneten Transcodierer für eine empfangene Information zu bestimmen.
  • In einem IP-Proxy-System 18 kann es eine einzelne Konfigurationsdatei für jeden Typ von Verbindungs-Handhabungsvorrichtung geben. In dem IP-Proxy-System 18 zum Beispiel kann eine einzelne Konfigurationsdatei, die zu der HTTP-Verbindungs-Handhabungsvorrichtung 26 gehört, eine Information für alle HTTP-Inhalts- bzw. Content-Transcodierer umfassen. Diese Konfigurationsdatei wird verwendet, um Transcodierer zu bestimmten Schlüsseln zuzuordnen. Das IP-Proxy-System 18 kann diese Datei konsultieren, um festzustellen, welche Inhalts-Transcodierer verfügbar sind, um einen empfangenen Inhalt zu manipulieren, der für eine mobile Vorrichtung bestimmt ist.
  • In der Konfigurationsdatei werden allgemeine Regeln vorzugsweise dafür spezifiziert, wie die Abbildung bzw. Mapping zwischen Inhaltstypen und Transcodierer zu definieren ist. Ein Beispiel eines möglichen Konfigurationsdateieintrags ist wie folgt:
    Entry = {[default]: {RSV|<Transcoder name>}}|
    {[[InputType]|<->OutputType>]:[Transcoder name]}
    wobei
    default dem Proxy-System anzeigt, welcher Transcodierer geladen werden soll, falls es keinen Transcodierer gibt, der zu einem empfangenen Inhaltstyp oder einer Verbindungsanforderung gehört;
    RSV ein Satz reservierter Schlüsselwörter ist, der in der Konfigurationsdatei verwendet wird, wie Weiterleiten (d.h. Weiteleiten von Daten an die mobile Vorrichtung ohne Transcodierung) oder Verwerfen (d.h. kein Transcodieren oder Weiterleiten von Daten an die mobile Vorrichtung);
    „Transcoder name" der Name des abgebildeten Transcodierers ist;
    „InputType" den Eingangs-Inhaltstyp anzeigt, den der abgebildete Transcodierer akzeptieren kann, der für eine HTTP-Transcodierer-Konfigurationsdatei ein MIME-Typ sein kann; und
    „OutputType" den Ausgabe-Typ anzeigt, wie ein MIME-Typ für einen HTTP-Transcodierer, den der Transcodierer produzieren kann.
  • Durch Verwendung einer Inhalts-Transcodierer-Konfigurationsdatei können neue Transcodierer zur Verwendung durch ein IP-Proxy-System 18 hinzugefügt werden. Folglich können, wenn neue Transcodierern entwickelt werden und verfügbar werden, sie zu der Konfigurationsdatei für alle geeigneten Verbindungs-Handhabungsvorrichtungen hinzugefügt werden und können danach geladen werden von einer Verbindungs-Handhabungsvorrichtung, wenn erforderlich, und oh ne andere Komponenten des IP-Proxy-Systems 18 zu beeinflussen. Zum Beispiel können Konfigurationsdatei-Einträge hinzugefügt werden, ohne das gesamte IP-Proxy-System 18 auszuschalten, wodurch eine dynamische Expansion der Daten möglich ist, die für eine Übertragung an die mobilen Vorrichtungen 12 umgewandelt werden können.
  • In einem anderen Beispiel wird ein gemeinsames Konfigurationsdateiformat für alle Verbindungs-Handhabungsvorrichtungen verwendet, und somit muss nur ein einziger Konfigurationsdatei-Eintrag vorbereitet werden und kann zu der Konfigurationsdatei für jede Verbindungs-Handhabungsvorrichtung hinzugefügt werden. Das Konzept eines gemeinsamen Konfigurationsdateiformats für alle Verbindungs-Handhabungsvorrichtungen kann weiter erweitert werden auf das Vorsehen einer einzelnen Konfigurationsdatei für ein IP-Proxy-System 18. Eine derartige Konfigurationsdatei kann dann von allen Verbindungs-Handhabungsvorrichtungen in dem IP-Proxy-System 18 verwendet werden, um zu bestimmen, welche Inhalt-Transcodierer verfügbar sind, und um einen bestimmten Transcodierer für empfangenen Inhalt auszuwählen. Jedoch sollte angemerkt werden, dass ein gemeinsames Konfigurationsdateiformat keineswegs erforderlich ist. Einige Verbindungs-Handhabungsvorrichtungen können ein Konfigurationsdatei-Eintragsformat oder sogar eine einzelne Konfigurationsdatei gemeinsam benutzen, während andere, die durch das gleiche IP-Proxy-System 18 unterstützt werden, unterschiedliche Konfigurationsdateien und Eintragsformate haben können.
  • Das IP-Proxy-System kann einen Transcodierer laden und ausführen basierend entweder auf dem Typ der Information, die an die mobile Vorrichtung 12 zu senden ist, oder auf einem Transcodierernamen, der durch eine mobile Vorrichtung 12 oder eine Informationsquelle 20 spezifiziert wird, um Daten zu transcodieren, die an eine mobile Vorrichtung gesendet werden.
  • Ein Transcodierer kann stattdessen gewählt werden basierend auf einer Information, die verschieden ist von den Inhaltstypen, einschließlich eine Information in einem Header-Abschnitt oder einem anderen Teil einer Verbindungsanforderung von einer mobilen Vorrichtung, einer Antwort auf eine Informationsanforderung oder einer Kommunikation von einer Informationsquelle, einschließlich Information, die an eine mobile Vorrichtung verschoben (pushed) werden soll. Zum Beispiel kann ein IP-Proxy-System 18 konfiguriert werden, einen Typ oder die mobile Vorrichtung 12 zu bestimmen, an die Daten gesendet werden sollen. Gemäß der Erfindung basiert eine Transcodierer-Auswahl durch das IP-Proxy-System 18 auf einer Netzwerkadresse oder einem anderen Identifizierer der mobilen Vorrichtung 12. Mobile Vorrichtungs- oder Vorrichtungstyp-abhängige Transcodierer-Auswahlschemen können unterstützt werden durch Vorsehen einer Vorrichtungs- oder Vorrichtungstyp-Abbildungstabelle, die für das IP-Proxy-System 18 zugänglich ist, die Vorrichtungen oder Vorrichtungstypen zu Transcodierern abbildet bzw. zuordnet. Alternativ kann eine Konfigurationsdatei angepasst werden, um Vorrichtungs- oder Vorrichtungstypidentifizierer zu umfassen, um dadurch bestimmte Transcodierer mit Vorrichtungen oder Vorrichtungstypen zu verbinden bzw. assoziieren.
  • Auf eine ähnliche Weise können Transcodierer gewählt werden basierend auf einer Adresse (wie einer URL) oder einem anderen Identifizierer einer Informationsquelle, um eine Informationsquellen-spezifische Transcodierung zu ermöglichen. Eine Abbildungstabelle oder eine Konfigurationsdatei, die zugänglich ist für ein IP-Proxy-System, wie 18, kann verwendet werden, um eine Transcodierer-Auswahl zu ermöglichen, die auf der Informationsquelle basiert. Dieser Typ der Transcodierer-Auswahl kann zum Beispiel nützlich sein, wenn ein bestimmter Transcodierer verwendet werden soll, um jeden Inhalt zu transcodieren, der von einer spezifischen Webseite stammt und für eine mobile Vorrichtung bestimmt ist.
  • Obwohl Inhaltstyp-basierte und spezifizierte Transcodierer-Auswahl die primären Typen eines unten beschriebenen Transcodierer-Auswahlschemas sind, kann jedes dieser alternativen Schemen anstelle einer Inhaltstyp-basierten Transcodierer-Auswahl verwendet werden. Die alternativen Schemen können auch verwendet werden, um ein Transcodierer auszuwählen, zum Beispiel wenn ein Transcodierer, der durch ein primäres Transcodierer-Auswahlschema angezeigt wird, nicht verfügbar ist, zum Beispiel wenn ein Transcodierer-System keinen Transcodierer umfasst, der konfiguriert ist, um einen empfangenen Inhaltstyp in einen Inhaltstyp zu transcodieren, für den die mobile Vorrichtung zur Akzeptanz konfiguriert ist.
  • Verschieben von Information von einer Informationsquelle an eine mobile Vorrichtung
  • Wie oben beschrieben, kann ein IP-Proxy-System 18 sowohl abgehende als auch eingehende Verbindungen unterstützen. Jedoch betrifft diese Anmeldung primär ein Verschieben von Information an eine mobile Vorrichtung über eingehende Verbindungen.
  • Eine Server- oder Informations-Verschiebe-Operation unterscheidet sich von Informations-Anforderungs/Antwort-Operationen, wie jene normalerweise zum Beispiel zu Web-Browsing gehörenden, dadurch, dass eine Informationsquelle 20 einen Inhalt an einen Empfänger sendet, ohne eine Anforderung dafür zu empfangen. Eine mobile Vorrichtung 12 kann sich für einen Dienst mit einem bestimmten Verschiebedienst registrieren durch Einrichten derartiger Einstellungen, wie die bestimmte Information, die an die mobile Vorrichtung 12 verschoben werden soll, eine Verschiebe-Zeitdauer oder -Frequenz, in der eine Information an die mobile Vorrichtung 12 verschoben werden soll, einen Inhaltstyp oder Transcodierer, der für eine Information verwendet werden soll, die für eine mobile Vorrichtung 12 bestimmt ist, und möglicherweise andere Einstellungen, die Informations-Verschiebe-Operationen betreffen. Diese Einstellungen können unter Verwen dung der mobilen Vorrichtung 12 selbst oder einer anderen Schnittstelle zu einem Verschiebeserver 42 gemacht werden, wie einer Webseite zum Beispiel. Es sollte auch angemerkt werden, dass ein IP-Proxy-System 18 vorzugsweise ein Grad an Zugriffssteuerung ausübt. Es kann erforderlich sein, dass jeder Verschiebeserver 42 sich mit einem IP-Proxy-System 18 registriert, um mit den mobilen Vorrichtungen 12 zu kommunizieren. Kontrolleinstellungen können an einem IP-Proxy-System 18 durch einen Besitzer oder Betreiber des IP-Proxy-Systems oder möglicherweise entfernt durch einen Benutzer einer mobilen Vorrichtung durchgeführt werden, um Verschiebe-Operationen auf bestimmte registrierte IP-Proxy-Systeme 18 einzuschränken. Zugriffssteuerungen können auf einer pro Vorrichtung, Vorrichtungsgruppe oder einer IP-Proxy-System-weiten Basis kundenspezifisch angepasst werden.
  • 5 ist ein Signal-Flussdiagramm einer beispielhaften Informations-Verschiebe-Operation. 5 zeigt nur jene Komponenten des IP-Proxy-Systems 18, die direkt an einer HTTP-basierten Verschiebe-Operation beteiligt sind, um eine Überfüllung in der Zeichnung zu vermeiden.
  • In dem Beispiel von 5 wird ein Inhalt von dem Verschiebeserver 42 an das IP-Proxy-System 18 in einer Verbindungsanforderung gesendet. Für eine HTTP-basierte Operation kann das Verschieben eine HTTP-Post-Operation sein, in welcher der Verschiebeserver 42 eine HTTP-Post-Anforderung an das IP-Proxy-System 18 sendet. Die Post-Anforderung umfasst Header-Felder, die eine Ressource spezifizieren, die zu dem IP-Proxy-System 18 gehört, wie zum Beispiel eine URI (Uniform Resource Identifier), und umfasst vorzugsweise eine Anzeige des Typs des Inhalts, wie ein MIME-Typ einer drahtlosen Auszeichnungssprache (WML – Wireless Markup Language) in der 5. In einer HTTP-Verbindungsanforderung kann der MIME-Typ von WML in einem Inhaltstyp-Feld eines HTTP-Anforderungs-Headers spezifiziert werden.
  • Der URI in der Verbindungsanforderung von dem Verschiebeserver 42 spezifiziert vorzugsweise ein Ressource, die das IP-Proxy-System 18 mit einer bestimmten mobilen Ziel-Vorrichtung 12 oder Gruppe von mobilen Vorrichtungen 12 verbindet. Zum Beispiel kann das IP-Proxy-System 18 eine Ressource für jede mobile Vorrichtung 12 herstellen, die für einen Betrieb mit dem bestimmten IP-Proxy-System 18 konfiguriert wurde. Derartige Vorrichtungs-spezifische Ressourcen können zum Beispiel unter Verwendung einer Identifizierungsnummer der mobilen Vorrichtung identifiziert werden, die das IP-Proxy-System 18 einer Adresse der mobilen Vorrichtung 12 in dem drahtlosen Netzwerk 14 zuordnen kann. Jede Information, die an eine Ressource durch einen Verschiebeserver 42 gepostet wird, wird dann an die entsprechende mobile Vorrichtung 12 weitergeleitet, wie detaillierter weiter unten beschrieben wird. Alternativ kann ein IP-Proxy-System 18 eine einzelne Ressource verwalten, an die eine Information, die an die mobilen Vorrichtungen 12 verschoben werden soll, die für einen Betrieb mit dem IP-Proxy-System 18 konfiguriert sind, gepostet werden kann. In derartigen Ausführungsbeispielen würde eine Post-Anforderung eine zusätzliche Information liefern, um eine/jede mobile Vorrichtung 12 zu identifizieren, an welche die gepostete Information gesendet werden soll.
  • Die Verbindungsanforderung von dem Verschiebeserver 42 wird von dem Verschiebe-Dienst-Modul 30 empfangen. In dem Beispiel der 5 ist die Verschiebe-Operation HTTP-basiert und das Verschiebe-Dienst-Modul 30 ruft somit die HTTP-Handhabungsvorrichtung 26 auf. Es sollte angemerkt werden, dass unterschiedliche Verschiebedienste zu jeweiligen Handhabungsvorrichtungen in einem IP-Proxy-System 18 gehören können und dass ein einzelnes IP-Proxy-System 18 mehrere unterschiedliche Verschiebedienste vorsehen kann. Es wird auch erwogen, dass mehrere Verschiebe-Dienst-Module zu einer einzelnen Verbindungs-Handhabungsvorrichtung gehören können. Alternativ kann ein einzelnes Verschiebe-Dienst-Modul funktionell ähnlich sein zu dem Dispatcher 22 und eine Schnittstelle zwischen einem Verschiebeserver 42 und jeder Handhabungsvorrichtung in einem IP-Proxy-System 18 vorsehen. Zu den Zwecken der Übersichtlichkeit jedoch wird nur ein einzelnes Verschiebe-Dienst-Modul 30, das zu der HTTP-Handhabungsvorrichtung 26 gehört, in der 5 gezeigt.
  • Obwohl die Verbindungsanforderung von dem Verschiebeserver 42 in der 5 als eine HTTP-Anforderung beschrieben wird, sollte auch angemerkt werden, dass die Verbindungsanforderung möglicherweise einem anderen Protokoll entspricht, das für eine Kommunikation zwischen dem IP-Proxy-System 18 und einem Verschiebeserver 42 verwendet wird. Eine Verbindungsanforderung kann einem ersten Protokoll entsprechen, möglicherweise zum Beispiel einem proprietären Protokoll, kann aber spezifizieren, dass eine bestimmte Verbindungs-Handhabungsvorrichtung für ein zweites Protokoll verwendet werden soll, um die Verbindung zu handhaben, so dass die Verbindungsanforderung als eine Verbindungsanforderung gemäß dem zweiten Protokoll interpretiert wird. Folglich umfassen Referenzen hier auf HTTP-Verbindungsanforderungen Verbindungsanforderungen, die anderen Protokollen entsprechen, aber als HTTP-Verbindungsanforderungen interpretiert werden.
  • Die HTTP-Handhabungsvorrichtung 26 bestimmt, ob die Information in der Post-Anforderung von dem Verschiebeserver 42 transcodiert werden soll, bevor sie an die mobile Vorrichtung 12 gesendet wird. Dies kann zum Beispiel erreicht werden durch Einführen eines bevorzugten Inhaltstyps für eine Information, die für eine mobile Vorrichtung 12 bestimmt ist. In der 5 wird dieser Inhaltstyp als eine komprimierte Token-Version von WML gezeigt, was im Allgemeinen als Kompilierte WML oder einfach WMLC bezeichnet wird. Die HTTP-Handhabungsvorrichtung 26 verwendet dann den empfangenen Inhaltstyp (WML), um eine Suche in der Konfigurationsdatei 72 durchzuführen, was in dem Transcodier-System 28 in der 5 gezeigt wird. Es ist jedoch für Fachleute offensichtlich, dass die Konfigurationsdatei 72 stattdessen extern zu dem Transco dier-System 28, Teil der HTTP-Handhabungsvorrichtung 26 oder sogar extern zu dem IP-Proxy-System 18 sein kann, vorausgesetzt, dass die HTTP-Handhabungsvorrichtung 26 auf die Datei zugreifen kann. In einem Ausführungsbeispiel wird die Konfigurationsdatei in einem Datenspeicher gespeichert, der durch das IP-Proxy-System 18 zugänglich ist, typischerweise auf demselben Computersystem, auf dem der IP-Proxy 18 läuft. In einem anderen Ausführungsbeispiel kann die Transcodierer-Auswahl stattdessen durch den Verschiebeserver 42 gesteuert werden durch Spezifizieren in der Anforderung eines Inhaltstyp oder eines Transcodierers, der für eine Übertragung an die mobile Vorrichtung 12 verwendet werden soll, wie detaillierter weiter unten beschrieben wird.
  • Die HTTP-Handhabungsvorrichtung 26 sucht die Konfigurationsdatei 72, um festzustellen, welcher, wenn überhaupt, ihrer zugehörigen Transcodierer den empfangenen Inhaltstyp, WML, in WMLC transcodieren kann zur Übertragung an die mobile Vorrichtung 12. In einem Ausführungsbeispiel wird eine Verweistabelle konstruiert, die Eingangs-Inhaltstypen mit Ausgabe-Inhaltstypen für alle konfigurierten Transcodierer zusammenbringt, wenn Transcodierer das erste Mal in das IP-Proxy-System 18 geladen werden. In der 5 umfasst die Konfigurationsdatei 72 oder alternativ eine Verweistabelle Einträge für zwei Transcodierer, einen zum Konvertieren von WML zu WMLC und den anderen zum Konvertieren von HTML (Hyper Text Markup Language) in WMLC. Die HTTP-Handhabungsvorrichtung 26 lädt dann, nachdem sie den Konfigurationsdatei-Eintrag für den WML->WMLC-Transcodierer gefunden hat, den WML->WMLC-Transcodierer 74 von einem lokalen Speicher zum Beispiel und führt den Transcodierer aus, um den empfangenen WML-Inhalt in der Post-Anforderung in WMLC umzuwandeln. Der WMLC-Inhalt wird dann an die mobile Vorrichtung 12 durch den Dispatcher 22 weitergeleitet. Obwohl die 5 zeigt, dass der Dispatcher 22 die Kommunikation des WMLC-Inhalts an die mobile Vorrichtung 12 handhabt, kann eine ähnliche Protokoll-Übersetzung oder -Umwandlung zwischen HTTP, das von der Handhabungsvorrichtung 26 verwendet wird, und einem Kommunikationsprotokoll, das durch die mobile Vorrichtung 12 verwendet wird, stattdessen durch die HTTP-Handhabungsvorrichtung 26 oder einem anderen IP-Proxy-Protokoll-Übersetzungs/Umwandlungs-Modul durchgeführt werden.
  • Wenn die Information in einer Verbindungsanforderung von einem Verschiebeserver 42 bereits in dem bevorzugten Inhaltstyp ist, dann muss ein Transcodieren nicht erforderlich sein. In der 5 leitet, wenn die HTTP-Post-Anforderung von dem Verschiebeserver 42 einen WMLC-Inhalt umfasst, die HTTP-Handhabungsvorrichtung 26 vorzugsweise den WMLC-Inhalt an die mobile Vorrichtung 12 weiter, ohne zu transcodieren.
  • Ein Transcodieren der verschobenen Information ist keineswegs auf Einzel-Transcodierer-Operationen beschränkt. In dem Beispiel der 5 konvertiert jeder Transcodierer direkt von einem Format in WMLC. Jedoch wird erwogen, dass mehrere Transcodierer verwendet werden können, um einen empfangenen Inhalt in ein Format oder einen Typ umzuwandeln, das/den die mobile Vorrichtung 12 akzeptieren kann.
  • 6 ist ein Signal-Flussdiagramm, das mehrere oder „verkettete" Transcodier-Operationen für eine HTTP-basierte Verschiebe-Operation zeigt. Wie in 5, zeigt 6 nur die Komponenten des IP-Proxy-Systems 18, die direkt an einer HTTP-basierten Verschiebe-Operation beteiligt sind, um eine Überfüllung in den Zeichnungen zu vermeiden. Die in der 6 gezeigten Komponenten sind im Wesentlichen dieselben wie die, die in der 5 gezeigt werden und funktionieren ähnlich. Der Verschiebeserver, die Konfigurationsdatei 78 und die Transcodierer, die in der 6 gezeigt werden, sind anders als in der 5 beschriftet, um anzuzeigen, dass eine Information oder Inhaltstypen, die diese Komponenten erzeugen oder verarbeiten, unterschiedlich sein können. Die Komponenten selbst können ansonsten dieselben sein. Zum Beispiel kann der Verschiebeserver 80 gleich zu dem Verschiebeserver 42 sein, außer dass der Verschiebeserver 80 einen HTML-Inhalt erzeugt. Es sollte auch angemerkt werden, dass der Verschiebeserver 80 tatsächlich derselbe Server wie der Verschiebeserver 42 sein kann, wenn der Verschiebeserver 42 konfiguriert ist, sowohl einen WML- als auch einen HTML-Inhalt zu erzeugen. Ähnlich kann die Konfigurationsdatei 78 Einträge speichern, die das gleiche Format wie die in der Konfigurationsdatei 72 haben, aber ist anders beschriftet, da unterschiedliche Einträge gezeigt werden. Die Transcodierer 82 können auch auf dieselbe Art wie der Transcodierer 74 implementiert werden, aber die beispielhaften Transcodierer 82 verarbeiten andere Inhaltstypen als der Transcodierer 74.
  • Eine HTTP-Post-Anforderung wird von dem Verschiebeserver 80 an das IP-Proxy-System 18 gesendet, möglicherweise durch ein oder mehrere dazwischenliegende Netzwerke und Schnittstellen-Komponenten. In der 6 umfasst die Post-Anforderung von dem Verschiebeserver 80 eine Information des HTML-Inhaltstyp, spezifiziert in einem Anforderungs-Header-Feld zum Beispiel als ein MIME-Typ von HTML. Wie oben beschrieben, erkennt das Verschiebe-Dienst-Modul 30 die Anforderung als eine HTTP-Anforderung und lädt die HTTP-Handhabungsvorrichtung 26. Obwohl die 6 dasselbe Verschiebe-Dienst-Modul 30 wie 5 zeigt, kann eine Verbindungsanforderung für den Verschiebeserver 80 durch einen anderen Verschiebedienst gehandhabt werden. Die HTTP-Handhabungsvorrichtung 26 zieht dann die Konfigurationsdatei 78 zu Rate und sucht nicht nur nach Transcodierern, die WMLC ausgeben, sondern auch nach Transcodierern, die Inhaltstypen ausgeben, die in einen Transcodierer eingegeben werden können, der WMLC ausgibt. In der 6 findet die HTTP-Handhabungsvorrichtung 26, möglicherweise in einem ersten Suchdurchlauf durch die Konfigurationsdatei 78, den WML->WMLC-Transcodierer-Eintrag. Die HTTP-Handhabungsvorrichtung 26 kann die Konfigurationsdatei-Suche nach den Transcodierern wiederholen, wie dem HTML->WML-Transcodierer, der einen Inhalt in WML umwandelt, die es in einen WMLC-Inhaltstyp umwandeln kann. Wenn eine Inhaltstyp anders als WML und HTML in der Post-Anforderung von dem Verschiebeserver 80 geliefert wird, dann kann die Konfigurationsdatei-Suche von der HTTP-Handhabungsvorrichtung 26 weiter wiederholt werden, abhängig zum Beispiel von akzeptablen Verzögerungen bei der Post-Anforderungs-Verarbeitung.
  • Um die Verzögerungen und die Nachfrage bei der Verarbeitung von Ressourcen zu vermeiden, die mit derartigen mehrfachen Suchdurchgängen durch eine Konfigurationsdatei verbunden sind, kann eine Transcodierer-Inhaltstyp-Verweistabelle verwendet werden. Wenn Transcodierer anfangs in ein IP-Proxy-System 18 installiert werden, wird vorzugsweise eine vollständige Abbildungstabelle konstruiert, um empfangene Inhaltstypen zu möglichen Ausgabe-Inhaltstypen zuzuweisen. Zum Beispiel kann in der 6 ein Verweistabellen-Eintrag für einen WMLC-Inhalt anzeigen, dass entweder WML oder HTML in WMLC umgewandelt werden können. Eine derartige Tabelle zeigt auch vorzugsweise an, dass eine HTML zu WMLC-Transcodierung zwei Stufen eines Transcodierens umfasst. Die Tabelle kann stattdessen in Einzel- und verkettete Transcodier-Abschnitte organisiert werden, wodurch, wenn nur eine einzelne Transcodier-Operation bevorzugt wird, nur auf den Einzel-Transcodierer-Teil der Tabelle zugegriffen wird, einschließlich ein Eintrag für den WML->WMLC-Transcodierer. Wenn weitere Transcodier-Operationen und die zugehörigen Arbeitsvorgänge und Zeitverzögerungen akzeptabel sind, dann kann die HTTP-Handhabungsvorrichtung 26 eine Suche eines empfangenen Inhaltstyps oder möglicherweise eines Eingabe-Typs für einen vorher identifizierten Transcodierer in einem verketteten Transcodierer-Abschnitt der Tabelle durchführen. Vorzugsweise kann das Format der Transcodierungs-Konfigurationsdatei verändert werden, um gerade eine derartige Verweistabelle zu repräsentieren, um die Suche zu beschleunigen. Dies kann erreicht werden zum Beispiel durch Spezifizieren eines Pfades zwischen Inhaltstypen, die mehrere Transcodierer umfassen.
  • Es ist für eine Kette von Transcodierern auch möglich, sowohl lokale als auch entfernte Transcodier-Dienste zu umfassen. Diese entfernten Transcodier-Dienste können Transcodierer-Dateien sein, die ein IP-Proxy-System 18 entdeckt, herunterlädt und ausführt, oder sie können Web-basierte Transcodier-Dienste sein, die Daten in einem Format empfangen und sie in einem anderen zurücksenden, wie detaillierter unten beschrieben wird.
  • Die Bestimmung, ob mehrere Transcodier-Operationen erlaubt sind oder nicht, kann von der HTTP-Handhabungsvorrichtung 26 gemacht werden entweder vor oder nachdem die Tabelle- oder Konfigurationsdatei-Suchoperation durchgeführt wird. In dem Beispiel der 6 sollte offensichtlich sein, dass mehrere Transcodierer aufgerufen werden können, um einen empfangenen Inhalt in WMLC umzuwandeln.
  • Sobald die Konfigurationsdatei-Einträge für die HTML->WML und WML->WMLC-Transcodierer in der Konfigurationsdatei 78 von der HTTP-Handhabungsvorrichtung 26 gefunden werden, lädt die HTTP-Handhabungsvorrichtung 26 zuerst den HTML->WML-Transcodierer und führt ihn aus, um den empfangenen HTML-Inhalt in WML zu transcodieren. Die HTTP-Handhabungsvorrichtung lädt dann den WML->WMLC-Transcodierer und führt ihn aus auf dem WML-Resultat der ersten Transcodier-Operation. Der resultierende WMLC-Inhalt wird dann an den Dispatcher 22 und dann an die mobile Vorrichtung 12 weitergeleitet. Wenn der WMLC-Inhalt durch den Verschiebeserver 80 zurückgesendet wird, leitet die HTTP-Handhabungsvorrichtung 26 den Inhalt an den Dispatcher 22 weiter, ohne eine Transcodierung, während, wenn ein WML-Inhalt zurückgesendet wird, der WML->WMLC-Transcodierer aufgerufen wird, wie oben beschrieben.
  • Die Bestimmung, ob mehrere Transcodier-Operationen erlaubt sind oder nicht, kann auch abhängig von vorbestimmten Kriterien gemacht werden, wie maximale HTTP-Anforderungs-Verarbeitungszeit oder maximale Inhalt-Transcodier-Zeit oder Prozessor-Zeit zum Beispiel. Diese Bestimmung kann auch eine durch den Benutzer der mobilen Vorrichtung oder von dem Verschiebeserver spezifizierte Priorität berücksichtigen. Wenn eine hohe Zeit-Priorität (geringe Zeitverzögerung) von einem Benutzer der mobilen Vorrichtung 12 einer Information zugewiesen wird, die für die mobile Vorrichtung 12 des Benutzers bestimmt ist, dann können einzelne Transcodier-Operationen gewählt werden. Alternativ, wenn eine hohe Datenpriorität mit einer Information verbunden ist, die an eine mobile Vorrichtung 12 zu senden ist, dann kann jede Anzahl von verketteten Transcodierer-Operationen erlaubt sein, um die Information an die mobile Vorrichtung 12 in einem akzeptablen Format zu bringen. Benutzereinstellungen können auf die gesamte verschobene Information, auf bestimmte Typen einer verschobenen Information oder auf eine Information anwendbar sein, die von bestimmten spezifischen Verschiebeservern stammt. Transcodieren kann auch oder stattdessen durch einen Verschiebeserver gesteuert werden, wie detaillierter im Folgenden beschrieben wird.
  • Andere Kriterien, die von einer Verbindungs-Handhabungsvorrichtung angewendet werden können, umfassen, sind aber keineswegs darauf beschränkt, ein Ermöglichen von verketteten Transcodierern nur für relativ geringe Mengen von empfangenem Inhalts, nur zu bestimmten Tageszeiten, unter spezifischem aktuellen Verkehrsbedingungen, oder nur, wenn die Konfigurationsdatei oder die Verweistabelle in einem lokalen Dateisystem gespeichert ist. Weitere Kriterien sind für Fachleute offensichtlich und sind somit in dem Umfang der vorliegenden Anmeldung.
  • Es ist auch möglich, dass mehr als eine Mehrfach-Transcodierer-Kette verfügbar sein kann, um zwischen zwei Inhaltstypen zu konvertieren. In derartigen Situatio nen kann es eine Priorität geben, basierend zum Beispiel auf Transcodier-Kosten oder -Übereinstimmung, die ein IP-Proxy-System 18 verwendet, um zwischen mehreren verfügbaren Ketten zu wählen.
  • In den oben genannten Beispielen der Verschiebe-Operationen zeigt der Verschiebeserver 42 oder 80 den Inhaltstyp der Information in der Verbindungsanforderung an das IP-Proxy-System 18 an. Wenn jedoch ein Verschiebeserver einen Dateninhalt verschiebt, aber keinen Inhaltstyp spezifiziert, dann wird vorzugsweise der standardmäßige Transcodierer verwendet. Wenn der standardmäßige Transcodierer einen empfangenen Inhalt verwirft oder einen Inhaltstyp ausgibt, der durch die mobile Vorrichtung 12 nicht akzeptiert werden kann, wird vorzugsweise eine Fehlermeldung an den Verschiebeserver zurückgesendet, der dann die Daten erneut an die mobile Vorrichtung 12 senden kann. Die Fehlermeldung zeigt weiter vorzugsweise dem Server einen Grund für einen Lieferausfall an, so dass der Verschiebeserver versuchen kann, das Lieferungsproblem zu beheben, wenn möglich, bevor die Daten erneut gesendet werden. Wenn die Daten nicht an die mobile Vorrichtung 12 geliefert werden konnten, weil kein Inhaltstyp spezifiziert wurde, und der standardmäßige Transcodierer kann zum Beispiel die Daten nicht in einen akzeptablen Inhaltstyp transcodieren, dann kann der Verschiebeserver die Daten mit einem geeigneten Inhaltstyp erneut senden.
  • Die oben genannten illustrativen Beispiele nehmen auch an, dass das IP-Proxy-System 18 weiß, dass die mobile Vorrichtung 12 einen WMLC-Inhalt akzeptieren kann, oder zumindest, dass WMLC ein bevorzugter Inhaltstyp für eine an die mobile Vorrichtung gerichtete Information ist. Wenn das IP-Proxy-System 18 nicht weiß, welche(r) Inhaltstyp(en) die mobile Vorrichtung 12 akzeptieren kann, dann wird vorzugsweise der standardmäßige Transcodierer benutzt. Alternativ kann die aktive Verbindungs-Handhabungsvorrichtung, die HTTP-Handhabungsvorrichtung 26 in 5 und 6, stattdessen die Transcodierer-Konfigurationsdatei 72, 78 oder die Verweistabelle konsultieren, um zu bestim men, ob ein Transcodierer, der den zurückgesendeten Inhaltstyp als Eingabe akzeptiert, verfügbar ist. Wenn ein verfügbarer Transcodierer gefunden wird, dann wird er geladen und verwendet, um den empfangenen Inhalt zu transcodieren. Wenn mehr als ein derartiger Transcodierer gefunden wird, dann kann einer von diesen, zum Beispiel der Transcodierer, der den ersten Eintrag in der Konfigurationsdatei hat, oder der Transcodierer, der vor kurzem verwendet wurde, um Daten für die bestimmte mobile Vorrichtung 12 zu transcodieren, für die der Inhalt bestimmt ist, geladen und ausgeführt werden. In der 6 zum Beispiel, wenn kein bevorzugter Inhaltstyp dem IP-Proxy-System 18 bekannt ist, dann wird der HTML->WML-Transcodierer geladen und ausgeführt und der resultierende WML-Inhalt kann dann an die mobile Vorrichtung 12 zurückgesendet werden.
  • Spezifizieren eines Inhalts-Transcodierers von einem Verschiebeserver
  • Eine Verbindungsanforderung von einem Verschiebeserver kann auch spezifizieren, dass ein bestimmter Transcodierer verwendet wird, um einen Inhalt zu transcodieren, der an eine mobile Vorrichtung 12 verschoben werden soll. Für eine HTTP-Verbindung zum Beispiel kann ein IP-Proxy-System 18 konfiguriert werden, ein Inhalt-Transcodierer-Feld in einem HTTP-Anforderungs-Header zu erwarten, um anzuzeigen, dass ein Verschiebeserver 12, der zum Beispiel zu einer Software-Anwendung oder -Eigenschaft einer mobiler Vorrichtung gehört, einen bestimmten Transcodierer spezifiziert. Das IP-Proxy-System 18 lädt den spezifizierten Transcodierer und führt ihn aus, um den verschobenen Inhalt zu transcodieren. Das Inhalt-Transcodierer-Header-Feld sollte einen Wert haben, der gültig ist im Kontext der HTTP-Konfigurationsdatei, oder wenn eine andere Verbindungs-Handhabungsvorrichtung verwendet wird, ihrer entsprechenden Konfigurationsdatei.
  • Wenn ein angeforderter Transcodierer nicht verfügbar ist, dann wird vorzugsweise eine Fehlermeldung zurück an den Verschiebeserver 42 gesendet, zum Beispiel in der Form einer IOException, die anzeigt, dass der angeforderte Transcodierer nicht verfügbar ist. Der Verschiebeserver 42 kann dann die Option haben, die Anforderung mit einem anderen Transcodierer erneut zu versuchen. Wenn die verschobenen Information für eine Software-Anwendung oder -Komponente der mobilen Vorrichtung bestimmt ist, die eine Information in einem bestimmten Format erfordert, das jedoch nur von dem spezifizierten Transcodierer verfügbar ist, kann die Anforderung stattdessen zu einer späteren Zeit erneut versucht werden, wenn der spezifizierte Transcodierer möglicherweise verfügbar ist.
  • Eine Transcodierer-Auswahl in einer Verbindungsanforderung von einem Verschiebeserver 42 wird nun detaillierter über ein illustratives Beispiel einer HTTP-basierten Verschiebe-Operation beschrieben. 7 ist ein Signal-Flussdiagramm eines Beispiels einer Verschiebeserver-gesteuerten Transcodierer-Auswahl für eine HTTP-basierte Verschiebe-Operation. Wie oben zeigt die 7 nur jene Komponenten des IP-Proxy-Systems 18, die direkt an einer HTTP-basierten Server-Verschiebe-Operation beteiligt sind.
  • In der 7 wird ein Inhalt von dem Verschiebeserver 42 an das IP-Proxy-System 18 verschoben. Für eine HTTP-basierte Operation kann das Verschieben eine HTTP-Post-Operation sein, wie oben beschrieben. Die Post-Anforderung umfasst Header-Felder, in denen zumindest ein Transcodierer-Name (WML->WMLC in diesem Beispiel) und möglicherweise eine Anzeige des Typs von Inhalt, wie ein MIME-Typ von WML in der 7, spezifiziert werden können. Da der Inhalt von derselben Entität vorgesehen wird, die den bestimmten Transcodierer wählt, ist der Inhaltstyp normalerweise mit dem spezifizierten Transcodierer kompatibel und muss folglich nicht unbedingt in der Post-Anforderung spezifiziert werden.
  • Die Post-Anforderung von dem Verschiebeserver 42 wird durch das Verschiebe-Dienst-Modul 30 empfangen. In dem Beispiel der 7 ist die Verschiebe-Operation HTTP-basiert, und das Verschiebe-Dienst-Modul 30 ruft folglich die HTTP-Handhabungsvorrichtung 26 auf. Wie in 5 und 6 kann, obwohl nur ein einzelnes Verschiebe-Dienst-Modul 30 zu der HTTP-Handhabungsvorrichtung 26 gehörend gezeigt wird in der 7, ein IP-Proxy-System 18 mehrere Verschiebe-Dienst-Module umfassen, oder das Modul 30 kann zu mehreren Verbindungs-Handhabungsvorrichtungen gehören.
  • Die beispielhafte Verbindungsanforderung, die in der 7 gezeigt wird, spezifiziert den bestimmten Transcodierer hinsichtlich seines Eingabe-Inhaltstyps (WML) und des Ausgabe-Inhaltstyps (WMLC). Jedoch sind auch andere Transcodierer-Bennenungs-Konventionen möglich. Wenn eine Konfigurationsdatei Einträge in einem Format hat, wie oben beschrieben, zeigt der Teil des Dateieintrags für jeden Transcodierer seine jeweiligen Eingabe- und Ausgabe-Inhaltstypen an. Das „Transcodierer-Namens"-Feld in solch einem Konfigurationsdatei-Eintrag muss folglich nicht notwendigerweise auch die Eingabe- und Ausgabe-Inhaltstypen zu umfassen. Obwohl viele unterschiedliche Transcodierer-Namens-Schemen möglich sind, wird ein bestimmter Transcodierer vorzugsweise in allen mobilen Vorrichtungs-Anforderungen und Konfigurationsdateien spezifiziert unter Verwendung desselben Namens.
  • Die HTTP-Handhabungsvorrichtung 26 verwendet vorzugsweise den Transcodierer-Namen in der Post-Anforderung, WML->WMLC in der 7, um eine Suche in der Konfigurationsdatei 72 durchführen, um festzustellen, ob der spezifizierte Transcodierer in dem IP-Proxy-System 18 verfügbar ist. Es sollte angemerkt werden, dass die Konfigurationsdatei 72 ein Teil des Transcodier-Systems 28, wie in 7 gezeigt, extern zu dem Transcodier-System 28, Teil der HTTP-Handhabungsvorrichtung 26 oder extern zu dem IP-Proxy-System 18 sein kann.
  • In der 7 existiert ein Eintrag für den Transcodierer, der in der Post-Anforderung spezifiziert wird, in der Konfigurationsdatei 72. Der WML->WMLC-Transcodierer 74 ist folglich für das IP-Proxy-System 18 verfügbar und der Transcodierer 74 wird geladen und ausgeführt, um den WML-Inhalt, der in der Post-Anforderung enthalten ist, in einen WMLC-Inhalt zu transcodieren. Der WMLC-Inhalt wird an die mobile Vorrichtung 12 durch den Dispatcher 22 weitergeleitet. Wenn ein Inhalt durch einen Verschiebeserver 42 in einem für die mobile Vorrichtung akzeptablem Format vorgesehen wird, WMLC in dem Beispiel der 7, kann die Post-Anforderung eine Null oder einen anderen vorbestimmten Wert spezifizieren in einem geeigneten Anforderungs-Header-Feld, um zu spezifizieren, dass der Inhalt an den Dispatcher 22 weitergeleitet werden soll, ohne Transcodierung. Es wird auch erwogen, dass ein Verschiebe-Dienst-Modul 30 konfiguriert werden kann, das Transcodieren eines verschobenen Inhalts direkt zu verwalten, anstatt eine getrennte Verbindungs-Handhabungsvorrichtung aufzurufen.
  • Wenn der bestimmte Transcodierer, der in der Post-Anforderung von dem Verschiebeserver 42 spezifiziert wird, nicht für das IP-Proxy-System 18 verfügbar ist, dann kann die Verschiebe-Operation abgebrochen werden. Alternativ kann ein anderer Transcodierer, der einen Eingabe-Inhaltstyp und Ausgabe-Inhaltstyp hat, die jeweils mit dem Inhalt von der Post-Anforderung kompatibel sind, und einen Inhaltstyp, der durch die mobile Vorrichtung 12 akzeptiert wird (wenn dem IP-Proxy-System 18 bekannt), verwendet werden. Immer, wenn der angeforderte Transcodierer nicht verwendet werden kann, um einen verschobenen Inhalt zu transcodieren, kann ein Verschiebe-Operations-Ausfall- oder Fehlermeldung an den Verschiebeserver 42 zurückgesendet werden, insbesondere, wenn der Verschiebeserver 42 konfiguriert ist, einen nicht gelieferten Inhalt wieder zu versuchen. Da ein verschobener Inhalt nicht durch die mobile Vorrichtung 12 angefordert wurde, werden typischerweise keine derartigen Störungs- oder Ausfallmel dungen an die mobile Vorrichtung 12 gesendet. Wenn der standardmäßige oder jeder andere Transcodierer anstelle des spezifizierten Transcodierers verwendet wird, dann kann der Verschiebeserver 42 über den bestimmten Transcodierer informiert werden, der verwendet wird.
  • Alle derartigen alternativen Transcodierungs-Operationen können stattdessen durch den Verschiebeserver 42 gesteuert werden. Zum Beispiel, wenn die Transcodierer-Konfigurationsdatei 72 keinen Eintrag für den spezifizierten WML->WMLC-Transcodierer umfasst, kann das IP-Proxy-System 18 eine Ausfall- oder Fehlermeldung an den Verschiebeserver 42 senden, die anzeigt, dass der spezifizierte Transcodierer nicht verfügbar ist oder nicht verwendet werden kann, wie oben beschrieben wird. Der Verschiebeserver 42, eine Server-Software-Anwendung, die zu der Verbindungsanforderung gehört, oder ein Betreiber oder Administrator des Verschiebeservers 42 kann dann auf die Meldung reagieren und die Aktion angeben, die unternommen werden soll. Diese Aktion kann zum Beispiel umfassen ein Weiterleiten des Inhalts an die mobile Vorrichtung 12 ohne Transcodierung, ein Aufrufen des standardmäßigen Transcodierers, ein Aufrufen eines anderen bestimmten Transcodierers, der durch den Verschiebeserver 42 spezifiziert wird, oder ein Verwerfen des Inhalts. Der Verschiebeserver 42 kann auch eine Transcodierer-Ersatz-Richtlinie, wie kein Transcodierer-Ersatz erlaubt, verkettete Transcodierer erlaubt, etc. in der ursprünglichen Verbindungsanforderung aufstellen, die an das IP-Proxy-System 18 gesendet wird.
  • Das IP-Proxy-System 18 kann auch feststellen, welcher, wenn vorhanden, der Transcodierer mit entsprechenden Einträgen in der Konfigurationsdatei 72 den verschobenen Inhalt entweder in den Ausgabe-Inhaltstyp des Transcodierers, der in der Verbindungsanforderung spezifiziert wird, oder in andere Inhaltstypen transcodieren kann, und derartige verfügbare Transcodierer in der Ausfall- oder Fehlermeldung identifizieren, die an den Verschiebeserver 42 gesendet wird. Der Verschiebeserver 42, die Software-Anwendung oder der Betreiber können dann diese Information verwenden, um festzustellen, ob einer der verfügbaren Transcodierer verwendet werden kann, um den verschobenen Inhalt zu transcodieren. Wenn zum Beispiel der Inhalt nicht durch den spezifizierten Transcodierer in ein Format transcodiert werden kann, das für bestimmte Verarbeitungsvorgänge an der mobilen Vorrichtung 12 erforderlich ist, aber ein zweiter Transcodierer verfügbar ist, um den zurückgesendeten Inhalt in einen Inhaltstyp zu transcodieren, der auf der mobilen Vorrichtung 12 angesehen werden kann, dann kann der Verschiebeserver 42 den Inhalt erneut senden und/oder den zweiten Transcodierer spezifizieren. Obwohl die ursprünglich vorgesehenen Verarbeitungsvorgänge nicht möglich sein können unter Verwendung des Inhalts, der unter Verwendung des zweiten Transcodierers transcodiert wurde, kann der Benutzer den Inhalt zumindest ansehen.
  • Um zu vermeiden, Verbindungsanforderungen zu senden, die nicht verfügbare Transcodierer spezifizieren, kann es wünschenswert sein für den Verschiebeserver 42, das IP-Proxy-System 18 für eine Liste von verfügbaren Transcodierern vor der Ausgabe einer Verbindungsanforderung abzufragen. Eine Verbindungsanforderung kann dann vorbereitet werden unter Verwendung eines der Transcodierer, von dem bekannt ist, dass er verfügbar ist für das IP-Proxy-System 18. Wenn ein erforderlicher Transcodierer nicht an einem IP-Proxy-System 18 verfügbar ist, dann kann der Verschiebeserver 42 andere IP-Proxy-Systeme abfragen in einem Versuch, den erforderlichen Transcodierer zu finden, eine Verbindungsanforderung vorbereiten, die einen alternativen, aber verfügbaren Transcodierer spezifiziert, oder eine Informations-Anforderungs-Operation abbrechen, die den erforderlichen Transcodierer betrifft.
  • Das Signal-Flussdiagramm der 7 zeigt einen einzelnen Inhalt-Transcodierer in einer Serverdatenverschiebung über eine HTTP-Post-Operation. Es sollte offensichtlich sein, dass ein Server mehr als einen Inhalt-Transcodierer spezifizieren kann, oder um Beispiel in einer verketteten Transcodier-Operation verwendet wird.
  • Externe Transcodierer-Systeme
  • Wie kurz oben beschrieben, können Transcodierer geladen werden, wie erforderlich, von einem lokalen Speicher auf einem Computersystem, auf dem ein IP-Proxy-System 18 implementiert wurde. Transcodierer können auch von einem externen Speicher geladen werden. 8 ist ein allgemeines Blockdiagramm eines Kommunikationssystems mit einem externen Transcodierer-System.
  • Das System 90, das in der 8 gezeigt wird, ist ähnlich zu dem System 10 der 1, außer dem externen Transcodierer-System 86. Elemente, die gemeinsam für beide Systeme 10 und 90 sind, wurden oben beschrieben. Wie durch die gestrichelten Linien in der 8 gezeigt, kann das IP-Proxy-System 84 mit dem Transcodierer-System 86 durch eine Art einer direkten Verbindung, wie eine serielle Schnittstelle oder Verbindung, durch ein WAN 16, wie dem Internet, oder durch ein LAN 88 kommunizieren, in denen das IP-Proxy-System 84 und das Transcodierer-System 86 konfiguriert sind zu arbeiten. Andere Kommunikationsverbindungen zwischen dem IP-Proxy 84 und dem Transcodierer-System 86 sind für Fachleute offensichtlich.
  • 9 ist ein Signal-Flussdiagramm, das eine HTTP-basierte Verschiebe-Operation mit einem externen Transcodierer-System darstellt, wie in der 8 gezeigt. Wie in den vorhergehenden Beispielen wird eine HTTP-Post-Anforderung von dem Verschiebeserver 42 an das IP-Proxy-System 84 gesendet und spezifiziert einen bestimmten Transcodierer (WML->WMLC) und zeigt möglicherweise den Inhaltstyp an, WML in diesem Beispiel. Die Verbindungsanforderung, die in der 9 gezeigt wird, ist nur für illustrative Zwecken und muss nicht notwendigerweise eine Inhaltstypenanzeige umfassen oder einen bestimmten Transcodierer spezifizieren.
  • Die Anforderung wird durch das Verschiebe-Dienst-Modul 93 in dem IP-Proxy-System 84 empfangen, das feststellt, dass die Anforderung eine HTTP-Anforderung und somit die HTTP Verbindungs-Handhabungsvorrichtung 94 lädt und aufruft. Die HTTP-Handhabungsvorrichtung 94 kann im Wesentlichen ähnlich zu der HTTP-Handhabungsvorrichtung 26 sein, obwohl sie etwas anders als die Handhabungsvorrichtung 26 arbeitet, um Inhalts-Transcodierer zu laden. Die HTTP-Handhabungsvorrichtung 94 empfängt die Anforderung von dem Verschiebe-Dienst-Modul 93 und kann dann an eine Transcodierer-Konfigurationsdatei 92 oder eine Verweistabelle verweisen, wie oben beschrieben, um festzustellen ob der spezifizierte WML->WMLC-Transcodierer verfügbar ist oder nicht, um einen Inhalt umzuwandeln, der als Antwort auf die Anforderung empfangen wird. Wenn kein Transcodierer in der Post-Anforderung spezifiziert wird, dann kann ein Transcodierer gewählt werden basierend auf einem Inhaltstyp, im Wesentlichen wie oben beschrieben.
  • Der WML-Inhalt in der HTTP-Post-Anforderung von dem Verschiebeserver 42 wird vorzugsweise in einem Dateisystem oder anderem Datenspeicher 98 gespeichert, der die Ressource sein kann, die durch den URI in der Anforderung identifiziert wird, während der geeignete Transcodierer geladen wird. In dem Beispiel der 9, fordert die HTTP-Handhabungsvorrichtung 94 den spezifizierten WML->WMLC-Transcodierer von dem Transcodierer-System 86 an. Obwohl diese Anforderung in der 9 gezeigt wird als eine HTTP-Anforderung von der HTTP-Handhabungsvorrichtung 94, sollte es offensichtlich sein, dass andere Übertragungsmechanismen stattdessen durch ein IP-Proxy-System 84 benutzt werden können, um einen Transcodierer von einem entfernten Transcodierer-System abzurufen. Wenn zum Beispiel das IP-Proxy-System 84 mit dem Transcodierer-System 86 über ein LAN 88 kommuniziert (8), dann kann ein LAN- Protokoll oder Datenzugriffs- und Übertragungsschema von der HTTP-Handhabungsvorrichtung 94 aufgerufen werden, um die erforderlichen Transcodierer abzurufen. Das Verschiebe-Dienst-Modul 93 in dem IP-Proxy-System 84 kann stattdessen konfiguriert werden, den spezifizierten Transcodierer von dem Transcodierer-System 86 abzurufen, möglicherweise durch eine Verbindungs-Handhabungsvorrichtung.
  • In der 9 lokalisiert das Transcodierer-System 86 den angeforderten WML->WMLC-Transcodierer unter seinen verfügbaren Transcodierern 96 und sendet den angeforderten Transcodierer an das IP-Proxy-System 84 zurück. Unabhängig von dem bestimmten implementierten Transcodierer-Übermittlungsmechanismus empfängt das IP-Proxy-System 84, oder in dem Beispiel der 9 die HTTP-Handhabungsvorrichtung 94, den zurückgegebenen WML->WMLC-Transcodierer und führt ihn aus, wie bei 100 angezeigt. Der vorher empfangene und möglicherweise gespeicherte WML-Inhalt kann dann durch den Transcodierer 100 verarbeitet werden, und der transcodierte Inhalt wird an die mobile Vorrichtung 12 durch den Dispatcher 22 zurückgesendet.
  • Wenn verkettete Transcodierer-Operationen in der Verbindungsanforderung von dem Verschiebeserver 42 spezifiziert werden, dann kann mehr als eine Transcodierer-Anforderung von dem IP-Proxy-System 84 an das Transcodierer-System 86 gemacht werden. Mehrere Transcodierer können stattdessen in einer einzelnen Anforderung an das Transcodierer-System 86 angefordert werden. Die Verarbeitung eines vorher empfangenen Inhalts für verkettete Transcodierer-Operationen kann fortfahren entweder, wenn jeder erforderliche Transcodierer durch das IP-Proxy-System 84 geladen ist, wobei der dazwischenliegende transcodierte Inhalt möglicherweise in einem Dateisystem oder Datenspeicher gespeichert wird, wie 98, oder nur, wenn alle erforderlichen Transcodierer geladen wurden.
  • Wenn eine Transcodier-Operation abgeschlossen ist, wird ein Transcodierer, der von dem externen System 86 geladen wird, vorzugsweise lokal durch das IP-Proxy-System 84 gespeichert, um nachfolgende Anforderungen an das externe Transcodierer-System 86 für denselben Transcodierer zu vermeiden. Ein Abrufen und Laden eines Transcodierers von einem lokalen oder internen Speicher in dem IP-Proxy-System 84 wird typischerweise viel schneller abgeschlossen, als eine Anforderung an ein externes System durchgeführt, und reduziert einen Verkehr auf der Kommunikationsverbindung zwischen dem IP-Proxy-System 84 und dem Transcodierer-System 86. In derartigen IP-Proxy-Systemen bestimmt vorzugsweise die aktive Verbindungs-Handhabungsvorrichtung, welche die HTTP-Handhabungsvorrichtung 94 in der 9 ist, ob ein erforderlicher Transcodierer in einem lokalen Datenspeicher gespeichert ist, bevor sie den Transcodierer von dem externen Transcodierer-System 86 anfordert. Abhängig von der Menge des verfügbaren Speichers können Transcodierer auf unbestimmte Zeit oder für einen bestimmten Zeitabschnitt gespeichert werden. Andere Speicherverwaltungsschemen, wie zum Beispiel Überschreiben von gespeicherten Transcodierern auf einer LRU-Basis, können ebenfalls verwendet werden, wenn Speicher-Ressourcen begrenzt sind.
  • Die Konfigurationsdatei 92 oder die Transcodierer-Verweistabelle können für ein externes Transcodierer-Laden angepasst werden durch Aufnahme einer Angabe der Position eines Transcodierer in der Konfigurationsdatei oder dem Tabelleneintrag für den Transcodierer. Die Datei 92 oder die Tabelle wird vorzugsweise aktualisiert, wenn ein Transcodierer in einem lokalen Speicher gespeichert oder überschrieben wird, so dass die aktive Handhabungsvorrichtung aus der anfänglichen Verweis-Operation feststellen kann, ob der Transcodierer aus dem externen Transcodierer-System 86 geladen werden muss oder nicht. Wenn ein Transcodierer nicht oder nicht mehr lokal gespeichert ist, dann zeigt die Datei 92 oder Verweistabelle vorzugsweise an, von wo der Transcodierer abgerufen werden kann. Für einen Transcodierer, der durch eine HTTP-Verbindung abgerufen werden kann, kann die entsprechende Datei oder der Tabelleneintrag die IP-Adresse des Transcodierer-Systems 86 anzeigen, während eine Netzwerkadresse in der Konfigurationsdatei oder in der Verweistabelle spezifiziert werden kann, wenn eine LAN-Verbindung verwendet wird. Wenn die Position eines Transcodierer-Systems, von dem ein spezifizierter Transcodierer verfügbar ist, dem Verschiebeserver 42 bekannt ist, dann kann die Position ebenfalls oder stattdessen in der Verbindungsanforderung von dem Verschiebeserver 42 enthalten sein.
  • Es wird auch erwogen, dass mehr als ein externes Transcodierer-System in einem Kommunikationssystem, wie 90, implementiert werden kann. In einer derartigen Anordnung, würde die Konfigurationsdatei 92 oder Verweistabelle vorzugsweise Einträge für alle Transcodierer umfassen, die für ein IP-Proxy-System 84 über alle externen Transcodierer-Systeme verfügbar sind, mit denen es kommunizieren kann. Ein IP-Proxy-System 84 kann somit Transcodierer von jedem einer Anzahl von Transcodierer-Systemen über direkte oder Netzwerk-Verbindungen herunterladen. Der gesamte Betrieb eines IP-Proxy-Systems 84 mit mehreren Transcodierer-Systemen würde im Wesentlichen wie oben beschrieben sein, außer dass auf unterschiedliche Transcodierer-Systeme zugegriffen werden kann, möglicherweise unter Verwendung unterschiedlicher Übertragungsmechanismen und Kommunikationsprotokolle, für jede Daten-Transcodier-Operation. Verkettete Transcodier-Operationen können möglicherweise auch eine Kommunikation mit unterschiedlichen Transcodierer-Systemen umfassen.
  • Die Konfigurationsdatei 92 oder Verweistabelle ist vorzugsweise ausgebildet, um ein einfaches Auflösungs-Schema zu erleichtern, wenn ein bestimmter Typ von Transcodierer von mehr als einem Transcodierer-System verfügbar ist. Obwohl ein IP-Proxy-System 84 möglicherweise auf mehrere Transcodierer-Systeme zugreifen kann, kann ein Besitzer oder Administrator eines IP-Proxy-Systems 84 eines dieser Transcodierer-Systeme als ein bevorzugtes oder standardmäßiges System bestimmen, von dem das IP-Proxy-System 84 zuerst versucht, einen Transcodierer herunterzuladen. Die Reihenfolge der Präferenz von Transcodierer-Systemen für einen Transcodierer, der von mehr als einem Transcodierer-System verfügbar ist, kann zum Beispiel in der Reihenfolge der Konfigurationsdatei oder Verweistabellen-Einträge reflektiert werden. Wenn die Datei oder Tabelle nach Transcodierer-Typ geordnet ist, dann werden die Einträge, die den bevorzugtesten Quellen für einen bestimmten Transcodierer entsprechen, vorzugsweise vor den Einträgen verzeichnet, die zu anderen Transcodierer-Systemen gehören. Die Konfigurationsdatei oder Verweistabelle können stattdessen entsprechend dem Transcodierer-System geordnet werden, wobei alle Einträge für das standardmäßige oder bevorzugte Transcodierer-System zuerst kommen. Ein bevorzugtes Transcodierer-System kann auch in einer Verbindungsanforderung von der mobilen Vorrichtung 12 spezifiziert werden. In diesen beispielhaften Anordnungen versucht ein IP-Proxy-System 84 vorzugsweise, einen bestimmten Transcodierer von einer bevorzugten Quelle zu laden, bevor es auf andere Quellen zugreift.
  • Wenn der spezifizierte Transcodierer nicht durch ein IP-Proxy-System 84 geladen werden kann, dann kann eine Fehlermeldung an den Verschiebeserver 42 zurückgesendet werden. Jede der Fehler- oder Ausfall-Operationen, die oben beschrieben werden, können durch das IP-Proxy-System 84 und den Verschiebeserver 42 durchgeführt werden, wenn der spezifizierte Transcodierer nicht verwendet werden kann, um einen empfangenen Inhalt zu transcodieren.
  • 10 zeigt ein weiteres Signal-Flussdiagramm für ein externes Transcodierer-System. In der 10 ist nicht nur das Transcodierer-System 86, sondern auch die Konfigurationsdatei 102 zu dem IP-Proxy-System 84 extern und kann somit von mehreren IP-Proxy-Systemen gemeinsam verwendet werden. Eine Kommunikation zwischen einem IP-Proxy-System 84 und der Konfigurationsdatei 102 kann über eine direkte Verbindung oder eine Netzwerkverbindung erfolgen, und kann für unterschiedliche IP-Proxy-Systeme unterschiedlich sein. Zum Beispiel kann die Konfigurationsdatei 102 von einem Besitzer oder Betreiber eines be stimmten IP-Proxy-Systems 84 unterhalten werden, das mit der Konfigurationsdatei durch eine direkte Kommunikationsverbindung verbunden ist, während andere IP-Proxy-Systeme mit der Konfigurationsdatei 102 durch lokale oder Weitbereichsnetzwerkverbindungen kommunizieren können. Die Konfigurationsdatei 102 kann auch an dem Transcodierer-System 86 unterhalten werden. Wie oben kann die Konfigurationsdatei 102 als eine Verweistabelle implementiert werden. Die Konfigurationsdatei 102 kann somit betrachtet werden als ein Register (registry), mit dem ein oder mehrere externe Transcodierer-System(e), wie 86, verfügbare Transcodierer registrieren.
  • Wenn eine eingehende Verbindungsanforderung, die einen bestimmten Transcodierer spezifiziert, von dem Verschiebe-Dienst-Modul 93 in dem IP-Proxy-System 84 empfangen wird, wird sie als eine HTTP-Anforderung erkannt und die HTTP-Handhabungsvorrichtung 94 wird durch das Verschiebe-Dienst-Modul 93 geladen und aufgerufen. Wie oben beschrieben, bestimmt die HTTP-Handhabungsvorrichtung 94, ob der spezifizierte Transcodierer in dem IP-Proxy-System 84 verfügbar ist durch Konsultieren einer Konfigurationsdatei. In dem Beispiel der 10 jedoch ist die Konfigurationsdatei 102 entfernt von dem IP-Proxy-System 84. Wenn die Konfigurationsdatei 102 über HTTP zugänglich ist, dann verwaltet die HTTP-Handhabungsvorrichtung die Transcodierer-Suchfunktion mit der Konfigurationsdatei 102. Wenn die Konfigurationsdatei 102 nicht für HTTP ausgebildet ist, dann kann eine andere Verbindungs-Handhabungsvorrichtung aufgerufen werden, um die Transcodierer-Suche oder Konfigurationsdatei-Suche zu erleichtern. Alternativ kann das Verschiebe-Dienst-Modul 93 die Transcodierer-Nachschlagen/-Suchfunktion durchführen. In dem Beispiel der 10 umfasst die Konfigurationsdatei 102 einen Eintrag für den spezifizierten WML->WMLC-Transcodierer.
  • Wie oben wird angenommen, dass der Verschiebeserver 42 einen WML-Inhalt an die mobile Vorrichtung 12 verschiebt. Das Transcodierer-System 86 in dem in der 10 gezeigten Beispiel umfasst einen Satz von entfernt ausführbaren Transcodierern 104, die einen WML->WMLC-Transcodierer 104a und einen HTML->WML-Transcodierer 104b aufweisen, und ermöglicht dadurch eine entfernte Transcodierung des Inhalts. Anstatt den WML->WMLC-Inhalt-Transcodierer 104a von dem Transcodierer-System 86 anzufordern und zu laden, überträgt die HTTP-Handhabungsvorrichtung 94, eine andere Verbindungs-Handhabungsvorrichtung, abhängig von dem bestimmten Transcodierer-System und den Übertragungsschemen, die es unterstützt, oder möglicherweise das Verschiebe-Dienst-Modul 93, den WML-Inhalt an das Transcodier-System 86. In dem Transcodier-System 86 wird der geeignete WML->WMLC-Transcodierer 104a ausgeführt und der WML-Inhalt wird in ein WMLC-Format transcodiert. Der WMLC-Inhalt wird dann an die HTTP-Handhabungsvorrichtung 94 oder eine andere Verbindungs-Handhabungsvorrichtung zurückgesendet, wenn die Kommunikation von dem IP-Proxy-System 84 an das Transcodierer-System 86 kein HTTP verwendet. Wenn der WMLC-Inhalt durch das Transcodier-System 86 zurückgesendet wird und von der HTTP-Handhabungsvorrichtung 94 empfangen wird, möglicherweise durch eine andere Verbindungs-Handhabungsvorrichtung und/oder das Verschiebe-Dienst-Modul 93, wird er an den Dispatcher 22 weitergeleitet. Der Dispatcher 22 bereitet dann eine Nachricht vor, einschließlich des WMLC-Inhalts, und sendet die Nachricht an die mobile Vorrichtung 12. Die HTTP-Handhabungsvorrichtung 94 kann stattdessen eine Nachricht zur Übertragung an die mobile Vorrichtung 12 vorbereiten, die dann (wenn notwendig) von dem Dispatcher 22 übersetzt wird, um zu dem Kommunikationsprotokoll oder -Schema zu passen, das von der mobilen Vorrichtung 12 verwendet wird.
  • Illustrativ kann der WML-Inhalt von dem Verschiebeserver 42 von der HTTP-Handhabungsvorrichtung 94 gespeichert werden, falls ein Datenübertragungs- oder Transcodier-Fehler auftritt. Eine lokale Speicherung des WML-Inhalts ermöglicht einem IP-Proxy-System 84, den Inhalt erneut zu senden, entweder an dasselbe Transcodierer-System 86 oder an ein anderes Transcodierer-System.
  • Wenn eine Verschiebe-Operation über eine HTTP-Post-Anforderung erreicht wird, wie in 10 gezeigt, kann der verschobene Inhalt für das IP-Proxy-System 84 von der Ressource verfügbar sein, an die der Inhalt gepostet wird.
  • Wenn der Inhalt in der Verbindungsanforderung von dem Verschiebeserver 42 ein HTML-Inhalt ist, dann senden die HTTP-Handhabungsvorrichtung 94 oder das Verschiebe-Dienst-Modul 93, durch eine andere Handhabungsvorrichtung, wenn erforderlich, den HTML-Inhalt an das Transcodierer-System 86 für eine verkettete Transcodierung unter Verwendung sowohl des HTML->WML-Transcodierers 104b als auch dann des WML->WMLC-Transcodierers 104a. Derartige verkettete Transcodierungs-Operationen können auch durch den Verschiebeserver 42 in der Verbindungsanforderung spezifiziert werden. Verkettete Transcodierer können entweder ein Teil desselben Transcodier-Systems 86 sein, wie in 10 gezeigt, oder in anderen Transcodierer-Systemen implementiert werden. Wenn eine verkettete Transcodierungs-Operation unterschiedliche Transcodierer-Systeme umfasst, kann ein Inhalt von einer Informationsquelle zuerst an ein Transcodierer-System übertragen werden zum Transcodieren in einen dazwischenliegenden Inhaltstyp, der an das IP-Proxy-System 84 zurückgesendet wird, und der dazwischenliegende Inhaltstyp kann dann an ein weiteres Transcodierer-System gesendet werden zum Transcodieren unter Verwendung des spezifizierten Transcodierers oder eines anderen Zwischen-Transcodierers in einer Transcodierer-Kette. Ein Inhalt wird vorzugsweise zwischen unterschiedlichen Transcodier-Systemen über das IP-Proxy-System 84 weitergeleitet, das die Verbindungsanforderung verarbeitet, aber er kann stattdessen von einem Transcodierer-System an ein anderes direkt übertragen werden, wenn kompatible Datenübertragungsmechanismen in jedem Transcodier-System implementiert wurden.
  • Datenanforderungsfehler oder -ausfälle, wie Transcodierer-Fehler oder andere Situationen, in denen ein spezifizierter Transcodierer nicht verfügbar ist, können gemäß einem der Schemen gehandhabt werden, die oben beschrieben werden, möglicherweise einschließlich derartiger weiterer Operationen wie eine Verwendung eines anderen Transcodierers, um einen Inhalt zu transcodieren, Zurücksenden einer Fehlermeldung an den Verschiebeserver 42 und Steuern einer nachfolgenden Verarbeitung einer Anforderung oder eines Inhalts von dem Verschiebeserver 42.
  • Zusätzlich kann ein Verschiebeserver, wie 42, eine externe Konfigurationsdatei konsultieren, um festzustellen, welche Transcodierer für ein IP-Proxy-System 84 verfügbar sind, bevor eine Verschiebeanforderung eingereicht wird. Wenn ein erforderlicher Typ von Transcodierer nicht verfügbar ist, kann der Verschiebeserver 42 bestimmen, ob eine andere Transcodierer-Operation, einschließlich verkettete Transcodierer-Operationen, für die Verschiebeanforderung und eine vorgesehene mobile Empfangsvorrichtung 12 geeignet ist, und formatiert die Verschiebeanforderung demgemäß, wodurch möglicherweise Ausfälle oder Fehler an dem IP-Proxy-System 84 vermieden werden. Wie oben beschrieben, kann die Konfigurationsdatei 102 ein Register sein mit Einträgen für Transcodierer, die von einem oder mehreren Transcodierer-Systemen verfügbar sind. Wenn Einträge in der Konfigurationsdatei 102 eine Adresse, wie eine IP-Adresse, oder einen anderen Identifizierer eines Transcodierer-Systems umfassen, von dem ein bestimmter Transcodierer verfügbar ist, dann kann die Adresse an ein IP-Proxy-System 84 durch einen Verschiebeserver 42 in einer Verschiebeanforderung geliefert werden. Zumindest einige Transcodierer-Suchoperationen können dadurch von IP-Proxy-Systemen 84 an Verschiebeserver 42 verlagert werden.
  • In dem System der 10 wird erwogen, dass das Transcodierer-System 86 und die Konfigurationsdatei 102 miteinander kommunizieren, um sicherzustellen, dass die Konfigurationsdatei 102 genau anzeigt, welche Transcodierer verfügbar sind. Eine Konfigurationsdatei kann zu einem bestimmten Typ von Verbindung gehören, wie HTTP-Verbindungen und folglich HTTP-Verbindungs-Handhabungsvorrichtungen. Wenn eine Konfigurationsdatei 102 zu einem be stimmten Transcodierer-System 86 gehört, dann kann die Konfigurationsdatei resident in dem Transcodier-System 86 sein.
  • Wenn mehrere Transcodier-Systeme implementiert werden, kann eine gemeinsame Konfigurationsdatei, die Transcodierer-Einträge für die Transcodierer speichert, die in allen Transcodierer-Systemen verfügbar sind, die Transcodierer-Suche vereinfachen, die von einer Verbindungs-Handhabungsvorrichtung durchgeführt wird. Ein IP-Proxy-System 84 oder Verschiebeserver 42 muss dann nur eine einzelne Konfigurationsdatei konsultieren, um festzustellen, ob geeignete Transcodierer von den Transcodierer-Systemen verfügbar sind, mit denen es/er kommunizieren kann. Diese einzelne Konfigurationsdatei/Server kann auch Protokolle unterstützen, um externen Transcodier-Servern eine Registrierung zu ermöglichen. Ein Registrierungsprozess kann zum Beispiel eine Liste von verfügbaren Transcodierern zu der einzelnen Konfigurationsdatei hinzufügen.
  • Ein externes Transcodier-System 86 unterstützt vorzugsweise eine Abfrage-Funktion, um einem Verschiebeserver 42 zu ermöglichen, zu bestimmen, welche Transcodierer verfügbar sind, bevor eine Verbindungsanforderung vorbereitet wird und an ein IP-Proxy-System 84 gesendet wird. Transcodierer können auch zu dem Transcodierer-System 86 und der Konfigurationsdatei 102 hinzugefügt werden. Ein Verschiebeserver 42 kann einen Transcodierer zu dem Transcodier-System 86 hinzufügen und einen Inhalt, der auf dem neuen Transcodierer beruht, an mobile Vorrichtungen, wie die mobile Vorrichtung 12, durch das IP-Proxy-System 84 verschieben.
  • Externe Transcodierer-Systeme 86 umfassen Herunterladen-Systeme, von denen Transcodierer durch ein IP-Proxy-System 84 heruntergeladen werden können und lokal ausgeführt werden können, wie in der 9 gezeigt, und entfernte Transcodierer-Systeme, an die ein Inhalt für das Transcodieren an dem Transcodier- System gesendet wird, wie in der 10 gezeigt. In einem anderen Ausführungsbeispiel umfasst ein „hybrides" Transcodierer-System beide dieser Typen von Transcodierer-Systemen. Wenn ein hybrides Transcodierer-System für ein IP-Proxy-System 84 verfügbar ist, kann das IP-Proxy-System 84 entweder einen erforderlichen Transcodierer von dem Transcodierer-System herunterladen oder einen Inhalt an das Transcodierer-System senden, damit er entfernt transcodiert wird. Alternativ, wenn der Verschiebeserver 42 den Inhaltstyp oder das Transcodierer kennt, der für eine Information verwendet werden soll, die an die mobile Vorrichtung 12 zu senden ist, dann kann der Verschiebeserver 42 selbst einen Transcodierer von einem externen Transcodier-System herunterladen oder einen Inhalt zum Transcodieren an das externe Transcodier-System senden und den transcodierten Inhalt in der Verbindungsanforderung aufnehmen. Dies verlegt ein Transcodieren von einem IP-Proxy-System 84 zu einem Verschiebeserver 42 und führt eine Informations-Verschiebe-Operation unabhängig von Transcodierern durch, die für ein IP-Proxy-System 84 verfügbar sind. Dieses Konzept einer Verschiebeserver-Transcodierung kann weiter erweitert werden, um ein Herunterladen eines Transcodierers von einem IP-Proxy-System 84 und eine lokale Ausführung des Transcodierers auf einem Verschiebeserver 42 zu umfassen.
  • Die Auswahl eines Transcodierer-Downloads oder eine entfernte Transcodierung kann zum Beispiel abhängig sein von der Menge von zu transcodierenden Daten, der Komplexität der Transcodierung (einzelne oder verkettete Operationen), eines Typs einer Transcodierung, der in einer Verbindungsanforderung spezifiziert wird, oder anderen Kriterien. Ähnlich können verkettete Transcodierungs-Operationen herunterladende Transcodier-Systeme und eine lokale Transcodierer-Ausführung sowie entfernte Transcodier-Systeme umfassen.
  • Externe Transcodier-Systeme können auch derartige Dienste, wie ein Transcodierer-Herunterladen oder eine entfernte Transcodierung für einen Verschiebeserver, wie 42, unterstützen. Ein Verschiebeserver 42 kann konfiguriert sein, um ein Transcodieren des Informationsinhalts zu handhaben, bevor der Informationsinhalt an die mobile Vorrichtung 12 verschoben wird. In der 10 kann zum Beispiel der Verschiebeserver 42 die Konfigurationsdatei 102 konsultieren, um zu bestimmen, ob ein geeigneter Transcodierer, ein WML->WMLC-Transcodierer, in einem Transcodierer-System verfügbar ist. Da das Transcodierer-System 86 einen WML->WMLC-Transcodierer 104a umfasst, umfasst die Konfigurationsdatei 102 einen Eintrag für den Transcodierer 104a und möglicherweise eine Angabe einer Adresse, wie zum Beispiel eine URL oder eine LP-Adresse, von welcher der Transcodierer verfügbar ist. In der 10 ist das Transcodierer-System 86 ein entferntes Transcodier-System, so dass der Verschiebeserver 42 den zu transcodierenden Informationsinhalt an das Transcodierer-System 86 senden kann. Der Verschiebeserver 42 kann folglich eine Verbindungs-Handhabungsvorrichtung enthalten, die eine Kommunikation mit dem Transcodierer-System 86 ermöglicht. Ein transcodierter WMLC-Inhalt von dem Transcodierer 104a wird dann an den Verschiebeserver 42 zurückgesendet. Der Verschiebeserver 42 speichert vorzugsweise den transcodierten Inhalt in einem lokalen oder entfernten Datenspeicher in einem Cache, der durch den Verschiebeserver 42 zugänglich ist. Der gespeicherte transcodierte WMLC-Inhalt kann dann von dem Datenspeicher abgerufen werden und an eine mobile Vorrichtung 12 durch das IP-Proxy-System 84 verschoben werden. Ein Verschiebeanforderung von dem Verschiebeserver 42 umfasst vorzugsweise eine Anzeige, dass der Informationsinhalt, der an die mobile Vorrichtung 12 verschoben werden soll, bereits in einen Inhaltstyp transcodiert wurde, für den die mobile Vorrichtung zu akzeptieren konfiguriert ist. Da der Informationsinhalt in einer derartigen Verschiebeanforderung transcodiert wurde, wird er an die mobile Vorrichtung 12 durch das Verschiebe-Dienst-Modul 93, durch eine Verbindungs-Handhabungsvorrichtung, wie die HTTP-Handhabungsvorrichtung 94, wenn erforderlich, und den Dispatcher 22 weitergeleitet.
  • Obwohl ein „vor-Transcodieren" durch einen Verschiebeserver oben in dem Kontext eines entfernten Transcodier-Systems beschrieben wurde, sollte angemerkt werden, dass der Informationsinhalt stattdessen lokal transcodiert werden kann durch einen Verschiebeserver 42 unter Verwendung eines herunterladenden Transcodier-Systems oder eines Transcodier-Systems, das von dem Verschiebeserver 42 vorgesehen wird.
  • Beispielhafte Implementierung
  • Eine beispielhafte Implementierung eines IP-Proxy-Systems wird nun beschrieben. 11 ist ein Blockdiagramm, das ein IP-Proxy-System 124 zeigt, das in einem sicheren Netzwerk implementiert ist.
  • Das System 120 in der 11 umfasst eine mobile Vorrichtung 12, die in einem drahtlosen Netzwerkes 14 arbeitet. Durch ein Gateway 15 kann die mobile Vorrichtung Daten über ein WAN 16, wie dem Internet, empfangen und vorzugsweise auch senden. Diese Elemente des Systems 120 sind im Wesentlichen dieselben wie ähnlich bezeichnete Elemente in der 1. Im System 120 ist jedoch das IP-Proxy-System 124 in einem privaten Netzwerk konfiguriert, wie ein Firmennetzwerk 130, hinter einer Sicherheits-Firewall 127 und kommuniziert mit dem Gateway 15 durch einen Netzwerkservercomputer 122. In einem bestimmten beispielhaften Ausführungsbeispiel gehört der Netzwerkserver 122 zu einem Email-System 128. Zwei Informationsquellen, ein interner Verschiebeserver 126 und eine externe Informationsquelle 132, werden ebenfalls in der 11 gezeigt.
  • Der Netzwerkserver 122 ermöglicht vorzugsweise eine sichere Kommunikation mit der mobilen Vorrichtung 12, wie durch die Verschlüsselungs- und Entschlüsselungsblöcke 122a und 122b angezeigt wird. Der Netzwerkserver 122 verschlüsselt die gesamte Kommunikation, die an eine mobile Vorrichtung 12 gerichtet ist. Die vorgesehene mobile Empfängervorrichtung 12 kann unter Verwendung eines darin gespeicherten geheimen Schlüssels eine verschlüsselte Kommunikation von dem Netzwerkserver 122 entschlüsseln. Eine mobile Vorrichtung 12 verschlüsselt ähnlich alle Information, die an den Netzwerkserver 122 gesendet wird, die durch das Entschlüsselungsmodul 122b entschlüsselt werden kann. Für Fachleute der Kryptographie ist offensichtlich, dass die Schlüssel und die Verschlüsselungsalgorithmen, die an dem Netzwerkserver 122 und der mobilen Vorrichtung 12 verwendet werden, vorzugsweise derart gewählt werden, dass es rechnerisch unmöglich ist, eine verschlüsselte Information ohne den erforderlichen geheimen Schlüssel zu entschlüsseln. Ein bevorzugte Verschlüsselungsschema ist Triple-DES (Date Encryption Standard).
  • Eine Schlüsselverteilung zwischen einem Netzwerkserver 122 und einer mobilen Vorrichtung 12 kann über eine sichere Verbindung, wie eine sichere physikalische Verbindung zwischen der mobilen Vorrichtung 12 und dem Netzwerkserver 122 oder zwischen der mobilen Vorrichtung 12 und einem anderen Computer in dem Firmennetzwerk, erreicht werden. Bekannte Kryptographie-Techniken mit öffentlichem Schlüssel können stattdessen für eine Schlüsselverteilung verwendet werden. In einem öffentlichen Schlüssel-Schema wird ein öffentlicher Schlüssel verwendet, um eine Information derart zu verschlüsseln, dass die verschlüsselte Information unter Verwendung eines entsprechenden privaten Schlüssels entschlüsselt werden kann. Der öffentliche Schlüssel wird durch ein öffentlich zugängliches Schlüsseldepot, das allgemein als eine Zertifikatsautorität oder CA (Certificate Authority) bezeichnet wird, gespeichert und kann daraus abgerufen werden, während der private Schlüssel nur an einer mobilen Vorrichtung oder an einem System gespeichert wird, zu der/dem der öffentliche Schlüssel gehört. So kann ein Netzwerkserver 122 oder jeder andere Sender, der eine verschlüsselte Information an eine mobile Vorrichtung 12 senden möchte, den öffentlichen Schlüssel der mobilen Vorrichtung von einer CA abrufen und den öffentlichen Schlüssel verwenden, um die Information zu verschlüsseln, die für die mobile Vorrichtung 12 bestimmt ist. Eine mobile Vorrichtung 12 kann ähnlich den öffentlichen Schlüssel eines Netzwerkservers von einer CA erlangen und den öffentlichen Schlüssel verwenden, um Kommunikationssignale zu verschlüsseln, die an den Server gesendet werden sollen.
  • Unabhängig von dem bestimmten verwendeten Schlüsselverteilungsschema und den Verschlüsselungstechniken kann eine verschlüsselte Kommunikation zwischen einer mobilen Vorrichtung 12 und einem Netzwerkserver 122 zum Beispiel verwendet werden, wo auf eine Firmen- oder andere private Information zugegriffen werden soll unter Verwendung einer mobilen Vorrichtung 12. Es wird das Beispiel des internen Verschiebeservers 126 innerhalb der Sicherheits-Firewall 127 betrachtet, das unten unter Bezugnahme auf 12 beschrieben wird. 12 ist ein Signal-Flussdiagramm, das eine Firmen-Daten-Verschiebe-Operation darstellt. In Übereinstimmung mit den obigen illustrativen Beispieloperationen zeigt 12 eine HTTP-basierte Daten-Verschiebe-Operation.
  • In der 12 wird eine HTTP-Post-Anforderung von dem internen Verschiebeserver 126 durch das Verschiebe-Dienst-Modul 30 empfangen und als eine HTTP-Anforderung erkannt. Das Verschiebe-Dienst-Modul 30 lädt in diesem Beispiel die HTTP-Handhabungsvorrichtung 26 und ruft sie auf, die dann die Konfigurationsdatei 72 oder die Transcodierer-Verweistabelle konsultiert, um zu bestimmen, ob ein Transcodierer verfügbar ist, um den empfangenen WML-Inhalt in ein für die Vorrichtung akzeptables Format zu transcodieren. Wie oben beschrieben, kann ein geeigneter Transcodierer durch das IP-Proxy-System 124 gewählt werden oder in der Anforderung von dem Verschiebeserver 126 spezifiziert werden. In der 12 wird der WML->WMLC-Transcodierer 74 geladen und aufgerufen durch die HTTP-Handhabungsvorrichtung 26 und der transcodierte Inhalt wird an den Netzwerkserver 122 durch den Dispatcher 22 weitergeleitet. Der Netzwerkserver 122 verschlüsselt dann den Inhalt, der von dem IP-Proxy-System 124 empfangen wurde, in seinem Verschlüsselungsmodul 122a und sendet den verschlüsselten Inhalt an die mobile Vorrichtung 12.
  • In einigen Implementierungen können die Protokollkonvertierungs- oder Übersetzungsverfahren, die mit dem Dispatcher 22 verbunden sind, stattdessen durch den Netzwerkserver 122 durchgeführt werden. In einem alternativen Ausführungsbeispiel kann eine IP-Proxy-System-Funktionalität in einem Netzwerkserver 122 aufgenommen werden, um dadurch einen Netzwerkserver vorzusehen, der einen Zugriff auf Netzwerk-Ressourcen unter Verwendung einer mobilen Vorrichtung 12 ermöglicht. In einem anderen Ausführungsbeispiel kann ein IP-Proxy-System 124 Verschlüsselungs-/Entschlüsselungs- und Kommunikations-Funktionen des Netzwerkservers 122 enthalten, um mit dem drahtlosen Netzwerk-Gateway 15 (11) und somit mobilen Vorrichtungen, wie 12, zu kommunizieren.
  • Der interne Verschiebeserver 126 kann mit einem Computersystem oder Datenspeicher verbunden sein, der vorzugsweise konfiguriert ist für einen Betrieb auf dem privaten Netzwerk 130, wie ein Dateiserver oder ein anderer Datenspeicher, der durch das Netzwerk 130 zugänglich ist. In dem Beispiel eines Firmennetzwerks kann die Informationsquelle 126 eine vertrauliche oder andere empfindliche Information umfassen, die ein Inhaber des Netzwerkes 130 privat halten möchte. Die Sicherheits-Firewall 127 soll einen nicht autorisierten Zugang zu privaten Netzwerkkomponenten verhindern, einschließlich zu der Informationsquelle 126. In einigen Situationen muss die bloße Existenz einer Information, die an der Informationsquelle gespeichert ist, vertraulich bleiben. Die Verschlüsselung des Inhalts, der an die mobile Vorrichtung 12 gesendet wird, wie in 12 gezeigt, verhindert, dass ein nicht autorisierter Teilnehmer den Inhalt der Anforderung bestimmen kann, ohne die Verschlüsselung zu „knacken", das, wie oben beschrieben, rechnerisch nicht durchführbar ist für starke Verschlüsselungsschemen, wie 3DES.
  • Eine Verschlüsselung des verschobenen Inhalts durch das Verschlüsselungsmodul 122a in dem Netzwerkserver 122, bevor er an die mobile Vorrichtung 12 gesendet wird, stellt sicher, dass der Inhalt nur durch die mobile Vorrichtung 12 angesehen werden kann. Eine vertrauliche Firmeninformation bleibt folglich verschlüsselt und somit sicher, bis sie an der mobilen Vorrichtung 12 empfangen und entschlüsselt wird, wodurch effektiv der Sicherheits-Firewall 127 auf die mobile Vorrichtung 12 erweitert wird. Eine Information, die durch die mobile Vorrichtung 12 an den Netzwerkserver 122 gesendet wird, wird ähnlich durch die mobile Vorrichtung 12 verschlüsselt und bleibt verschlüsselt, bis sie entschlüsselt wird durch das Entschlüsselungsmodul 122b. Zum Beispiel kann eine HTTP-Get-Anforderung auf der mobilen Vorrichtung 12 vorbereitet werden, und dann verschlüsselt und gesendet werden von der mobilen Vorrichtung 12 an den Netzwerkserver 122, um eine Information anzufordern, die sich auf einer Informationsquelle in dem Firmennetzwerk 130 befindet. Die Anforderung bleibt verschlüsselt, bis sie von dem Netzwerkserver 122 empfangen wird und hinter der Sicherheits-Firewall 127 entschlüsselt wird, wie durch 134 in der 12 gezeigt wird. Die Anforderung ist folglich im Grunde genommen so sicher wie eine Anforderung, die von einem Computersystem in dem Netzwerk 130 gesendet wird.
  • Sobald entschlüsselt, wird die Anforderung an die HTTP-Handhabungsvorrichtung 26 geleitet, welche die Information von der geeigneten Quelle anfordert. Eine zurückgesendete Information wird transcodiert, wenn erforderlich, an den Dispatcher 22 geleitet, verschlüsselt durch das Verschlüsselungsmodul 122a und zurück an die mobile Vorrichtung 12 gesendet. Sowohl die Anforderung als auch die Information, die an die mobile Vorrichtung 12 als Antwort darauf zurückgesendet wird, sind sicher.
  • In bekannten entfernten Datenzugriffsschemen, wie WAP, befinden sich Gateway-Systeme, die einen Datenzugang unter Verwendung von mobilen Vorrichtungen 12 vorsehen, außerhalb von Firmen- oder privaten Örtlichkeiten, zum Bei spiel an dem Ort des Diensteanbieters. Eine vertrauliche oder empfindliche Information, die an den privaten Örtlichkeiten verschlüsselt wird, wird an dem Gateway-System außerhalb der Firmen-Firewall entschlüsselt und dann erneut verschlüsselt, bevor sie an die mobile Ziel-Vorrichtung oder Vorrichtungen 12 gesendet wird. Die Information ist folglich offen bzw. unverschlüsselt (in the clear) an dem Gateway-System und folglich zugänglich durch einen Inhaber oder Betreiber des Gateway-Systems. Außerdem hat der Inhaber oder Betreiber eines privaten Netzwerkes, von dem die Information gesendet wurde, typischerweise keine Kontrolle über Sicherheitsanordnungen an dem Gateway-System, so dass die Information für Angriffe auf das Gateway-System verletzlich ist.
  • Die Anordnung, die in den 11 und 12 gezeigt wird, sieht einen sicheren entfernten Zugriff auf eine private, vertrauliche oder anderweitig empfindliche Information vor. Eine Information wird von Ende zu Ende zwischen dem Netzwerkserver 122 und jeder mobilen Vorrichtung 12 verschlüsselt. Jeder Grad an Sicherheit kann an der Sicherheits-Firewall 127 implementiert werden, um eine vertrauliche Information zu schützen, die an einem internen Verschiebeserver, wie 128, oder anderen internen Informationsquellen gespeichert ist, und wenn sie durch den Netzwerkserver 122 verschlüsselt wird, wird eine Information nicht an irgendeinem Zwischenpunkt entschlüsselt, bevor sie an einer mobilen Vorrichtung 12 empfangen wird. Die Information ist offen nur „innerhalb" des Punkts 134, hinter der Sicherheits-Firewall 127, und auf der mobilen Vorrichtung 12. Sicherheitsanordnungen, wie Passwort- oder Passphrasen-Steuerung, werden ebenfalls vorzugsweise an der mobilen Vorrichtung 12 implementiert, um zu verhindern, dass ein nicht autorisierter Benutzer die mobile Vorrichtung verwendet oder eine empfangene verschlüsselte Information entschlüsselt. Zum Beispiel können Computerworkstationen durch eine Passwort-deaktivierte Systemsperre geschützt werden und ein Zugang zu einem Firmennetzwerk 130 wird normalerweise durch Login- bzw. Anmelde-Passwörter geschützt. Ähnlich kann ein Passwort erforderlich sein, um eine mobile Vorrichtung 12 zu benutzen, während eine andere Passphrase erforderlich sein kann, um eine verschlüsselte Information zu entschlüsseln, die auf der mobilen Vorrichtung gespeichert ist. Eine mobile Vorrichtung 12 und darauf gespeicherte Information sind dadurch so sicher wie eine Netzwerkworkstation und eine Information, die auf einem Netzwerk gespeichert ist. Derartige Techniken, wie begrenzte Passwort- oder Passphrasen-Eingabewiederholungen, Zurücksetzen der mobilen Vorrichtung 12 oder des Speichers der mobilen Vorrichtung nach einer vorbestimmten Anzahl von fehlerhaften Passwort/Passphrasen-Eingaben, dynamische und möglicherweise zufällige Passwort-/Passphrasen-Aktualisierungen und Ähnliches können verwendet werden, um eine Sicherheit der mobile Vorrichtung weiter zu verbessern.
  • Für eine externe Informationsquelle 132 (11) ist eine Daten-Verschiebeoperation im Wesentlichen dieselbe, wie in 12 gezeigt, außer dass die Informationsquelle außerhalb der Firewall 127 ist. Es sollte angemerkt werden, dass jede Informationsquelle konfiguriert werden kann, um eine Information in Erwiderung auf eine Anforderung von einem IP-Proxy-System 124 vorzusehen, Information an eine mobile Vorrichtung durch ein IP-Proxy-System 124 zu verschieben, oder möglicherweise beide Funktionen durchzuführen. Jeder Informationsaustausch zwischen der mobilen Vorrichtung 12 und dem Netzwerkserver 122 kann verschlüsselt sein, aber eine Information, die mit der Informationsquelle 132 austauscht wird, kann unsicher sein. Wenn die Information, die von der Informationsquelle 132 geliefert wird, nicht privat oder vertraulich ist, dann ist ein unsicherer Austausch zwischen dem IP-Proxy-System 124 und der Quelle 132 für die meisten Zwecken ausreichend. Wenn jedoch die externe Quelle 132 eine private Information liefert, dann werden alternative Anordnungen vorzugsweise vorgesehen.
  • Eine mögliche Maßnahme, um die Sicherheit der Information zu verbessern, die von einer externen Quelle 132 angefordert wird, ist, die Kommunikation zwischen dem IP-Proxy-System 124 und der Quelle 132 zu sichern. Zum Beispiel kann das IP-Proxy-System 124 angepasst werden, um sicheres HTTP (HTTPS – Secure HTTP), SSL (Secure Socket Layer) oder andere sichere Kommunikationsschemen zu unterstützen, um sicher auf Information an der Informationsquelle 132 zuzugreifen. Eine Information von der Quelle 132 kann dadurch sicher auf das IP-Proxy-System 124 übertragen werden und wird dann durch die Sicherheits-Firewall 127 geschützt. Eine verschlüsselte Information kann durch das IP-Proxy-System 124 entschlüsselt werden, durch die aktive Verbindungs-Handhabungsvorrichtung zum Beispiel, und an den Netzwerkserver 122 übermittelt werden, der dann die Information zur Übertragung an die mobile Vorrichtung 12 verschlüsselt. Wie oben, ist Information nur hinter der Firewall 127 offen. Alternativ kann eine sichere Kommunikationssitzung zwischen der mobilen Vorrichtung 12 und der Quelle 132 durch das IP-Proxy-System 124 hergestellt werden. In dem System der 11 wird dann eine Kommunikation zwischen der mobilen Vorrichtung 12 und dem Netzwerkserver 122 doppelt verschlüsselt.
  • Wie in 11 gezeigt, ist der Netzwerkserver 122 auch mit dem Email-System 128 verbunden. In einem Ausführungsbeispiel sieht der Netzwerkserver 122 eine Um- bzw. Weiterleitung der Datenelemente von dem Email-System 128 an die mobile Vorrichtung 12 vor. Ein derartiges System wird detailliert in dem U.S.-Patent 6,219,694 beschrieben, mit dem Titel „System And Method For Pushing Information From A Host System To A Mobile Data Communication Device Having A Shared Electronic Adress" und der Anmelderin der vorliegenden Anmeldung am 17. April 2001 erteilt. Die vollständige Offenbarung dieses Patents wird hiermit in diese Anmeldung durch Bezugnahme aufgenommen.
  • Da der Netzwerkserver 122 auch verbunden ist mit dem IP-Proxy-System 124, kann eine integrierte Funktionalität zwischen dem Email-System 128 und dem IP-Proxy-System 124 möglich sein. Zum Beispiel kann das IP-Proxy-System 124 eine Verschlüsselungsfunktionalität des Netzwerkservers 122 sowie einen Transportmechanismus verwenden, über den der Netzwerkserver 122 mit der mobilen Vorrichtung 12 kommuniziert. Andere Funktionen des Netzwerkservers 122, wie Datenkomprimierung zum Beispiel, können ähnlich durch ein IP-Proxy-System 124 ausgenutzt werden, um die Leistungsfähigkeit der Verwendung von drahtlosen Kommunikations-Ressourcen zu verbessern.
  • Ähnlich kann ein Inhalt, der für eine mobile Vorrichtung 12 bestimmt ist, an die mobile Vorrichtung unter Verwendung einer Email-Adresse in dem Email-System 128 adressiert werden, die zu dem Benutzer der mobilen Vorrichtung gehört. In diesem Beispiel kann ein Inhalt, der an die mobile Vorrichtung 12 durch das IP-Proxy-System 124 weitergeleitet wird, ebenso in der Mailbox des Benutzers auf dem Email-System 128 durch den Netzwerkserver 122 gespeichert werden, wie in der 11 gezeigt, um dadurch sowohl einen Datensatz der IP-Proxy-System-Operationen als auch eine gespeicherte Kopie eines weitergeleiteten Inhalts vorzusehen. Andere integrierte Funktionen können Email-basierte Inhalts-Anforderungen von mobilen Vorrichtungen und Adressierung einer für die Vorrichtung bestimmten Information durch das IP-Proxy-System 124 unter Verwendung einer Email-Adresse auf dem Email-System 128 umfassen, sind aber keinesfalls darauf begrenzt. Weitere integrierte Funktionen können aktiviert werden, wenn ein Netzwerkserver 122 oder das IP-Proxy-System 124 zu anderen Diensten gehören.
  • Es ist offensichtlich, dass die obige Beschreibung beispielhafte Ausführungsbeispiele nur auf beispielhafte Weise betrifft. Andere Variationen existieren und befinden sich in dem Umfang der Erfindung. Zum Beispiel wurden Ausführungsbeispiele der Erfindung hauptsächlich in dem Kontext eines LP-basierten Systems beschrieben. Ähnliche Proxy-Systeme für andere Typen von Kommunikationssystemen werden ebenfalls in dem Umfang der Erfindung erwogen. Andere Typen von Verbindungen, Verbindungs-Handhabungsvorrichtungen und Transcodierern als die, die oben beschrieben werden, sind ebenfalls für Fachleute offensichtlich.
  • Abhängig von der bestimmten Implementierung eines entfernten Datenzugriffssystems und den zu unterstützenden Merkmalen, sind nicht alle Elemente erforderlich, die in der 2 gezeigt werden.
  • Die vorliegende Erfindung ist auch keineswegs begrenzt auf eine Anzeige der Inhaltstypen unter Verwendung von MIME-Typen. MIME-Typen sind in Verbindung mit der vorliegenden Erfindung nützlich, sind aber nicht erforderlich, um die Erfindung auszuführen. Andere Inhaltstyp-Anzeiger können für den MIME-Typ ersetzt werden, um den Typ oder das Format eines angeforderten oder empfangenen Inhalts anzuzeigen.
  • Obwohl die oben beschriebenen Transcodierer zwischen weithin bekannten Informationstypen oder -formaten konvertieren, können kundenspezifische Transcodierer entwickelt und implementiert werden für praktisch jedes Informationsformat, einschließlich zum Beispiel Anwendungsprogramm-Dateitypen und proprietäre Formate. Wie oben beschrieben, ist ein Proxy-System gemäß der vorliegenden Erfindung vorzugsweise konfigurierbar und neue Inhalts-Transcodierer können hinzugefügt werden.
  • Es ist auch möglich, dass ein Informationsinhalt von einer Informationsquelle mehrere unterschiedliche Inhaltstypen umfassen kann, nicht nur einen einzelnen Inhaltstyp, wie oben beschrieben. Für einen derartigen Mehrfach-Typ-Inhalt können Transcodierer gewählt werden, zum Beispiel, um den Inhalt in einen einzelnen Inhaltstyp oder in mehrere Inhaltstypen zu transcodieren, die an einer mobilen Vorrichtung akzeptiert werden. Eine Auswahl von Transcodierern kann gesteuert werden gemäß einem der oben beschriebenen Transcodierer-Auswahlschemen. In dem Fall der Transcodierer-Auswahl durch eine mobile Vorrichtung oder eine Informationsquelle, kann eine Liste von Transcodierern für einen oder jeden Teil des Mehrfach-Typ-Informationstypinhalts in einer Verbindungsanforderung, einer Antwort auf eine Anforderung oder einer Verschiebeanforderung spezifiziert werden. Ein jeweiliger Transcodierer kann für jeden Teil des Informationsinhalts gewählt und verwendet werden, der einen bestimmte Inhaltstyp hat. Ein Verschiebeserver kann stattdessen einen oder alle Teile des Mehrfachtyp-Informationsinhalts transcodieren, bevor ein solcher Inhalt an eine mobile Vorrichtung verschoben wird.
  • Wenn ein Teil des Mehrfachtyp-Informationsinhalts nicht transcodiert werden kann, wie gewünscht oder erforderlich, wenn zum Beispiel kein geeigneter Transcodierer verfügbar ist, können nur andere Teile des Informationsinhalts transcodiert werden und an eine mobile Vorrichtung gesendet werden. Alternativ kann eine standardmäßige Transcodier-Operation, wie oben beschrieben, verwendet werden, um Teile eines Mehrfachtyp-Inhalt zu transcodieren. Nicht transcodierte Teile eines Mehrfachtyp-Inhalts oder möglicherweise der gesamte Mehrfachtyp-Inhalt können stattdessen ersetzt werden mit einer Verbindung (link) oder einer anderen Information, die verwendet werden kann, um nachfolgend auf den Informationsinhalt oder Teile davon zuzugreifen, und an eine mobile Vorrichtung gesendet werden. Eine Information, welche die Mehrfachinhaltstypen und/oder erforderliche oder empfohlene Transcodierer anzeigen, können ebenfalls an die mobile Vorrichtung gesendet werden. Der Informationsinhalt oder Teile davon können dann durch die mobile Vorrichtung abgerufen werden durch Senden einer Verbindungsanforderung oder möglicherweise weiterer Transcodier-Anweisungen oder eine alternative Transcodierer-Auswahl an ein IP-Proxy-System.
  • Ferner kann ein Proxy-System in jedem Netzwerk implementiert werden, nicht nur in einem Firmen-Netzwerk, wie in 11 gezeigt. Die Installation eines Proxy-Systems in einem ISP-, ASP- oder VON(Virtual Network Operator)-System liefert einen sicheren entfernten Zugriff auf eine Netzwerkinformation und eine sicher Übertragung von Information zwischen den Netzwerkbenutzern, ein schließlich Übertragungen zwischen mobilen Vorrichtungen von ISP-, ASP- oder VON-Benutzern.
  • Es sollte angemerkt werden, dass, obwohl die Beschreibung der Erfindung für bestimmte Anordnungen gemacht ist, die Absicht und das Konzept der vorliegenden Erfindung für andere Anordnungen geeignet und anwendbar sind.

Claims (30)

  1. System zum Pushen von Informations-Content von einer Informationsquelle (20) zu einem mobilen Kommunikations-Gerät (12) über ein Netzwerk (14, 16), umfassend: ein Transcoder-System (28, 86), umfassend eine Mehrzahl von Transcodern (74, 82, 96, 104), wobei jeder Transcoder (74, 82, 96, 104) ausgestaltet ist, den Informations-Content von einem jeweiligen Eingangs-Content-Typ in einen jeweiligen Ausgangs-Content-Typ zu transcodieren; und ein erstes Netzwerk-Gerät in Kommunikation mit dem Transcoder-System (28, 86), wobei das erste Netzwerk-Gerät ein Push-Modul (30, 93) umfasst, wobei das Push-Modul (30, 93) fähig ist, eine Verbindungsanfrage von der Informationsquelle (20) zu empfangen, welche ein dem mobilen Kommunikations-Gerät (12) zugehöriges Identifizierungszeichen umfasst, wobei das Push-Modul (30, 93) ferner fähig ist, einen entsprechenden Connection-Handler (24, 26, 94) basierend auf der empfangenen Verbindungsanfrage auszuwählen, wobei der ausgewählte Connection-Handler (24, 26, 94) fähig ist, einen oder mehrere Transcoder (74, 82, 96, 104) von der Mehrzahl der Transcoder (74, 82, 96, 104) basierend auf dem dem mobilen Kommunikations-Gerät (12) zugehörigen Identifizierungszeichen (12) auszuwählen, um den Informations-Content zu transcodieren, wobei der transcodierte Informations-Content zu dem mobilen Kommunikations-Gerät (12) übertragen wird.
  2. Das System nach Anspruch 1, wobei das erste Netzwerk-Gerät ferner fähig ist, den Informations-Content, welche von dem einen oder den mehreren ausge wählten Transcodern (84, 82, 96, 104) transcodiert worden ist, zu dem mobilen Kommunikations-Gerät (12) zu übertragen.
  3. Das System nach Anspruch 1, wobei das Transcoder-System (28, 86) ferner fähig ist, den Informations-Content, welche von dem einen oder den mehreren ausgewählten Transcodern (74, 82, 96, 104) transcodiert worden ist, zu dem mobilen Kommunikations-Gerät (12) zu übertragen.
  4. Das System nach Anspruch 1, wobei der Connection-Handler (24, 26, 94) fähig ist, einen oder mehrere akzeptierte Content-Typen zu bestimmen, wobei das mobile Kommunikations-Gerät (12) dahingehend konfiguriert ist, diese akzeptierten Content-Typen zu akzeptieren.
  5. Das System nach Anspruch 4, wobei der Connection-Handler (24, 26, 94) fähig ist, die Mehrzahl von Transcodern (84, 82, 96, 104) nach Transcodern zu durchzusuchen, die fähig sind, den Informations-Content von einem empfangenen Content-Typ des Informations-Contents in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren.
  6. Das System nach Anspruch 6, wobei das Transcoder-System (28, 86) fähig ist, Abbildungs-Daten zu generieren und zu speichern, welche Transcoder-Ketten enthalten, wobei jede Transcoder-Kette einen oder mehrere Transcoder (84, 82, 96, 104) auswählt, die den Informations-Content von einem jeweiligen Eingangs-Content-Typ in einen jeweiligen Ausgangs-Content-Typ transcodieren.
  7. Das System nach Anspruch 6, wobei der Connection-Handler (24, 26, 96) fähig ist, eine Transcoder-Kette auszuwählen, die den Informations-Content von einem empfangenen Content-Typ des Informations-Contents in einen der akzeptierten Content-Typen transcodiert.
  8. Das System nach Anspruch 4, wobei das Transcoder-System (28, 86) eine Konfigurations-Datei (102) umfasst, welche mit der Mehrzahl von Transcodern (84, 82, 96, 104) in Zusammenhang steht, und wobei der Connection-Handler (24, 26, 94) fähig ist, die Konfigurations-Datei (102) zu durchsuchen, um zu bestimmen, ob irgendwelche der Transcoder (74, 82, 96, 104) fähig sind, den Informations-Content von einem empfangenen Content-Typ des Informations-Contents in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren, und Transcoder (74, 82, 96, 104) auszuwählen, wobei jeder diese Transcoder fähig ist, Informations-Content von einem empfangenen Content-Typ in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren.
  9. Das System nach Anspruch 8, wobei der Connection-Handler (24, 26, 94) ferner fähig ist, eine Fehler-Mitteilung an die Informationsquelle zu senden, wenn keine der Transcoder fähig sind, den Informations-Content von dem empfangenen Content-Typ in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren.
  10. Das System nach Anspruch 8, wobei der Informations-Content mehrere Content-Typen beinhaltet und der Connection-Handler (24, 26, 94) ferner fähig ist, eine Fehler-Mitteilung an die Informationsquelle zu senden, wenn keine der Transcoder (74, 82, 96, 104) fähig sind, einen oder mehrere der mehreren Content-Typen in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren.
  11. Das System nach Anspruch 8, wobei der Connection-Handler (24, 26, 94) ferner fähig ist, eine Liste von auswählbaren Transcodern (74, 82, 96, 104) an die Informationsquelle zu senden, wenn keine der Transcoder fähig sind, den Informations-Content von dem empfangenen Content-Typ in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren.
  12. Das System nach Anspruch 11, wobei der Connection-Handler (24, 26, 94) fähig ist, Daten ausgewählter Transcoder von der Informationsquelle zu empfangen und einen der auswahlbaren Transcoder (74, 82, 96, 104) aus der Liste der auswählbaren Transcoder basierend auf den Daten ausgewählter Transcoder auszuwählen.
  13. Das System nach Anspruch 8, wobei der Connection-Handler (224, 26, 94) ferner fähig ist, Informations-Content zu verwerfen, wenn keine der Transcoder (74, 82, 96, 104) fähig sind, den Informations-Content von dem empfangenen Content-Typ in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren.
  14. Das System nach Anspruch 8, wobei der Connection-Handler (24, 26, 94) ferner fähig ist, Informations-Content passieren zu lassen, wenn keine der Transcoder (74, 82, 96, 104) fähig sind, den Informations-Content von dem empfangenen Content-Typ in den einen oder die mehreren akzeptierten Content-Typen zu transcodieren.
  15. Das System nach Anspruch 8, wobei das Transcoder-System ferner fähig ist, den Informations-Content in einen Content-Typ zu transcodieren, welcher in Antwort auf eine vorherige Verbindungsanfrage auf das mobile Kommunikations-Gerät (12) gepusht wurde.
  16. Das System nach Anspruch 1, wobei das Identifizierungszeichen eine Netzwerk-Adresse des mobilen Kommunikations-Gerätes (12) beinhaltet.
  17. Ein Verfahren zum Pushen von Information auf ein mobiles Kommunikations-Gerät (12), welches die Schritte umfasst: Empfangen einer Verbindungsanfrage von einer Informationsquelle (20), ohne dass zunächst eine Anfrage nach der Information gesendet wird, wobei die Verbindungsanfrage ein Identifizierungszeichen des mobilen Kommunikations-Geräts (12) umfasst, welches Informations-Content empfängt; Bereitstellen einer Mehrzahl von Transcodern (74, 82, 96, 104), wobei jeder Transcoder (74, 82, 96, 104) fähig ist, Informations-Content von einem ersten Content-Typ in einen zweiten Content-Typ zu transcodieren; Auswählen eines einer Mehrzahl von Connection-Handler basierend auf der empfangenen Verbindungsanfrage; Auswählen eines oder mehrerer Transcoder (74, 82, 96, 104) aus der Mehrzahl von Transcodern (74, 82, 96, 104), wobei der eine oder die mehreren Transcoder (74, 82, 96, 104) basierend auf dem dem mobilen Kommunikations-Gerät (12) zugehörigen Identifizierungszeichen von dem Connection-Handler (24, 26, 94) ausgewählt werden; Transcodieren des Informations-Contents, wobei der eine oder die mehreren der Mehrzahl von Transcoder (74, 82, 96, 104) verwendet werden, welche ausgewählt worden sind, um transcodierten Informations-Content zu generieren; und Senden des transcodierten Informations-Contents zu dem mobilen Kommunikations-Gerät (12).
  18. Das Verfahren nach Anspruch 17, wobei der Schritt des Auswählens eines oder mehrerer Transcoder von der Mehrzahl von Transcoder (74, 82, 96, 104) die Schritte umfasst: Bestimmen, ob irgendwelche der Mehrzahl von Transcoder (74, 82, 96, 104) fähig sind, den Informations-Content von einem empfangenen Content-Typ des Informations-Content in irgendeinen der einen oder der mehreren Content-Typen zu transcodieren, wobei das mobile Kommunikations-Gerät (12) konfiguriert ist, diese zu akzeptieren; und Auswählen eines Transcoders, welcher fähig ist, den Informations-Content von dem empfangenen Content-Typ in einen der akzeptierten Content-Typen zu transcodieren, wenn irgendwelche der Mehrzahl von Transcodern (74, 82, 96, 104) fähig sind, den Informations-Content von dem empfangenen Content-Typ in irgendeinen der einen oder der mehreren akzeptierten Content-Typen zu transcodieren.
  19. Das Verfahren nach Anspruch 18, welches ferner die Schritte umfasst: Senden einer Liste von auswahlbaren Transcodern an die Informationsquelle, wenn keine der Mehrzahl von Transcodern (74, 82, 96, 104) fähig sind, den Informations-Content von dem empfangenen Content-Typ in irgendeinen der einen oder der mehreren akzeptierten Content-Typen zu transcodieren; Empfangen von Daten ausgewählter Transcoder von der Informationsquelle; und Auswählen eines von den auswahlbaren Transcodern aus der Liste der auswählbaren Transcoder basierend auf den Daten ausgewählter Transcoder.
  20. Das Verfahren nach Anspruch 17, wobei die Informationsquelle ein Web-Server ist, welcher mit dem Internet verbunden ist.
  21. Das Verfahren nach Anspruch 17, welches ferner die Schritte umfasst: Empfangen einer Netzwerk-Adresse, welche den Speicherort eines Transcoders spezifiziert, welcher fähig ist, den Informations-Content von dem empfangenen Content-Typ in einen der akzeptierten Content-Typen zu transcodieren; Zugreifen auf den Speicherort, der durch die Netzwerk-Adresse spezifiziert ist; und Abrufen des Transcoders.
  22. Das Verfahren nach Anspruch 17, wobei der Schritt des Transcodierens des Informations-Contents unter Verwendung eines oder mehrerer der Mehrzahl von Transcoder (74, 82, 96, 104), welche ausgewählt worden sind, die Schritte umfasst: Senden des Informations-Contents an ein Transcoder-System (28, 86); und Empfangen transcodierten Informations-Contents von dem Transcoder-System (28, 86).
  23. Das Verfahren nach Anspruch 17, wobei der Schritt des Sendens des transcodierten Informations-Contents zu dem mobilen Kommunikations-Geräts (12) den Schritt des Verschlüsselns des transcodierten Informations-Contents umfasst.
  24. Das Verfahren nach Anspruch 17, wobei der Schritt des Auswählens eines oder mehrer Transcoder aus der Mehrzahl von Transcodern (74, 82, 96, 104) die Schritte umfasst: Generieren einer Liste von Transcodern gemäß einer Reihenfolge der Präferenz; und Auswählen eines oder mehrerer der Transcoder in der Liste der Transcoder basierend auf der Reihenfolge der Präferenz.
  25. Das Verfahren nach Anspruch 17, welches ferner den Schritt des Abbildens der Mehrzahl von Transcoder (74, 82, 96, 104) umfasst, um eine Mehrzahl von Transcoder-Ketten zu erzeugen, wobei jede Transcoder-Kette mit einem oder mehreren Transcodern verknüpft ist, um einen jeweiligen Eingangs-Content-Typ in einen jeweiligen Ausgangs-Content-Typ zu transcodieren.
  26. Das Verfahren nach Anspruch 25, wobei der Schritt des Auswählens eines oder mehrerer Transcoder aus der Mehrzahl von Transcodern (74, 82, 96, 104) die Schritte umfasst: Identifizieren von Transcoder-Ketten, welche einen jeweiligen Eingangs-Content-Typ aufweisen, der zu einem empfangenen Content-Typ passt, und welche einen jeweiligen Ausgangs-Content-Typ aufweisen, welcher zu einem der einen oder der mehreren akzeptablen Content-Typen passt, wobei das mobile Kommunikations-Gerät (12) dahingehend konfiguriert ist, diese akzeptablen Content-Typen zu akzeptieren; und Auswählen einer identifizierten Transcoder-Kette, um den Informations-Content zu transcodieren.
  27. Das Verfahren nach Anspruch 26, welches ferner die Schritte umfasst: Bestimmen eines Prioritätstatus, welcher auf den Informations-Content bezogen ist; und Transcodieren des Informations-Contents oder Passierenlassen des Informations-Contents in Abhängigkeit von dem Prioritätsstatus.
  28. Das Verfahren nach Anspruch 17, wobei das mobile Kommunikations-Gerät (12) konfiguriert ist, einen oder mehrere Content-Typen ausgewählt aus der Gruppe umfassend Wireless Markup Language (WML), Hypertext Markup Lan guage (HTML), compiled WML (WMLC) und Extensible Markup Language (XML) zuzulassen.
  29. Das Verfahren nach Anspruch 17, wobei der Schritt des Auswählens eines oder mehrerer Transcoder von der Mehrzahl von Transcodern (74, 82, 96, 104) den Schritt des Auswählens eines oder mehrerer Transcoder von der Mehrzahl von Transcodern (74, 82, 96, 104) basierend auf der Adresse des mobilen Kommunikations-Geräts (12) umfasst.
  30. Das Verfahren nach Anspruch 17, wobei der Schritt des Auswählens eines oder mehrerer Transcoder aus der Mehrzahl von Transcodern (74, 82, 96, 104) die Schritte umfasst: Bestimmen, ob der Informations-Content in einen Content-Typ vor-transcodiert worden ist, wobei das mobile Kommunikations-Gerät (12) dahingehend konfiguriert ist, diesen Content-Typen zu akzeptieren; und Übertragen des Informations-Contents an das mobile Kommunikations-Gerät (12) ohne weiteres Transcodieren, wenn der Informations-Content vor-transcodiert worden ist.
DE60219169T 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 Expired - Lifetime DE60219169T2 (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/001074 WO2003007184A1 (en) 2001-07-12 2002-07-12 System and method for pushing data from an information source to a mobile communication device including transcoding of the data

Publications (2)

Publication Number Publication Date
DE60219169D1 DE60219169D1 (de) 2007-05-10
DE60219169T2 true DE60219169T2 (de) 2008-01-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 After (2)

Application Number Title Priority Date Filing Date
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

Country Status (9)

Country Link
US (3) US7590759B2 (de)
EP (4) EP1773027B1 (de)
CN (4) CN1324898C (de)
AT (3) ATE375686T1 (de)
BR (3) BR0211097A (de)
CA (4) CA2454207C (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
CN101714201B (zh) 2000-09-21 2016-02-03 黑莓有限公司 代码签字系统及方法
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
US7024662B2 (en) * 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
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
EP2249529B1 (de) 2004-03-23 2019-01-16 NDS Limited Optimale Anpassung von Multimediainhalt für Wiedergabe auf einem Mobilteilnehmer-Endgerät
ATE499787T1 (de) * 2004-04-30 2011-03-15 Research In Motion Ltd System und verfahren zur sicherung von daten
CN100345425C (zh) * 2004-05-25 2007-10-24 中国移动通信集团公司 从信息系统向移动终端推送信息的方法及系统
CN100338929C (zh) * 2004-05-25 2007-09-19 中国移动通信集团公司 移动终端透过防火墙获取信息服务器信息的系统及方法
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
JP2008515046A (ja) * 2005-04-15 2008-05-08 ケーティーフリーテル・カンパニー・リミテッド コンテンツの提供方法
KR100680296B1 (ko) * 2005-04-15 2007-02-07 주식회사 케이티프리텔 무선 네트워크를 통한 대용량 컨텐츠 이어받기 서비스 제공방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체
EP1869924B3 (de) * 2005-04-15 2019-02-27 STD IP Holdings, Inc. Verfahren zur bereitstellung von inhalten für mobile kommunikationsendgeräte
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
US8832100B2 (en) 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US8311888B2 (en) 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US8666376B2 (en) 2005-09-14 2014-03-04 Millennial Media Location based mobile shopping affinity program
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
US8812526B2 (en) 2005-09-14 2014-08-19 Millennial Media, Inc. Mobile content cross-inventory yield optimization
US7702318B2 (en) 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
US8229914B2 (en) 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US8209344B2 (en) 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US9076175B2 (en) 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US8989718B2 (en) 2005-09-14 2015-03-24 Millennial Media, Inc. Idle screen advertising
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
US7577665B2 (en) 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8503995B2 (en) 2005-09-14 2013-08-06 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US8156128B2 (en) 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US7660581B2 (en) 2005-09-14 2010-02-09 Jumptap, Inc. Managing sponsored content based on usage history
US9471925B2 (en) 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US8615719B2 (en) 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US8819659B2 (en) 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US8027879B2 (en) 2005-11-05 2011-09-27 Jumptap, Inc. Exclusivity bidding for mobile sponsored content
US20110313853A1 (en) 2005-09-14 2011-12-22 Jorey Ramer System for targeting advertising content to a plurality of mobile communication facilities
US8364540B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Contextual targeting of content using a monetization platform
US7860871B2 (en) 2005-09-14 2010-12-28 Jumptap, Inc. User history influenced search results
US10592930B2 (en) 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US7769764B2 (en) 2005-09-14 2010-08-03 Jumptap, Inc. Mobile advertisement syndication
US8688671B2 (en) 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US9058406B2 (en) 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US8805339B2 (en) 2005-09-14 2014-08-12 Millennial Media, Inc. Categorization of a mobile user profile based on browse and viewing behavior
US8515401B2 (en) 2005-09-14 2013-08-20 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US8364521B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Rendering targeted advertisement on mobile communication facilities
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US8131271B2 (en) 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US8290810B2 (en) 2005-09-14 2012-10-16 Jumptap, Inc. Realtime surveying within mobile sponsored content
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US8660891B2 (en) 2005-11-01 2014-02-25 Millennial Media Interactive mobile advertisement banners
US8204950B2 (en) 2005-09-15 2012-06-19 Qwest Communications International Inc. Webpage search
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
US7797545B2 (en) * 2005-09-29 2010-09-14 Research In Motion Limited System and method for registering entities for code signing services
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
US9323821B2 (en) 2006-04-05 2016-04-26 Qwest Communications International Inc. Network repository auto sync wireless handset
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
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
US9729513B2 (en) 2007-11-08 2017-08-08 Glasswall (Ip) Limited Using multiple layers of policy management to manage risk
GB2444514A (en) 2006-12-04 2008-06-11 Glasswall Electronic file re-generation
US8892761B1 (en) 2008-04-04 2014-11-18 Quickplay Media Inc. Progressive download playback
US9064010B2 (en) * 2006-12-13 2015-06-23 Quickplay Media Inc. Encoding and transcoding for mobile media
US9124650B2 (en) * 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
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
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
US8560729B2 (en) * 2007-02-09 2013-10-15 Onmobile Global Limited Method and apparatus for the adaptation of multimedia content in telecommunications networks
CA2578979A1 (en) 2007-02-19 2008-08-19 Cognos Incorporated System and method of report representation
CA2578980A1 (en) 2007-02-19 2008-08-19 Cognos Incorporated System and method of report rendering
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
EP2145424B1 (de) * 2007-05-04 2017-07-12 BlackBerry Limited Verfahren zur verteilung von inhalten an mobilgeräte
US8219970B2 (en) * 2007-05-08 2012-07-10 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
CN101855863A (zh) * 2008-05-12 2010-10-06 捷讯研究有限公司 用于对抗未授权解密的安全措施
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 华为技术有限公司 一种消息处理方法、装置和系统
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US8087067B2 (en) 2008-10-21 2011-12-27 Lookout, Inc. Secure mobile platform system
US20100138748A1 (en) * 2008-12-03 2010-06-03 Qualcomm Incorporated Wireless Network Access to Remote Computer
JP5237461B2 (ja) * 2008-12-04 2013-07-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディアファイルを移動デバイスに送信する方法およびそのエンティティ
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
WO2011066645A1 (en) * 2009-12-02 2011-06-09 Chalk Media Service Corporation Reliable delivery of content to a push-state aware client device
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
CA2802960A1 (en) * 2010-06-29 2012-01-12 Zte Usa Inc. Method and system for cloud-based media adaptation and transcoding service
CN102346685B (zh) * 2010-07-29 2016-09-28 甲骨文国际公司 集成适配器管理系统和方法
CN101917482B (zh) * 2010-08-23 2016-08-24 宇龙计算机通信科技(深圳)有限公司 一种信息推送方法及信息推送服务器
WO2012044248A1 (en) * 2010-09-28 2012-04-05 Empire Technology Development Llc Data filtering for communication devices
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
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
US8966376B2 (en) 2010-12-10 2015-02-24 Wyse Technology L.L.C. Methods and systems for remote desktop session redrawing via HTTP headers
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
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
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
US9395885B1 (en) 2010-12-10 2016-07-19 Wyse Technology L.L.C. Methods and systems for a remote desktop session utilizing HTTP header
WO2012088023A2 (en) 2010-12-20 2012-06-28 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
US9436493B1 (en) * 2012-06-28 2016-09-06 Amazon Technologies, Inc. Distributed computing environment software configuration
CN102724324B (zh) * 2012-06-28 2016-09-28 用友网络科技股份有限公司 消息推送整合装置和消息推送整合方法
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
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for 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
AU2016258533B2 (en) 2015-05-01 2017-11-30 Lookout, Inc. Determining source of side-loaded 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
US11533380B2 (en) 2018-06-25 2022-12-20 Nokia Technologies Oy Methods and apparatuses for internet content pushing service in a wireless mobile communication system
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
US7159235B2 (en) * 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for content distribution via non-homogeneous access networks
AU2001236568A1 (en) * 2000-01-28 2001-08-07 Ibeam Broadcasting Corporation A system and method for rewriting a media resource request and/or response between origin server and client
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
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US7500188B1 (en) * 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
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
AU2001255742A1 (en) * 2000-04-26 2001-11-07 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
US7458017B2 (en) * 2001-06-26 2008-11-25 Microsoft Corporation Function-based object model for use in website adaptation
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE60219169T2 (de) System und Verfahren zum schieben von Daten von einer Informationsquelle zu einem mobilen Endgerät beinhalten die Transcodierung der Daten
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
US7143195B2 (en) HTTP redirector
US7216173B2 (en) Virtual private network software system
DE60212339T2 (de) Ein digitales fernsehen anwendungsprotokoll zum interaktiven fernsehen
US7953102B2 (en) System and method for generic data mapping between wireless component applications and application data sources
WO2002088983A1 (en) System and method for patch enabled data transmissions
Ardon et al. MARCH: A distributed content adaptation architecture
US20020129279A1 (en) Methods and apparatus usable with or applicable to the use of the internet
DE10296636T5 (de) Erstellen verteilter Proxy-Konfigurationen
KR20020040872A (ko) HAVi 및 다른 인터네트워킹 장치들 내의 리소스 요청전송
CA2543879C (en) System and method for generic data mapping between wireless component applications and application data sources
EP1182576A1 (de) Datenzugriffssystem und -Methode mit Proxy und Fernverarbeitung
Yoneki Mobile applications with a middleware system in publish-subscribe paradigm
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
Proxy Zdenek Siblık Compressing Proxy

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