DE60028561T2 - Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen - Google Patents

Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen

Info

Publication number
DE60028561T2
DE60028561T2 DE60028561T DE60028561T DE60028561T2 DE 60028561 T2 DE60028561 T2 DE 60028561T2 DE 60028561 T DE60028561 T DE 60028561T DE 60028561 T DE60028561 T DE 60028561T DE 60028561 T2 DE60028561 T2 DE 60028561T2
Authority
DE
Germany
Prior art keywords
request
xml
particular format
data
responses
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.)
Active
Application number
DE60028561T
Other languages
English (en)
Other versions
DE60028561D1 (de
Inventor
M. Magnus LONNROTH
Johan Svensson
Roland Svensson
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.)
Oracle International Corp
Original Assignee
Oracle Corp
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
Priority to US12477499P priority Critical
Priority to US124774P priority
Priority to US09/454,515 priority patent/US6826597B1/en
Priority to US454515 priority
Application filed by Oracle Corp filed Critical Oracle Corp
Priority to PCT/US2000/006813 priority patent/WO2000056033A1/en
Application granted granted Critical
Publication of DE60028561D1 publication Critical patent/DE60028561D1/de
Publication of DE60028561T2 publication Critical patent/DE60028561T2/de
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2804Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for adding application control or application functional data, e.g. adding metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/02Communication control; Communication processing contains provisionally no documents
    • H04L29/06Communication control; Communication processing contains provisionally no documents characterised by a protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/02Network-specific arrangements or communication protocols supporting networked applications involving the use of web-based technology, e.g. hyper text transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2823Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for conversion or adaptation of application content or format
    • 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
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2842Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/08Protocols for interworking or protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer, i.e. layer seven
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Bereitstellen von Diensten an Clients und spezieller das Ausstatten der Clients mit Diensten, die Daten von Datenquellen abrufen, die nicht notwendigerweise das von den Clients geforderte Format unterstützen.
  • HINTERGRUND DER ERFINDUNG
  • Das World Wide Web umfasst ein Netzwerk von Servern im Internet, von denen jeder mit einer oder mehreren HTML(Hypertext Markup Language)-Seiten verbunden ist. Die mit einem Server verbundenen HTML-Seiten stellen Informationen und Hypertext-Verknüpfungen zu anderen Dokumenten auf diesem und (üblicherweise) anderen Servern bereit. Die Server kommunizieren mit Clients unter Verwendung des Hypertext Transfer Protocol (HTTP). Die Server horchen nach Anforderungen nach ihren HTML-Seiten von Clients und werden deshalb oftmals als "Listeners" bezeichnet.
  • Benutzer des World Wide Web verwenden ein als einen Browser bezeichnetes Client-Programm, um Informationen von Listenern anzufordern, zu dekodieren und anzuzeigen. Wenn der Benutzer eines Browsers eine Verknüpfung auf einer HTML-Seite auswählt, sendet der Browser, der die Seite anzeigt, eine Anforderung über das Internet zu dem Listener, der mit dem in der Verknüpfung angegebenen Universal Resource Locator (URL) verbunden ist. In Antwort auf die Anforderung sendet der Listener die angeforderten Informationen zu dem Browser, der die Anforderung herausgegeben hat. Der Browser empfängt die Informationen, stellt die empfangenen Informationen dem Benutzer dar und wartet auf die nächste Benutzeranforderung.
  • Herkömmlich sind die in Listenern gespeicherten Informationen in der Form von statischen HTML-Seiten. Statische HTML-Seiten werden in dem Listener vor der Anforderung von einem Webbrowser erzeugt und gespeichert. In Antwort auf eine Anforderung wird eine statische HTML-Seite lediglich aus dem Speicher gelesen und zu dem anfordernden Browser gesendet. Gegenwärtig gibt es einen Trend, Listener zu entwickeln, die auf Browseranforderungen durch Ausführen dynamischer Operationen antworten. Beispielsweise kann ein Listener auf eine Anforderung durch Ausgeben einer Abfrage an eine Datenbank, dynamisches Aufbauen einer die Ergebnisse der Abfrage enthaltenen Webseite und Senden der dynamisch aufgebauten HTML-Seite zu dem anfordernden Browser antworten.
  • Ein weiterer Trend ist, den Internetzugang auf andere Geräte als herkömmliche Computersysteme auszudehnen. Zum Beispiel wurden drahtlose Telefone entwickelt, die eingebettete Webbrowser enthalten. Infolge von Einschränkungen der Größe und der Kosten haben die in diesen Geräten enthaltenen "Mikrobrowser" eine sehr begrenzte Funktionalität relativ zu den Browsern, die für richtige Computersysteme entwickelt wurden. Jedoch sind Geräte mit eingebetteten Mikrobrowsern in Fällen verwendbar, in welchen die Verwendung eines herkömmlichen Computersystems unpraktisch ist. Zusätzlich dazu, dass sie einen eingebetteten Mikrobrowser haben, unterstützen bestimmte drahtlose Telefone ein Zweiwege-Paging-Protokoll, das als Short Message Stimulator (SMS) bekannt ist. Unter Verwendung von SMS kann ein SMS-fähiges Telefon eine Textnachricht an ein anderes SMS-fähiges Telefon senden.
  • Ein typisches System, in welchem webfähige, SMS-fähige Telefone verwendet werden können, ist in 1 dargestellt. Mit Bezug auf 1 weist ein System 100 ein drahtloses Telefon 102 auf, das durch ein drahtloses Kommunikationsmedium mit einem Netzwerk 104 verbunden ist. Das Netzwerk 104 kann beispielsweise ein allgemeines digitales Netz wie das Global System for Mobile Communications (GSM)-Netz sein. SMS- Nachrichten von dem Telefon 102 können durch das Netzwerk 104 zu einem Gateway 106 gesendet werden, das einen Übersetzer 112 aufweist. Das Gateway 106 kann beispielsweise ein von Nokia verfügbarer NAMP-Server sein, der konfiguriert ist, SMS-Nachrichten in HTTP-Nachrichten zu übersetzen, die über ein IP-Netzwerk gesendet werden können. In der dargestellten Ausführungsform übersetzt das Gateway 106 SMS-Nachrichten von dem Telefon 102 und sendet sie unter Verwendung von HTTP über das Internet 108 zu einem Webserver 110.
  • In Antwort auf die HTTP-Anforderung von dem Gateway 106 sendet der Webserver 110 eine Webseite über das Internet 108 zurück zu dem Gateway 106. Das Gateway 106 konvertiert die Webseite in eine SMS-Nachricht und sendet sie durch das Netzwerk 104 zu dem Telefon 102. Leider kann aufgrund der begrenzten Leistungsfähigkeit des Telefons 102 der Prozess des intelligenten Konvertierens der Webseite in etwas, das zu dem Telefon 102 gesendet werden kann, äußerst schwierig sein.
  • Gemäß einem Ansatz weist das Gateway 106 eine Filterlogik auf, die mit webseitenspezifischen Filterregeln programmiert ist. So eine Filterregel kann zum Beispiel angeben, dass Text, der in die zu dem Telefon 102 zurückgesendete SMS-Nachricht einzufügen ist, durch Extrahieren der 53 Zeichen zu erhalten ist, die einer bestimmten Sequenz von Tags innerhalb der mit der Regel verbundenen Webseite folgen. Die Regel für eine andere Webseite könnte vollständig andere Kriterien zum Lokalisieren und Extrahieren von Text vorschreiben. Sogar für die gleiche Webseite könnte eine bestimmte Filterregel nicht mehr zu dem gewünschten Ergebnis führen, wenn sich der Inhalt oder das Format der Webseite ändert. Folglich legt die Verwendung des Ansatzes der webseitenspezifischen Filterung dem Manager des Gateways 106 eine enorme Belastung auf, die verschiedenen Filterregeln zu entwickeln und sie für alle Seiten, die durch das Gateway 106 angefordert werden, auf dem neuesten Stand zu halten.
  • In einem alternativen Ansatz wird die Filterfunktionalität aus dem Gateway 106 heraus in eine Filterbox verschoben, die zwischen dem Gateway 106 und dem Internet 108 angeordnet ist. Das Gateway 106 glaubt weiterhin, dass es mit den Webservern über das Internet 108 interagiert, und übersetzt weiterhin zwischen HTTP und SMS. Jedoch durchläuft der gesamte HTTP-Verkehr, der zu dem oder von dem Gateway 106 gesendet wird, tatsächlich die Filterbox. Die durch die Filterbox angewendeten Filterregeln können durch Benutzer selbst festgelegt werden. Somit kann die Filterbox die gleiche Webseite für unterschiedliche Telefonbenutzer basierend darauf, wie diese Telefonbenutzer ihre Filter gestaltet haben, unterschiedlich filtern. Obwohl dieser Ansatz die innerbetriebliche Belastung des Gateway-Administrators reduziert, wälzt er diese Last größtenteils auf die Benutzer selbst über. Ferner erlaubt er nur, dass die Telefone mit einer Art von Datenquelle kommunizieren: HTTP-Server. Andere Informationsquellen, wie zum Beispiel Datenbanksysteme, werden dem Telefon 102 durch das Gateway 106 nicht zugänglich gemacht.
  • Ein Verfahren und eine Architektur für interaktive Zweiwege-Kommunikationsvorrichtungen, um mit einem Netzwerk zu interagieren, sind aus EP 0 987 868 bekannt. Darin ist eine Navigation im Internet durch eine mobile interaktive Zweiwege-Kommunikationsvorrichtung, die zur drahtlosen Kommunikation im Stande ist, über einen Linkserver mit Serviceprovidern oder Netzwerkservern im Internet beschrieben.
  • Auf der Basis des Vorhergehenden ist es eindeutig wünschenswert, die Techniken zu verbessern, durch welche Benutzer von weniger konventionellen Clients Zugang zum World Wide Web erlangen. Es ist ferner wünschenswert, Techniken bereitzustellen, die es solchen Clients erlauben, bequem auf andere Informationsquellen zuzugreifen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt ein Verfahren zum Abrufen von Informationen von einer oder mehreren Datenquellen, ein System zum Übertragen von Informationen zwischen Clients und Datenquellen und ein computerlesbares Medium, das Anweisungen zum Abrufen von Informationen von einer oder mehreren Datenquellen trägt, gemäß den unabhängigen Ansprüchen 1, 17 und 22 bereit. Bevorzugte Ausführungsformen der vorliegenden Erfindung sind in den abhängigen Ansprüchen 2 bis 16, 18 bis 21 und 23 bis 35 beschrieben.
  • Es werden ein Verfahren und ein System bereitgestellt, um zu ermöglichen, dass Clients Daten von Datenquellen abrufen, die nicht notwendigerweise die gleichen Protokolle und Formate wie die Clients unterstützen. Gemäß einem Aspekt der Erfindung antwortet ein Vorprozessor auf die Dienstanforderungen von Clients durch Erzeugen von Anforderungsobjekten. In einer Ausführungsform sind die Anforderungsobjekte XML-strukturierte Dokumente mit nicht aufgelösten Links zu den Datenquellen, die von den Clients angeforderte Informationen aufweisen. Ein XML-Prozessor löst die Links durch Ausgeben von Anforderungen durch ein oder mehrere Gateways auf. Die Gateways konvertieren die von den Datenquellen empfangenen Antworten in XML, welche der XML-Prozessor verwendet, um XML-Verbund-Antwortdokumente zu erzeugen. Ein Postprozessor filtert die XML-Antwortdokumente und wendet XSL-Formatvorlagen an, um die XML-Verbund-Antwortdokumente in Client-spezifische Antworten umzuwandeln, die dem von den Clients geforderten Format entsprechen. Die Client-spezifischen Antworten werden dann zu den Clients gesendet.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist in den Figuren der beigefügten Zeichnungen als Beispiel und nicht als Begrenzung dargestellt, und in welchen gleiche Bezugszahlen gleiche Elemente bezeichnen und in welchen:
  • 1 ein Blockdiagramm eines Systems ist, das es Mobiltelefonen ermöglicht, mit Webservern zu kommunizieren;
  • 2 ein Blockdiagramm eines Systems ist, das gemäß einer Ausführungsform der Erfindung konfiguriert ist; und
  • 3 ein Blockdiagramm eines Computersystems ist, das verwendet werden kann, um Ausführungsformen der vorliegenden Erfindung zu implementieren.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Es werden ein Verfahren und ein System beschrieben, um zu ermöglichen, dass ein beliebiger Client von einer einzigen Anwendung verwaltet wird. In der folgenden Beschreibung sind für die Zwecke der Erläuterung zahlreiche spezifische Details dargelegt, um für ein gründliches Verständnis der vorliegenden Erfindung zu sorgen. Es wird einem Fachmann jedoch ersichtlich sein, dass die vorliegende Erfindung ohne diese spezifischen Details praktiziert werden kann. In anderen Fällen sind bekannte Strukturen und Einrichtungen in Form eines Blockdiagramms gezeigt, um ein unnötiges Undeutlichmachen der vorliegenden Erfindung zu vermeiden.
  • SYSTEMÜBERBLICK
  • 2 ist ein Blockdiagramm, das ein System 200 darstellt, das eine Ausführungsform der Erfindung implementiert. Das System 200 ist dem System 100 insofern ähnlich, als es eine mobile Einrichtung (Telefon 210) aufweist, die mit einem Gateway 202 über ein Netzwerk 212 kommuniziert. Gemäß einer Ausführungsform ist das Telefon 210 ein WAP-Telefon, das konfiguriert ist, die Anzeige von WML-Seiten zu unterstützen. In solch einer Ausführungsform könnte das Gateway 202 zum Beispiel ein WAP-Gateway sein, das konfiguriert ist, um mit dem Telefon 210 durch Senden von WML-Seiten durch das Netzwerk 212 unter Verwendung des WAP-Protokolls zu kommunizieren.
  • Das System 200 weist ferner einen Vorprozessor 240, einen XML-Prozessor 242 und einen Postprozessor 244 auf. Im Allgemeinen empfängt der Vorprozessor 240 Anforderungen von Clients und erzeugt darauf basierende Anforderungsobjekte. In einer Ausführungsform nehmen diese Anforderungsobjekte die Form von XML-Dokumenten an. Diese XML-Dokumente "Anforderungen" werden zu einem XML-Prozessor 242 weitergeleitet, der XML-Dokumente von einer oder mehreren XML-Quellen erhält, an welche der XML-Prozessor 242 angeschlossen ist. Wie nachstehend ausführlicher beschrieben werden soll, können diese XML-Quellen ein oder mehrere Gateways beinhalten, die mit Nicht-XML-Quellen verbunden sind. Die XML-Dokumente, die in Antwort auf die Anforderungen erzeugt werden, werden zu dem Postprozessor 244 geführt, damit sie gemäß den Bedürfnissen der anfordernden Einheit gefiltert und formatiert werden. Der durch den Postprozessor 244 ausgeführte Konvertierungsvorgang wird durch XSL-Formatvorlagen 250 gesteuert. Die durch den Postprozessor 244 erzeugten Dokumente werden kann zu der anfordernden Einheit geliefert.
  • Jede der Einheiten innerhalb des Systems 200 und deren Funktionen sollen nun ausführlicher beschrieben werden.
  • DIENSTANFORDERUNGEN
  • Clients senden Anforderungen an den Vorprozessor 240. Die Art und das Format der Anforderungen variiert basierend auf der Art des Client. Jede Dienstanforderung kennzeichnet den Dienst, der angefordert wird, und kann irgendeine Anzahl von Parameterwerten aufweisen, die mit der Anforderung verbunden sind. Die Dienste, die in den Dienstanforderungen festgelegt sind, die der Vorprozessor 240 von den Clients empfängt, können in der Komplexität sehr variieren. Zum Beispiel kann ein Dienst einfach das Erhalten eines bestimmten Informationsteils von einer einzelnen Webseite umfassen. Ein anderer Dienst jedoch kann das Ausführen von Suchen an hunderten von Webseiten, das Aktualisieren zahlreicher Datenbanken auf der Basis der Ergebnisse der Suchen und das Senden von Email-Nachrichten an hunderte von Benutzern, um sie zu informieren, dass die Datenbank aktualisiert wurde, aufweisen.
  • Gemäß einer Ausführungsform können Dienste als Sammlungen von anderen Diensten definiert sein. Dadurch, dass Dienste definiert sein können, andere Dienste zu enthalten, kann eine beliebig komplexe Hierarchie von Diensten unterstützt werden. Zum Beispiel kann ein erster Dienst zum Verfolgen von durch UPS gesendeten Paketen eingerichtet sein. Ein zweiter Dienst kann zum Verfolgen von durch FedEx gesendeten Paketen eingerichtet sein. Ein dritter Dienst kann als eine Kombination des ersten und des zweiten Dienstes eingerichtet sein. Ein vierter Dienst kann eingerichtet sein, um den dritten Dienst auszuführen und eine Datenbank zu aktualisieren, um die durch den dritten Dienst erzeugten Ergebnisse zu reflektieren.
  • Gemäß einer Ausführungsform variiert der den Clients bereitgestellte Satz von Diensten auf einer Je-Nutzer-Basis. Somit kann der Satz von Diensten, der von einem Client angefordert werden kann, anders als die von einem anderen Client angeforderten Dienste sein. Außerdem können bestimmte Dienste auf einer Je-Nutzer-Basis definiert sein. Zum Beispiel kann ein bestimmter Nutzer einen bestimmten Dienst definieren, dass er die Kombination von drei bestehenden Diensten ist.
  • Daten über jeden benutzerdefinierten Dienst werden gespeichert und werden dem Vorprozessor 240 zugänglich gemacht, so dass der Vorprozessor 240 weiß, wie mit den Anforderungen für diese Dienste umzugehen ist. Gemäß einer Ausführungsform sind die für jeden Benutzer verfügbaren Dienste einschließlich benutzerdefinierter Dienste in einer Konfigurationsdatenbank 254 definiert, die dem Vorprozessor 240 zugänglich ist.
  • DER VORPROZESSOR
  • Der Vorprozessor 240 ist konfiguriert, um Anforderungen von Clients zu empfangen und zu verarbeiten. Die von dem Vorprozessor 240 unterstützten Protokolle schreiben die Form vor, in welcher die Anforderungen empfangen werden müssen, und werden von Implementierung zu Implementierung variieren. Die vorliegende Erfindung ist nicht auf irgendeine bestimmte Art oder Anzahl von Protokollen, die von dem Vorprozessor 240 unterstützt werden, beschränkt. In der dargestellten Ausführungsform unterstützt der Vorprozessor 240 sowohl HTTP als auch zwei andere Protokolle (gezeigt als Protokoll A und Protokoll B). Durch seine Unterstützung für HTTP-Anforderungen erscheint der Vorprozessor 240 dem Gateway 202 als ein Webserver und ist deshalb in der Lage, HTTP-Anforderungen zu empfangen, die als von WAP-fähigen Geräten ausgegebene WAP-Anforderungen entstanden sind.
  • Auf das Empfangen einer Dienstanforderung hin führt der Vorprozessor 240 jegliche Operationen aus, die vor dem Abarbeiten der Anforderung erforderlich sind. Solche Operationen können zum Beispiel das Ausführen von Sicherheitsprüfungen einschließen, um zu bestimmen, ob der die Anforderung ausgebende Client autorisiert ist, die Anforderung auszugeben. Gemäß einer Ausführungsform sind Informationen darüber, welche Dienste für jeden Client autorisiert sind, in der Konfigurationsdatenbank 254 gespeichert.
  • Gemäß einer Ausführungsform erzeugt der Vorprozessor 240 basierend auf der Anforderung und den in der Konfigurationsdatenbank 254 enthaltenen Informationen auch ein Anforderungsobjekt in der Form eines XML-Dokuments. Insbesondere durchsucht der Vorprozessor 240 die Konfigurationsdatenbank 254, um zu bestimmen, wie das XML-Dokument aufzubauen ist. Die Suche kann beispielsweise auf der Basis der mit der Dienstanforderung verknüpften Telefonnummer und Benutzer-ID ausgeführt werden. Die in der Konfigurationsdatenbank für diese Telefonnummer/Benutzer-ID-Kombination enthaltenen Informationen können beispielsweise Links zu den Informationsquellen, die mit dem angeforderten Dienst korrespondieren, Benutzereinstellungen usw. spezifizieren. Das durch den Vorprozessor 240 in Antwort auf eine Dienstanforderung erzeugte XML-Dokument wird hierin als ein XML-Anforderungsdokument bezeichnet. Das XML-Anforderungsdokument enthält Links, die die Informationsquellen identifizieren, die mit dem angeforderten Dienst korrespondieren. Wie nachstehend ausführlicher beschrieben werden soll, kann das XML-Dokument auch durch den Vorprozessor 240 eingefügte Metadaten aufweisen, die von den verschiedenen Komponenten des Postprozessors 244 verwendet werden.
  • Zum Zweck der Darstellung soll angenommen werden, dass der Vorprozessor 240 eine Anforderung empfängt, die von dem Telefon 210 stammt, dass das Telefon 210 ein WAP-Telefon ist und dass die Anforderung für einen Dienst ist, der den Status aller Pakete eines bestimmten Benutzers bestimmt. Auf das Prüfen hin, dass das Telefon 210 autorisiert ist, die Anforderung durchzuführen, erzeugt der Vorprozessor 240 ein XML-Anforderungsdokument. In dem vorliegenden Beispiel kann das resultierende XML-Anforderungsdokument zum Beispiel einen Link zu einer UPS-Paketverfolgungs-Webseite, einen Link zu einer FedEx-Paketverfolgungs-Webseite usw. aufweisen. Das so erzeugte XML-Anforderungsdokument wird dann an den XML-Prozessor 242 übergeben.
  • DER XML-PROZESSOR
  • Auf das Empfangen eines XML-Anforderungsdokuments von dem XML-Vorprozessor 240 hin analysiert der XML-Prozessor 242 das XML-Anforderungsdokument. Wenn der XML-Prozessor 242 auf nicht aufgelöste Links innerhalb des XML-Anforderungsdokuments stößt, löst der XML-Prozessor 242 die Links auf, typischerweise durch Herstellen von Aufrufen durch ein oder mehrere XML-Gateways.
  • XML-Gateways sind Mechanismen zum Konvertieren zwischen XML und Nachrichten, die durch andere Arten von Datenquellen erzeugt werden. Beispielsweise kann ein XML-Gateway für das World Wide Web sein und deshalb zwischen XML- und HTML-Nachrichten konvertieren. Ein anderes XML-Gateway kann für ein Datenbanksystem sein und deshalb zwischen XML und dem von dem Datenbanksystem unterstützten Protokoll konvertieren. Noch ein anderes XML-Gateway kann für einen Mainframe-Computer sein und zwischen XML und dem von dem Mainframe-Computer unterstützten Nachrichtenprotokoll konvertieren. Das dargestellte System 200 weist zwei XML-Gateways 232 und 234 auf. Das XML-Gateway 232 ist konfiguriert, um zwischen XML und einem von einem Datenbanksystem verwendeten Protokoll zu konvertieren. Das XML-Gateway 234 ist konfiguriert, um zwischen XML- und HTTP-Nachrichten im World Wide Web zu konvertieren.
  • Die XML-Gateways, die durch den XML-Prozessor 242 in Antwort auf ein bestimmtes XML-Anforderungsdokument aufgerufen werden, sind die XML-Gateways, die mit den Datenquellen verbunden sind, die die in dem XML-Anforderungsdokument identifizierten Informationen haben. Nehmen Sie zum Beispiel an, dass die UPS- und die FedEx-Paketverfolgungsinformationen über das World Wide Web verfügbar sind. In Antwort auf ein XML-Anforderungsdokument zum Bestimmen des Status der Pakete eines Benutzers führt der XML-Prozessor 242 Aufrufe an das Gateway 234 durch. Das Gateway 234 konvertiert diese Anforderungen in HTTP-Nachrichten, die die erforderlichen Informationen von den entsprechenden Seiten im World Wide Web abrufen. In Antwort auf die HTTP-Anforderungen werden die Informationen von diesen Webseiten zurück zu dem XML-Gateway 234 in der Form eines oder mehrerer HTML-Dokumente geliefert. Das Gateway 234 konvertiert die HTML-Dokumente in XML-Dokumente und liefert die XML-Dokumente zu dem XML-Prozessor 242. XML-Dokumente, die in Antwort auf XML-Anforderungen zu dem XML-Prozessor 242 geliefert werden, werden hierin als XML-Antwortdokumente bezeichnet. Der XML-Prozessor 242 leitet die XML-Antwortdokumente zu dem Postprozessor 244 weiter.
  • Gemäß einer Ausführungsform erzeugt der XML-Prozessor 242 für jede XML-Anforderung ein einzelnes "Verbund"-XML-Antwortdokument durch Ersetzen von Links in der XML-Anforderung durch die XML-Antwortdokumente, die von den Einheiten empfangen wurden, die mit den Links korrespondieren. Nehmen Sie zum Beispiel an, dass das XML-Anforderungsdokument anfänglich einen Link auf die UPS-Paketverfolgungs-Webseite und einen Link auf die FedEx-Paketverfolgungs-Webseite aufwies. In Antwort auf das Empfangen des XML-Anforderungsdokuments würde der XML-Prozessor 242 jeden der Links in dem XML-Anforderungsdokument durch Senden von Anforderungen zu diesen Webseiten durch das XML-Gateway 234 auflösen. Diese Webseiten antworten auf die Anforderungen unter Verwendung von HTTP-Antworten, die durch das Gateway 234 in XML-Antwortdokumente konvertiert werden.
  • Die XML-Anforderung wird dann durch den XML-Prozessor 242 in ein Verbund-XML-Antwortdokument transformiert, das auf den Informationen basiert, die von diesen Webseiten zurückempfangen wurden. Insbesondere werden die von der UPS-Paketverfolgungs-Webseite empfangenen Informationen durch das XML-Gateway 234 in XML konvertiert und an den XML-Prozessor 242 übergeben. Der XML-Prozessor 242 ersetzt dann den Link zu der UPS-Paketverfolgungs-Webseite in dem XML-Anforderungsdokument durch die Informationen (nun im XML-Format), die von der UPS-Paketverfolgungs-Webseite empfangen wurden. In gleicher Weise werden die von der FedEx-Paketverfolgungs-Webseite empfangenen Informationen durch das XML-Gateway 234 in XML konvertiert und an den XML-Prozessor 242 übergeben. Der XML-Prozessor 242 ersetzt dann den Link zu der FedEx-Paketverfolgungs-Webseite in dem XML-Anforderungsdokument durch die Informationen (nun im XML-Format), die von der FedEx-Paketverfolgungs-Webseite empfangen wurden. Das XML-Anforderungsdokument wird auf Grund dieser Ersetzungen in ein Verbund-XML-Antwortdokument transformiert. Das durch diesen Prozess erzeugte Verbund-XML-Antwortdokument wird von dem XML-Prozessor 242 an den Postprozessor 244 übergeben.
  • In dem Paketverfolgungs-Beispiel war der Dienst mit dem Erhalten von Informationen von mehreren Quellen verbunden, die das gleiche Protokoll (d.h. mehrere Webseiten) unterstützen. Jedoch kann der XML-Prozessor 242 mit jeder Anzahl von unterschiedlichen Gateways verbunden werden, und ein einzelner Dienst kann mit dem Erhalten von Informationen von mehreren Einrichtungen durch mehrere Gateways verbunden sein. Zum Beispiel kann ein bestimmter Dienst mit dem Auflösen eines Links durch Erhalten von Informationen von einer Webseite durch das Gateway 234 und das Auflösen eines anderen Links durch Erhalten von Informationen von einer Datenbank durch das Gateway 232 verbunden sein. Sowohl die Informationen von der Webseite als auch die Informationen von der Datenbank werden in XML konvertiert, welche verwendet wird, um die entsprechenden Links innerhalb des XML-Anforderungsdokuments zu ersetzen. Folglich kann das Verbund-XML-Antwortdokument Informationen in XML-Struktur aufweisen, die von Quellen erhalten wurden, die sehr unterschiedliche Formate und Protokolle unterstützen.
  • DER POSTPROZESSOR
  • Der Postprozessor 244 empfängt XML-Antworten von dem XML-Prozessor. Gemäß einer Ausführungsform weist der Postprozessor 244 eine Filtereinheit 246 und eine XSL-Maschine 248 auf. Allgemein filtert die Filtereinheit 246 selektiv die XML-Antwortdokumente auf der Basis von Filterregeln, und die XSL-Maschine 248 transformiert die XML-Antwortdokumente auf der Basis von XSL-Formatvorlagen in das Format, Layout und den Dokumenttyp, das/der für den Client erwünscht ist, für den die Antwort bestimmt ist. Die Funktionen dieser Komponenten wird nachstehend ausführlicher beschrieben.
  • DIE FILTEREINHEIT
  • Die Filtereinheit 246 empfängt die Verbund-XML-Antwortdokumente von dem XML-Prozessor 242 und entfernt selektiv Inhalt aus diesen Dokumenten. Nehmen Sie zum Beispiel an, dass ein Client eine Anforderung nach Informationen im World Wide Web über Gebrauchtwagen zum Verkauf ausgibt und dass die Anforderung für ein bestimmtes Jahr, Modell und eine bestimmte Farbe des Autos ist. Auf der Basis der Anforderung wird durch den Vorprozessor 240 eine XML-Anforderung erzeugt und an den XML-Prozessor 242 übergeben. Der XML-Prozessor führt Aufrufe an ein XML-Gateway durch, das mit dem World Wide Web verbunden ist und konfiguriert ist, zwischen HTML und XML zu übersetzen (zum Beispiel das XML-Gateway 234). Das XML-Gateway gibt HTTP-Anforderungen an eine oder mehrere Webseiten aus, die Informationen über Verkäufe von Gebrauchtwagen enthalten. Nehmen Sie zum Zwecke der Veranschaulichung an, dass die Suchmaschinen auf diesen Webseiten in der Lage sind, auf der Basis der Kriterien Jahr und Modell zu suchen, aber, obwohl die Webseiten in der Lage sind, Farbinformationen zu liefern, die Suchmaschinen die Farbe als ein Suchkriterium nicht unterstützen.
  • Das XML-Gateway 234 empfängt die Antworten von den Webseiten zurück, typischerweise in der Form von HTML-Seiten, und erzeugt XML-Antwortdokumente, die den Inhalt dieser HTML-Seiten enthalten. In dem vorliegenden Beispiel würden die XML-Antwortdokumente Informationen über alle Autos enthalten, die die festgelegten Kriterien Jahr und Modell erfüllten, ungeachtet ihrer Farbe. Die XML-Antwortdokumente werden in das XML-Anforderungsdokument inkorporiert, um die Verbund-XML-Antwort zu bilden, welche durch die Filtereinheit 246 empfangen wird. Die Filtereinheit 246 filtert die Verbund-XML-Antwort auf der Basis der in der anfänglichen Anforderung spezifizierten Farbe. Die sich ergebende "gefilterte" XML-Antwort enthält Informationen über nur solche Autos, die die Kriterien Farbe, Jahr und Modell erfüllen.
  • XSL-FORMATVORLAGEN
  • XSL-Formatvorlagen enthalten Anweisungen darüber, wie jede Art von Datenelement, das in einem XML-Dokument enthalten sein kann, vor der Übertragung zu dem Client formatiert werden soll. Zum Beispiel kann eine XSL-Formatvorlage angeben, dass eine bestimmte Art von Datenelement (zum Beispiel alle Felder "Angestellter") in einer bestimmten Schriftsatzart, Schriftsatzgröße und Farbe mit linksbündiger Ausrichtung angezeigt werden soll. Die in einer XSL-Formatvorlage enthaltenen Formatierungs- und Layoutregeln können logische und bedingte Zweige enthalten. Beispielsweise kann eine XSL-Formatvorlage festlegen, dass alle Felder "Angestellter" rot angezeigt werden, wenn das Alter des Angestellten über 50, in blau, wenn es zwischen 20 und 50, und in grün, wenn es unter 20 ist. Die Regeln können auch den Kontext von Datenelementen berücksichtigen. Zum Beispiel kann eine XSL-Regel festlegen, dass Angestellten-Informationen als eine Tabelle angezeigt werden, wenn die Angestellten-Informationen Teil einer Bestellung sind.
  • Gemäß einer Ausführungsform ist jede Art von Clienteinrichtung mit einer entsprechenden statischen XSL-Formatvorlage verknüpft. Die mit einer Einrichtung verknüpfte XSL-Formatvorlage weist allgemeine Anweisungen darüber auf, wie Daten für die Einrichtung formatiert werden sollten. Alternativ können einzelne XSL-Formatvorlagen für jeden Dienst für jede Einrichtung vorhanden sein. Ferner kann es Benutzern erlaubt sein, ihre Dienste anzupassen, was zu separaten XSL-Formatvorlagen je Nutzer je Dienst je Einrichtung führt. Alternativ können XSL-Formatvorlagen anstatt statisch fliegend erzeugt werden. Zum Beispiel kann eine XSL-Formatvorlage basierend auf einer Dienstdefinition in Antwort auf den so definierten Dienst erzeugt werden, der durch einen bestimmten Benutzer angefordert wird, der eine bestimmte Art von Clienteinrichtung verwendet.
  • Gemäß einem Aspekt der Erfindung sind die in den XSL-Formatvorlagen enthaltenen Anweisungen über Formatierungs- und Layoutanweisungen hinaus ausgeweitet, damit sie Transformationsregeln enthalten, die bewirken, dass das XML-Dokument in eine andere Art von Dokument oder Nachricht transformiert wird. Zum Beispiel kann eine XSL-Formatvorlage Anweisungen zum Transformieren von XML-Dokumenten in HTML-Dokumente enthalten. Eine andere XSL-Formatvorlage kann Anweisungen zum Transformieren von XML-Dokumenten in WML-Dokumente enthalten. Noch eine andere XSL-Formatvorlage kann Anweisungen zum Transformieren von XML-Dokumenten in .pdf- Dokumente enthalten. Die zum Anwenden von XSL-Formatvorlagen auf XML-Dokumente verantwortliche Einheit ist die XSL-Maschine 248, die nun beschrieben werden soll.
  • DIE XSL-MASCHINE
  • Die XSL-Maschine 248 empfängt die gefilterten XML-Antworten von der Filtereinheit 246, bestimmt die XSL-Formatvorlagen, die sich auf das XML-Dokument beziehen und verwendet die Informationen in den anwendbaren Formatvorlagen, um das XML-Dokument in das Format zu konvertieren, das von dem Client angefordert wird, zum welchem das Dokument gesendet werden soll. Das Format des resultierenden Dokuments variiert auf der Basis der XSL-Formatvorlagen, die auf das XML-Dokument durch die XSL-Maschine 248 angewendet werden.
  • In dem Fall, dass die Informationsanforderung anhand einer WAP-fähigen Einrichtung erzeugt wurde, bewirkt die ausgewählte XSL-Formatvorlage, dass das XML-Dokument in ein WML-Dokument konvertiert wird, das gemäß dem WAP-Protokoll zu der WAP-Einrichtung gesendet werden soll. Die mit anderen Arten von Transformationen verknüpften XSL-Formatvorlagen würden für andere Arten von Einrichtungen verwendet werden. Wenn zum Beispiel die anfängliche Anforderung von einem Webbrowser kommen würde, dann würde die XSL-Maschine 248 eine XSL-Formatvorlage anwenden, die XML-Dokumente in HTML transformiert, und das Verbund-XML-Antwort- in ein HTML-Dokument transformieren, das unter Verwendung von HTTP zu dem anfordernden Client zu senden ist.
  • METADATEN
  • Gemäß einer Ausführungsform werden Informationen über den Client und den angeforderten Dienst von dem Vorprozessor 240 zu dem XML-Prozessor 242 zu dem Postprozessor 244 in der Form von Metadaten innerhalb des XML-Anforderungs-/Verbund- Anwortdokuments übergeben. Allgemein weisen Metadaten Informationen auf, die den Betrieb der verschiedenen Komponenten steuern. Zum Beispiel können die Metadaten Daten, die den jeweiligen Client identifizieren, der eine Anforderung ausgibt, die Geräteart des Client, das durch diesen Client unterstützte Protokoll, den Benutzer, der den Client gegenwärtig verwendet, den von dem Client angeforderten Dienst und verschiedene Parameter enthalten, die mit den angeforderten Dienst verknüpft sind.
  • Die mit einer Anforderung verknüpften Parameter, wie zum Beispiel die Kriterien, die in einer Suche spezifiziert sind, können von der Filtereinheit 246 verwendet werden, um zu bestimmen, welche Informationen aus der Verbund-XML-Antwort zu filtern sind. Die Geräteart des Clients, das von dem Client unterstützte Protokoll und die Identität des Benutzers, der den Client gerade verwendet, können alle von der XSL-Maschine 248 verwendet werden, um zu bestimmen, welche Formatvorlagen auf die gefilterte XML-Antwort anzuwenden sind. Die Identität des jeweiligen Client kann von den Postprozessor 244 verwendet werden, um zu bestimmen, wohin die von der XSL-Maschine 248 erzeugten Antwortdokumente zu senden sind.
  • Gemäß einer Ausführungsform werden die mit einer Anforderung verknüpften Metadaten durch den Vorprozessor 240 in den XML-Anforderungsobjekten eingebettet, die durch den Vorprozessor 240 erzeugt werden. Während die XML-Anforderungsobjekte von dem Vorprozessor 240 an den XML-Prozessor 242 übergeben werden, damit sie in Verbund-XML-Antworten transformiert werden, sind die Metadaten enthalten. In gleicher Weise sind die Metadaten enthalten, während die Verbund-XML-Antworten von dem XML-Prozessor 242 an die Filtereinheit 246 übergeben werden, und während die gefilterten XML-Antworten an die XSL-Maschine 248 übergeben werden.
  • DIENSTDEFINITION
  • Gemäß einer Ausführungsform kommuniziert der Administrator des XML-Prozessors 242 die Gateways und Datenquellen, die für den XML-Prozessor 242 verfügbar sind, und ermöglicht, dass Clients ihre eigenen anwenderspezifischen Dienste definieren. Die so definierten anwenderspezifischen Dienste werden in der Konfigurationsdatenbank 254 gespeichert.
  • Verschiedene Mechanismen können verwendet werden, um die Erzeugung von benutzer-maßgeschneiderten Diensten zu ermöglichen. Zum Beispiel können die für den XML-Prozessor 242 verfügbaren Gateways und Datenquellen in der Form von Dienstobjektvorlagen kommuniziert werden, wobei jede Dienstobjektvorlage einem durch den XML-Prozessor 242 bereitgestellten Dienst entspricht. Der Benutzer kann dann die Dienstobjektvorlage durch Liefern benutzerspezifischer Informationen, zum Beispiel der Vielfliegernummer des Benutzers und der von dem Benutzer bevorzugten Fluggesellschaften modifizieren. Die Dienstobjektvorlage kann dann in der Konfigurationsdatenbank 254 gespeichert werden, um zu ermöglichen, dass der so definierte benutzermaßgeschneiderte Dienst durch diesen bestimmten Benutzer angefordert wird.
  • Dadurch, dass es Benutzern ermöglicht wird, auf diese Weise maßgeschneiderte Dienste zu erzeugen, können es Benutzer vermeiden, dass sie bestimmte Informationen jedes Mal dann eingeben müssen, wenn sie eine Anforderung für den Dienst herausgeben. Das ist insbesondere hilfreich, wenn die Einrichtung, durch welche sie die Dienstanforderung ausgeben, keine Benutzerschnittstelle aufweist, die eine einfache Dateneingabe unterstützt. Beispielsweise wäre es für einen Benutzer beschwerlich, eine Vielfliegernummer in eine Mobiltelefon-Benutzerschnittstelle jedes Mal einzugeben, wenn der Benutzer unter Verwendung des Mobiltelefons einen Flug buchen möchte.
  • BELIEBIGER-CLIENT-ANWENDUNGEN
  • Typischerweise sind Client-Server-Softwareanwendungen für bestimmte Clients entwickelt. Zum Beispiel kann eine Softwareanwendung, die ihre Benutzerschnittstellen durch Durchführen von Aufrufen an ein bestimmtes Betriebssystem erzeugt, nur von Clients verwendet werden, die dieses Betriebssystem unterstützen. Gleichermaßen kann eine Softwareanwendung, die ihre Benutzerschnittstellen in HTML erzeugt, mit Clients verwendet werden, die herkömmliche Browser ausführen können.
  • Gemäß einem Aspekt der Erfindung werden die oben beschriebenen Dokument-Konvertierungsverfahren eingesetzt, um zu ermöglichen, dass Softwareanwendungen mit jeder Art von Client arbeiten können, für welche XSL-Formatvorlagen definiert werden können. Zum Zweck der Erklärung werden derart konfigurierte Anwendungen hierin als Beliebiger-Client-Anwendungen bezeichnet.
  • Wieder mit Bezug auf das System 200 stellt jede Anwendung, die ihre Benutzerschnittstelle in XML erzeugt, eine XML-Quelle dar, wie zum Beispiel die XML-Quelle 230. Solche Anwendungen können von jedem Client verwendet werden, für welchen eine XSL-Formatvorlage erzeugt wurde, da das XML-Schnittstellendokument durch die XSL-Maschine 248 für die Anzeige auf jedem solchen Client formatiert werden kann. Ferner können jegliche Anwendungen, die eine Benutzerschnittstelle erzeugen, die, obwohl nicht im XML-Format, durch eine XML-Quelle in das XML-Format konvertiert werden kann, sich auch als Beliebiger-Client-Anwendungen qualifizieren, wenn sie in Verbindung mit dem System 200 verwendet werden.
  • Beliebiger-Client-Anwendungen weisen gegenüber anderen Arten von Anwendungen einen signifikanten Vorteil insofern auf, als der Entwickler der Beliebiger-Client-Anwendung nicht unterschiedliche Versionen der Anwendung für jede der unterschiedlichen Clients erstellen muss, die verwendet werden, um die Anwendung zu betreiben. Beispielsweise kann exakt derselbe Code der Anwendung durch ein WML-fähiges Telefon, einen workstationbasierten Webbrowser und eine Set-Top-Box gesteuert werden.
  • XML-BASIERTE ANWENDUNGEN
  • In der oben gegebenen Beschreibung werden Daten von Datenquellen abgerufen, die nicht selbst XML erzeugen, und es werden Gateways verwendet, um die Daten in XML zu konvertieren. Jedoch können Datenquellen vorgesehen sein, um XML direkt zu erzeugen. Für solche XML-basierten Anwendungen wäre kein Gateway erforderlich. Stattdessen kann der XML-Prozessor 242 konfiguriert sein, um mit ihnen direkt zu interagieren. In 2 stellt die XML-Quelle 230 so eine XML-basierte Anwendung dar.
  • HARDWAREÜBERSICHT
  • 3 ist ein Blockdiagramm, das ein Computersystem 300 darstellt, auf welchem eine Ausführungsform der Erfindung implementiert sein kann. Das Computersystem 300 weist einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen an den Bus 302 gekoppelten Prozessor 304 zum Verarbeiten von Informationen auf. Das Computersystem 300 weist zum Speichern von Informationen und von durch den Prozessor 304 auszuführenden Befehlen auch einen Hauptspeicher 306, wie zum Beispiel einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichereinrichtung auf, die an den Bus 302 gekoppelt ist. Der Hauptspeicher 306 kann auch zum Speichern von temporären Variablen und anderen Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Befehlen verwendet werden. Das Computersystem 300 weist zum Speichern von statischen Informationen und Befehlen für den Prozessor 304 ferner einen Festwertspeicher (ROM) 308 oder eine andere statische Speichereinrichtung auf, die an den Bus 302 gekoppelt ist. Eine Speichereinrichtung 310, wie zum Beispiel eine Magnetplatte oder eine optische Platte, ist zum Speichern von Informationen und Befehlen vorgesehen und an den Bus 302 gekoppelt.
  • Das Computersystem 300 kann über den Bus 302 an eine Anzeige 312, wie zum Beispiel eine Kathodenstrahlröhre (CRT) gekoppelt sein, um einem Computerbenutzer Informationen anzuzeigen. Eine Eingabeeinrichtung 314, die alphanumerische und andere Tasten aufweist, ist zum Kommunizieren von Informationen und Befehlsauswahlen an den Prozessor 304 an den Bus 302 gekoppelt. Eine andere Art von Benutzereingabeeinrichtung ist eine Cursorsteuerung 316, wie zum Beispiel eine Maus, ein Trackball oder Cursor-Richtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabeeinrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (zum Beispiel x) und einer zweiten Achse (zum Beispiel y) auf, was es der Einrichtung ermöglicht, Positionen in einer Ebene festzulegen.
  • Die Erfindung bezieht sich auf die Verwendung des Computersystems 300 zum Implementieren der hierin beschriebenen Verfahren. Gemäß einer Ausführungsform der Erfindung werden diese Verfahren durch das Computersystem 300 in Antwort auf den Prozessor 304 implementiert, der eine oder mehrere Sequenzen von einem oder mehreren in dem Hauptspeicher 306 enthaltenen Befehlen ausführt. Solche Befehle können von einem anderen computerlesbaren Medium, wie zum Beispiel der Speichereinrichtung 310, in den Hauptspeicher 306 eingelesen werden. Die Ausführung der in dem Hauptspeicher 306 enthaltenen Befehlssequenzen bewirkt, dass der Prozessor 304 die hierin beschriebenen Prozessschritte ausführt. In alternativen Ausführungsformen kann eine festverdrahtete Schaltung anstelle von oder in Kombination mit Softwarebefehlen verwendet werden, um die Erfindung zu implementieren. Folglich sind die Ausführungsformen der Erfindung nicht auf irgendeine bestimmte Kombination aus Hardware-Schaltungstechnik und Software beschränkt.
  • Der Begriff "computerlesbares Medium", wie er hierin verwendet wird, bezieht sich auf jedes Medium, das beim Bereitstellen von Befehlen an den Prozessor 304 zur Ausführung beteiligt ist. So ein Medium kann viele Formen annehmen, einschließlich, aber nicht beschränkt auf nichtflüchtige Medien, flüchtige Medien und Übertragungsmedien. Nichtflüchtige Medien schließt beispielsweise optische oder magnetische Platten ein, wie zum Beispiel die Speichereinrichtung 310. Flüchtige Medien schließt dynamischen Speicher ein, wie zum Beispiel den Hauptspeicher 306. Übertragungsmedien schließt Koaxialkabel, Kupferdraht und Faseroptik einschließlich die Kabel ein, die den Bus 302 umfassen. Übertragungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, wie zum Beispiel jene, die bei einer Radiowellen- und Infrarot-Datenkommunikation erzeugt werden.
  • Bekannte Formen von computerlesbaren Medien schließen beispielsweise eine Diskette, eine flexible Platte, eine Festpatte, ein Magnetband oder irgendein anderes magnetisches Medium, eine CD-ROM, irgendein anderes optisches Medium, Lochkarten, einen Lochstreifen, irgendein anderes physisches Medium mit Löchermustern, einen RAM, einen PROM und einen EPROM, einen Flash-EPROM, irgendeinen anderen Speicherchip oder irgendeine andere Speicherkassette, eine Trägerwelle wie nachstehend beschrieben oder irgendein anderes Medium ein, von welchem ein Computer lesen kann.
  • Verschiedene Formen von computerlesbaren Medien können beim Übertragen einer oder mehrerer Sequenzen von einem oder mehreren Befehlen zu dem Prozessor 304 zur Ausführung einbezogen sein. Zum Beispiel können die Befehle anfänglich auf einer magnetischen Platte eines entfernten Computers getragen werden. Der entfernte Computer kann die Befehle in seinen dynamischen Speicher laden und die Befehle über eine Telefonleitung unter Verwendung eines Modems senden. Ein Modem lokal zu dem Computersystem 300 kann die Daten auf der Telefonleitung empfangen und einen Infrarotsender verwenden, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor kann die in dem Infrarotsignal transportierten Daten empfangen, und eine geeignete Schaltung kann die Daten auf dem Bus 302 platzieren. Der Bus 302 transportiert die Daten zum Hauptspeicher 306, von welchem der Prozessor 304 die Befehle abruft und ausführt. Die von dem Hauptspeicher 306 empfangenen Befehle können optional in der Speichereinrichtung 310 entweder vor oder nach der Ausführung durch den Prozessor 304 gespeichert werden.
  • Das Computersystem 300 weist auch eine an den Bus 302 gekoppelte Kommunikationsschnittstelle 318 auf. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikation bereit, die an eine Netzwerkverbindung 320 koppelt, die mit einem lokalen Netzwerk 322 verbunden ist. Beispielsweise kann die Kommunikationsschnittstelle 318 eine Dienstintegriertes-Digitalnetz(ISDN)-Karte oder ein Modem sein, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung bereitzustellen. Als ein anderes Beispiel kann die Kommunikationsschnittstelle 318 eine Lokales-Netz(LAN)-Karte sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. Drahtlose Verbindungen können auch implementiert sein. In jeder solchen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren, die verschiedene Arten von Informationen darstellen.
  • Die Netzwerkverbindung 320 stellt typischerweise eine Datenkommunikation durch ein oder mehrere Netzwerke zu anderen Dateneinrichtungen bereit. Beispielsweise kann die Netzwerkverbindung 320 eine Verbindung durch ein lokales Netz 322 zu einem Hostcomputer 324 oder zu einer durch einen Internet Service Provider (ISP) 326 betriebenen Dateneinrichtung bereitstellen. Der ISP 326 stellt wiederum Datenkommunikationsdienste durch das weltweite Datenpaket-Kommunikationsnetzwerk bereit, das nun üblich als das "Internet" 328 bezeichnet wird. Sowohl das lokale Netz 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale durch die verschiedenen Netze und die Signale auf der Netzwerkverbindung 320 und durch die Kommunikationsschnittstelle 318, welche die digitalen Daten zu und von dem Computersystem 300 transportieren, sind beispielhafte Formen von Trägerwellen, die die Informationen transportieren.
  • Das Computersystem 300 kann durch das/die Netz(e), die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. In dem Internet-Beispiel kann ein Server 330 einen angeforderten Code für ein Anwendungsprogramm durch das Internet 328, den ISP 326, das lokale Netz 322 und die Kommunikationsschnittstelle 318 übertragen. Gemäß der Erfindung implementiert eine solche heruntergeladene Anwendung die hierin beschriebenen Verfahren.
  • Der empfangene Code kann durch den Prozessor 304 ausgeführt werden, wie er empfangen wird, und/oder in der Speichereinrichtung 310 oder einem anderen nichtflüchtigen Speicher für eine spätere Ausführung gespeichert werden. Auf diese Weise kann das Computersystem 300 Anwendungscode in der Form einer Trägerwelle erhalten.
  • In der vorangehenden Beschreibung wurde die Erfindung mit Bezug auf bestimmte Ausführungsformen davon beschrieben. Es ist jedoch offensichtlich, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne sich von dem Bereich der Erfindung zu entfernen. Die Beschreibung und die Zeichnungen sind dementsprechend eher in einem veranschaulichenden als in einem restriktiven Sinn zu betrachten.

Claims (35)

  1. Verfahren zum Abrufen von Informationen von einer oder mehreren Datenquellen, wobei das Verfahren die Schritte aufweist: Empfangen, von einer bestimmten Art von Client (210, 270, 272), einer Anforderung für einen Dienst; wobei die Anforderung für den Dienst von einem bestimmten Benutzer gesendet wird; Erzeugen, basierend auf einem ersten Satz von Parametern, eines Anforderungsobjekts; wobei der erste Satz von Parametern die Identität des Dienstes aufweist; Übertragen, basierend auf dem Anforderungsobjekt, der Anforderungen zu einer oder mehreren Datenquellen; Empfangen von Antworten auf die Anforderungen von der einen oder den mehreren Datenquellen in einem oder mehreren Formaten mit Ausnahme von einem ersten bestimmten Format; Konvertieren der Antworten in das erste bestimmte Format; Erzeugen, basierend auf den Antworten, eines Verbund-Antwortdokuments in dem ersten bestimmten Format; Transformieren des Verbund-Antwortdokuments in eine Antwort, die in einem zweiten bestimmten Format formatiert ist, basierend auf einem zweiten Satz von Parametern, wobei das zweite bestimmte Format ein Format ist, das von der bestimmten Art von Client (210, 270, 272) gefordert wird; wobei der zweite Satz von Parametern die Identität der bestimmten Art von Client (210, 270, 272) aufweist; und Senden der in dem zweiten bestimmten Format formatierten Antwort zu dem bestimmten Benutzer.
  2. Verfahren nach Anspruch 1, ferner aufweisend die Schritte: Einbetten eines oder mehrerer Filterkriterien innerhalb des Anforderungsobjekts; und Filtern von Daten aus dem Verbund-Antwortdokument basierend auf den Filterkriterien vor dem Transformieren des Verbund-Antwortdokuments.
  3. Verfahren nach Anspruch 2, wobei: eine der Anforderungen an eine oder mehrere Datenquellen einen Suchmechanismus an einer Datenquelle aufruft, basierend auf einem ersten Satz von Suchkriterien; und der Schritt des Filterns von Daten das Filtern von Daten aufweist, die von der Datenquelle stammen, basierend auf einem zweiten Satz von Suchkriterien.
  4. Verfahren nach Anspruch 1, wobei der erste Satz von Parametern zum Erzeugen des Anforderungsobjekts die Identität des bestimmten Benutzers aufweist.
  5. Verfahren nach Anspruch 1, wobei: der Schritt des Erzeugens des Anforderungsobjekts das Erzeugen von Filterkriterien aufweist; und das Verfahren das Filtern von Daten aus dem Verbund-Antwortdokument basierend auf den Filterkriterien vor dem Transformieren des Verbund-Antwortdokuments aufweist.
  6. Verfahren nach Anspruch 1, wobei: der Schritt des Empfangens von Antworten auf die Anforderungen von der einen oder den mehreren Datenquellen in einem oder mehreren Formaten mit Ausnahme von einem ersten bestimmten Format das Empfangen von Antworten auf die Anforderungen von der einen oder den mehreren Datenquellen in einem oder mehreren Formaten mit Ausnahme von XML aufweist; der Schritt des Konvertierens der Antworten in das erste bestimmte Format das Konvertieren der Antworten in XML aufweist; der Schritt des Erzeugens eines Verbund-Antwortdokuments in dem ersten bestimmten Format das Erzeugen eines Verbund-Antwortdokuments in XML aufweist; und der Schritt des Transformierens des Verbund-Antwortdokuments in eine Antwort, die in einem zweiten bestimmten Format formatiert ist, das Transformieren des Verbund-Antwortdokuments in ein Format mit Ausnahme von XML aufweist.
  7. Verfahren nach Anspruch 6, wobei der Schritt des Transformierens aufweist: Identifizieren einer oder mehrerer XSL-Formatvorlagen (250) basierend auf dem zweiten Satz von Parametern; und Anwenden der einen oder der mehreren XSL-Formatvorlagen (250) auf das Verbund-Antwortdokument.
  8. Verfahren nach Anspruch 1, wobei: die eine oder die mehreren Datenquellen aufweisen: eine erste Datenquelle, die ein erstes Protokoll unterstützt und durch ein erstes Gateway zugänglich ist; und eine zweite Datenquelle, die ein zweites Protokoll unterstützt und durch ein zweites Gateway zugänglich ist; und der Schritt des Konvertierens der Antworten in das erste bestimmte Format aufweist: das erste Gateway konvertiert eine Antwort von der ersten Datenquelle in das erste bestimmte Format; und das zweite Gateway konvertiert eine Antwort von der zweiten Datenquelle in das erste bestimmte Format.
  9. Verfahren nach Anspruch 8, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein Datenbanksystem ist.
  10. Verfahren nach Anspruch 8, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein HTTP-Server (110) ist.
  11. Verfahren nach Anspruch 10, wobei die in dem zweiten bestimmten Format formatierte Antwort ein HTML-Dokument ist.
  12. Verfahren nach Anspruch 6, wobei: der Schritt des Erzeugens eines Anforderungsobjekts das Erzeugen eines XML-Anforderungsdokuments aufweist, das nicht aufgelöste Links aufweist; und der Schritt des Übertragens von Anforderungen zu einer oder mehreren Quellen das Auflösen der nicht aufgelösten Links aufweist.
  13. Verfahren nach Anspruch 12, wobei der Schritt des Erzeugens des Verbund-Antwortdokuments das Ersetzen der nicht aufgelösten Links in dem XML-Anforderungsdokument mit basierend auf den Antworten von der einen oder den mehreren Datenquellen erzeugten XML-Daten aufweist.
  14. Verfahren nach Anspruch 1, wobei die bestimmte Art von Client (210, 270, 272) ein Mobiltelefon (210) ist.
  15. Verfahren nach Anspruch 1, wobei: das Verfahren ferner die Schritte aufweist: Empfangen von Daten, die benutzerspezifische Anpassungen an Dienste kennzeichnen; Speichern der Daten in einer Konfigurationsdatenbank (254); Durchsuchen der Konfigurationsdatenbank (254) nach den benutzerspezifischen Anpassungen in Antwort auf das Empfangen der Anforderung für den Dienst; der erste Satz von Parametern, der verwendet wird, um das Anforderungsobjekt zu erzeugen, die benutzerspezifischen Anpassungen aufweist.
  16. Verfahren nach Anspruch 1, wobei: die eine oder die mehreren Datenquellen aufweisen: eine erste Webseite, die durch ein Gateway zugänglich ist; und eine zweite Webseite, die durch das Gateway zugänglich ist; und der Schritt des Konvertierens der Antworten in das erste bestimmte Format aufweist: das Gateway konvertiert eine erste Antwort von der ersten Webseite in das erste bestimmte Format; und das Gateway konvertiert eine zweite Antwort von der zweiten Webseite in das erste bestimmte Format.
  17. System (200) zum Übertragen von Informationen zwischen Clients (210, 270, 272) und Datenquellen, wobei das System (200) aufweist: einen Anforderungs-Vorprozessor (240), einen Anforderungs-Prozessor (242), ein oder mehrere Gateways (232, 234) und einen Postprozessor (244); wobei der Anforderungs-Vorprozessor (240) konfiguriert ist, um Dienstanforderungen von den Clients (210, 270, 272) zu empfangen; Anforderungsobjekte für die Dienstanforderungen zu erzeugen; und die Anforderungsobjekte dem Anforderungs-Prozessor (242) zu übergeben; wobei der Anforderungs-Prozessor (242) betriebsmäßig an den Anforderungs-Vorprozessor (240) und an das eine oder die mehreren Gateways (232, 234) gekoppelt ist, wobei der Anforderungs-Prozessor (242) konfiguriert ist, um auf die Anforderungsobjekte durch Senden von Anforderungen zu den Datenquellen durch das eine oder die mehreren Gateways (232, 234) zu antworten; wobei das eine oder die mehreren Gateways (232, 234) betriebsmäßig zwischen den Anforderungs-Prozessor (242) und die Datenquellen gekoppelt sind, wobei das eine oder die mehreren Gateways (232, 234) konfiguriert sind, um zwischen einem ersten bestimmten Format und einem oder mehreren anderen Formaten zu übersetzen, die Anforderungen an Datenquellen in das eine oder die mehreren Formate vor dem Ausgeben der Anforderungen an die Datenquellen zu konvertieren, Antworten von den Datenquellen in das erste bestimmte Format zu konvertieren, und die Antworten in dem ersten bestimmten Format an den Anforderungs-Prozessor (242) zu übergeben; wobei der Anforderungs-Prozessor (242) ferner konfiguriert ist, um Verbund-Antwortdokumente in dem ersten bestimmten Format basierend auf den Antworten zu erzeugen und die Verbund-Antwortdokumente an den Postprozessor (244) zu übergeben; wobei der Postprozessor (244) betriebsmäßig an den Anforderungsprozessor (242) gekoppelt ist, wobei der Postprozessor (244) konfiguriert ist, um die Verbund-Antwortdokumente von dem ersten bestimmten Format in Client-spezifische Antworten mit Formaten zu transformieren, die von den Clients (210, 270, 272) gefordert werden, und die Client-spezifischen Antwortdokumente zu den Clients (210, 270, 272) zu senden.
  18. System nach Anspruch 17, wobei das erste bestimmte Format XML ist.
  19. System nach Anspruch 18, wobei die Anforderungsobjekte XML-Dokumente sind.
  20. System nach Anspruch 18, wobei der Postprozessor (244) eine XSL-Maschine (248) aufweist, die die Verbund-Antwortdokumente transformiert durch: Auswählen einer oder mehrerer XSL-Formatvorlagen (250) basierend auf einem ersten Satz von Parametern, wobei dieser erste Satz von Parametern die Art der Clients (210, 270, 272) aufweist; und Anwenden der einen oder der mehreren XSL-Formatvorlagen (250).
  21. System nach Anspruch 17, wobei der Vorprozessor (240) die Anforderungsobjekte basierend auf einem bestimmten Satz von Parametern erzeugt, wobei dieser bestimmte Satz von Parametern die Identität von Benutzern aufweist, die die Dienstanforderungen einreichen.
  22. Computerlesbares Medium, das Anweisungen zum Abrufen von Informationen von einer oder mehreren Datenquellen trägt, wobei das computerlesbare Medium Befehle zum Ausführen der Schritte aufweist: Empfangen, von einer bestimmten Art von Client (210, 270, 272), einer Anforderung für einen Dienst; wobei die Anforderung für den Dienst von einem bestimmten Benutzer gesendet wird; Erzeugen, basierend auf einem ersten Satz von Parametern, eines Anforderungsobjekts; wobei der erste Satz von Parametern die Identität des Dienstes aufweist; Übertragen, basierend auf dem Anforderungsobjekt, der Anforderungen zu einer oder mehreren Datenquellen; Empfangen von Antworten auf die Anforderungen von der einen oder den mehreren Datenquellen in einem oder mehreren Formaten mit Ausnahme von einem ersten bestimmten Format; Konvertieren der Antworten in das erste bestimmte Format; Erzeugen, basierend auf den Antworten, eines Verbund-Antwortdokuments in dem ersten bestimmten Format; Transformieren des Verbund-Antwortdokuments in eine Antwort, die in einem zweiten bestimmten Format formatiert ist, basierend auf einem zweiten Satz von Parametern; wobei der zweite Satz von Parametern die Identität der bestimmten Art von Client (210, 270, 272) aufweist und wobei das zweite bestimmte Format ein Format ist, das von der bestimmten Art von Client (210, 270, 272) gefordert wird; Senden der in dem zweiten bestimmten Format formatierten Antwort zu dem bestimmten Benutzer.
  23. Computerlesbares Medium nach Anspruch 22, wobei der erste Satz von Parametern zum Erzeugen des Anforderungsobjekts die Identität des bestimmten Benutzers aufweist.
  24. Computerlesbares Medium nach Anspruch 22, wobei: der Schritt des Erzeugens des Anforderungsobjekts das Erzeugen von Filterkriterien aufweist; und das computerlesbare Medium Anweisungen zum Filtern von Daten aus dem Verbund-Antwortdokument basierend auf den Filterkriterien vor dem Transformieren des Verbund-Antwortdokuments aufweist.
  25. Computerlesbares Medium nach Anspruch 22, wobei: der Schritt des Empfangens von Antworten auf die Anforderungen von der einen oder den mehreren Datenquellen in einem oder mehreren Formaten mit Ausnahme von einem ersten bestimmten Format das Empfangen von Antworten auf die Anforderungen von der einen oder den mehreren Datenquellen in einem oder mehreren Formaten mit Ausnahme von XML aufweist; der Schritt des Konvertierens der Antworten in das erste bestimmte Format das Konvertieren der Antworten in XML aufweist; der Schritt des Erzeugens eines Verbund-Antwortdokuments in dem ersten bestimmten Format das Erzeugen eines Verbund-Antwortdokuments in XML aufweist; und der Schritt des Transformierens des Verbund-Antwortdokuments in eine Antwort, die in einem zweiten bestimmten Format formatiert ist, das Transformieren des Verbund-Antwortdokuments in ein Format mit Ausnahme von XML aufweist.
  26. Computerlesbares Medium nach Anspruch 25, wobei der Schritt des Transformierens aufweist: Identifizieren einer oder mehrerer XSL-Formatvorlagen (250) basierend auf dem zweiten Satz von Parametern; und Anwenden der einen oder der mehreren XSL-Formatvorlagen (250) auf das Verbund-Antwortdokument.
  27. Computerlesbares Medium nach Anspruch 22, wobei: die eine oder die mehreren Datenquellen aufweisen: eine erste Datenquelle, die ein erstes Protokoll unterstützt und durch ein erstes Gateway zugänglich ist; und eine zweite Datenquelle, die ein zweites Protokoll unterstützt und durch ein zweites Gateway zugänglich ist; und der Schritt des Konvertierens der Antworten in das erste bestimmte Format aufweist: das erste Gateway konvertiert eine Antwort von der ersten Datenquelle in das erste bestimmte Format; und das zweite Gateway konvertiert eine Antwort von der zweiten Datenquelle in das erste bestimmte Format.
  28. Computerlesbares Medium nach Anspruch 27, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein Datenbanksystem ist.
  29. Computerlesbares Medium nach Anspruch 27, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein HTTP-Server (110) ist.
  30. Computerlesbares Medium nach Anspruch 29, wobei die in einem zweiten bestimmten Format formatierte Antwort ein HTML-Dokument ist.
  31. Computerlesbares Medium nach Anspruch 25, wobei: der Schritt des Erzeugens eines Anforderungsobjekts das Erzeugen eines XML-Anforderungsdokuments aufweist, das nicht aufgelöste Links aufweist; und der Schritt des Übertragens von Anforderungen zu einer oder mehreren Datenquellen das Auflösen der nicht aufgelösten Links aufweist.
  32. Computerlesbares Medium nach Anspruch 31, wobei der Schritt des Erzeugens des Verbund-Antwortdokuments das Ersetzen der nicht aufgelösten Links in dem XML- Anforderungsdokument mit basierend auf den Antworten von der einen oder den mehreren Datenquellen erzeugten XML-Daten aufweist.
  33. Computerlesbares Medium nach Anspruch 22, wobei die bestimmte Art von Client (210, 270, 272) ein Mobiltelefon (210) ist.
  34. Computerlesbares Medium nach Anspruch 22, wobei: das computerlesbare Medium ferner Anweisungen zum Ausführen der Schritte aufweist: Empfangen von Daten, die benutzerspezifische Anpassungen an Dienste kennzeichnen; Speichern der Daten in einer Konfigurationsdatenbank (254); Durchsuchen der Konfigurationsdatenbank (254) nach den benutzerspezifischen Anpassungen in Antwort auf das Empfangen der Anforderung für den Dienst; der erste Satz von Parametern, der verwendet wird, um das Anforderungsobjekt zu erzeugen, die benutzerspezifischen Anpassungen aufweist.
  35. Computerlesbares Medium nach Anspruch 22, wobei: die eine oder die mehreren Datenquellen aufweisen: eine erste Webseite, die durch ein Gateway zugänglich ist; und eine zweite Webseite, die durch das Gateway zugänglich ist; und der Schritt des Konvertierens der Antworten in das erste bestimmte Format aufweist: das Gateway konvertiert eine erste Antwort von der ersten Webseite in das erste bestimmte Format; und das Gateway konvertiert eine zweite Antwort von der zweiten Webseite in das erste bestimmte Format.
DE60028561T 1999-03-17 2000-03-16 Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen Active DE60028561T2 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US12477499P true 1999-03-17 1999-03-17
US124774P 1999-03-17
US09/454,515 US6826597B1 (en) 1999-03-17 1999-12-06 Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US454515 1999-12-06
PCT/US2000/006813 WO2000056033A1 (en) 1999-03-17 2000-03-16 Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients

Publications (2)

Publication Number Publication Date
DE60028561D1 DE60028561D1 (de) 2006-07-20
DE60028561T2 true DE60028561T2 (de) 2007-05-16

Family

ID=26822938

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60028561T Active DE60028561T2 (de) 1999-03-17 2000-03-16 Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen

Country Status (9)

Country Link
US (1) US6826597B1 (de)
EP (1) EP1166524B1 (de)
JP (1) JP2002539547A (de)
AT (1) AT329440T (de)
AU (1) AU759477B2 (de)
CA (1) CA2368089C (de)
DE (1) DE60028561T2 (de)
HK (1) HK1040856A1 (de)
WO (1) WO2000056033A1 (de)

Families Citing this family (236)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609153B1 (en) 1998-12-24 2003-08-19 Redback Networks Inc. Domain isolation through virtual network machines
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
AT258700T (de) * 1999-07-15 2004-02-15 Richard B Himmelstein Kommunikationsvorrichtung zum effizienten zugang zu daten aus dem internet
US6763343B1 (en) * 1999-09-20 2004-07-13 David M. Brooke Preventing duplication of the data in reference resource for XML page generation
US6950881B1 (en) * 1999-11-02 2005-09-27 Mshift, Inc. System for converting wireless communications for a mobile device
AU4513401A (en) * 1999-11-30 2001-06-18 Broadvision Inc. Customization of output content based on device type
US7739407B1 (en) * 1999-12-29 2010-06-15 Nokia Siemens Networks Oy Systems for customizing behaviors and interfaces in service invocations
CN1128531C (zh) * 1999-12-30 2003-11-19 国际商业机器公司 可接插式服务发送平台
CA2297596A1 (en) * 2000-01-31 2001-06-23 Blair Wall Method and system for reusing internet-based applications
US7305401B2 (en) 2000-03-09 2007-12-04 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizing a multitude of search methodologies
AU4015401A (en) * 2000-03-15 2001-09-24 Telecomm Systems Inc Mobile originated internet relay chat
US20010037405A1 (en) * 2000-04-07 2001-11-01 Sideek Sinnathambi Mohamed Wireless web generation from conventional web sites by pattern identification and dynamic content extraction
US7522911B2 (en) 2000-04-11 2009-04-21 Telecommunication Systems, Inc. Wireless chat automatic status tracking
AU5336101A (en) 2000-04-11 2001-10-23 Telecomm Systems Inc Intelligent delivery agent for short message distribution center
US7949773B2 (en) * 2000-04-12 2011-05-24 Telecommunication Systems, Inc. Wireless internet gateway
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
US6732175B1 (en) 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US7162542B2 (en) 2000-04-13 2007-01-09 Intel Corporation Cascading network apparatus for scalability
US20020004816A1 (en) * 2000-04-17 2002-01-10 Mark Vange System and method for on-network storage services
US6891811B1 (en) * 2000-04-18 2005-05-10 Telecommunication Systems Inc. Short messaging service center mobile-originated to HTTP internet communications
US8296792B2 (en) 2000-04-24 2012-10-23 Tvworks, Llc Method and system to provide interactivity using an interactive channel bug
US7668963B1 (en) * 2000-04-24 2010-02-23 Tvworks, Llc News architecture for iTV
US9788058B2 (en) 2000-04-24 2017-10-10 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US7702995B2 (en) 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US7024461B1 (en) * 2000-04-28 2006-04-04 Nortel Networks Limited Session initiation protocol enabled set-top device
AU6163601A (en) * 2000-05-16 2001-11-26 Mshift Inc System for providing network content to wireless devices
US7219136B1 (en) * 2000-06-12 2007-05-15 Cisco Technology, Inc. Apparatus and methods for providing network-based information suitable for audio output
US6961330B1 (en) * 2000-06-23 2005-11-01 Comverse Ltd. Web development and deployment using SMS and USSD
US7814174B2 (en) * 2000-10-20 2010-10-12 Jerding Dean F Adaptation to device-capability based on device characteristics
CA2375028A1 (en) * 2000-08-05 2002-02-14 Idesta Group Limited Mobile computing system architecture
US7099958B2 (en) * 2000-08-15 2006-08-29 Fujitsu Limited System for designing and performing web application
US20020091680A1 (en) * 2000-08-28 2002-07-11 Chirstos Hatzis Knowledge pattern integration system
GB2366690A (en) * 2000-08-29 2002-03-13 Nokia Mobile Phones Ltd Transfer of bookmark information
US7657833B2 (en) 2000-09-15 2010-02-02 Hartford Fire Insurance Company Real-time single entry multiple carrier interface (SEMCI)
US8806326B1 (en) * 2000-09-25 2014-08-12 Nokia Inc. User preference based content linking
US7613810B2 (en) 2000-09-27 2009-11-03 Nokia Inc. Segmenting electronic documents for use on a device of limited capability
KR100903528B1 (ko) 2000-09-27 2009-06-19 노키아 인크 성능이 제한된 장치를 위한 전자문서의 세그먼트화
US6895425B1 (en) * 2000-10-06 2005-05-17 Microsoft Corporation Using an expert proxy server as an agent for wireless devices
US20020161928A1 (en) * 2000-10-10 2002-10-31 Awele Ndili Smart agent for providing network content to wireless devices
SE517166C2 (sv) * 2000-10-10 2002-04-23 Print Dreams Europe Ab Mobilt system för åtkomst och visualisering av standard internet innehåll och tjänster
AU9221001A (en) * 2000-10-11 2002-04-22 Dimon Hugbunadarhus Ehf A method for communicating between a transmitting device and a receiving device
US7149969B1 (en) * 2000-10-18 2006-12-12 Nokia Corporation Method and apparatus for content transformation for rendering data into a presentation format
US20020126990A1 (en) * 2000-10-24 2002-09-12 Gary Rasmussen Creating on content enhancements
EP1344132A4 (de) * 2000-10-30 2006-01-04 Mcafee Com Inc Drahtlosprotokollinformationen für vermarktungsgelegenheiten
US7801958B1 (en) * 2000-10-30 2010-09-21 Nokia Corporation Content converter portal
US7574486B1 (en) * 2000-11-06 2009-08-11 Telecommunication Systems, Inc. Web page content translator
US7483983B1 (en) * 2000-11-13 2009-01-27 Telecommunication Systems, Inc. Method and system for deploying content to wireless devices
US7519654B1 (en) 2000-11-22 2009-04-14 Telecommunication Systems, Inc. Web gateway multi-carrier support
DE10058395A1 (de) * 2000-11-24 2002-06-13 Siemens Ag Verfahren und Vorrichtung zur Datenwandlung
US7970437B2 (en) * 2000-11-29 2011-06-28 Nokia Corporation Wireless terminal device with user interaction system
WO2002045344A2 (en) * 2000-11-30 2002-06-06 Message Machines, Inc. Systems and methods for routing messages to communications devices
US20020095445A1 (en) * 2000-11-30 2002-07-18 Philips Electronics North America Corp. Content conditioning method and apparatus for internet devices
US8219662B2 (en) 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US6978301B2 (en) 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
AU2879502A (en) * 2000-12-06 2002-06-18 Adjectivity Inc Method, system and computer program for enhanced access to content over a network
FI20002720A (fi) 2000-12-12 2002-06-13 Nokia Corp Menetelmä konversioiden suorittamiseksi
EP1215547B1 (de) * 2000-12-15 2007-01-03 Siemens Aktiengesellschaft Verschlüsselung von Steuerungsprogrammen
JP3943830B2 (ja) * 2000-12-18 2007-07-11 株式会社東芝 文書合成方法および文書合成装置
GB2370450B (en) * 2000-12-19 2004-07-07 Voxsurf Ltd Messaging protocol
US7107279B2 (en) * 2000-12-20 2006-09-12 Insitech Group, Inc. Rapid development in a distributed application environment
US20020078253A1 (en) * 2000-12-20 2002-06-20 Gyorgy Szondy Translation of digital contents based on receiving device capabilities
EP1220507A1 (de) 2000-12-22 2002-07-03 Sun Microsystems, Inc. Erzeugung von WEB-Inhalten in einem Client-Server System
WO2002054800A2 (en) * 2001-01-08 2002-07-11 Bmd Wireless Ag Method and message server for conveying messages in a telecommunications network
US20020103876A1 (en) * 2001-01-29 2002-08-01 Masayuki Chatani System and computer-based method for providing transformed information in response to a client search request
US20020103877A1 (en) * 2001-01-29 2002-08-01 Robert Gagnon Method and system for wireless access to a user's computer
US7716591B2 (en) * 2001-01-31 2010-05-11 Computer Associates Think, Inc. System and method for dynamically generating a web page
US20020107891A1 (en) * 2001-02-06 2002-08-08 Leamon Andrew P. Device-independent content acquisition and presentation
US7296226B2 (en) 2001-02-15 2007-11-13 Accenture Gmbh XML-based multi-format business services design pattern
EP1237075A1 (de) * 2001-02-16 2002-09-04 Abb Research Ltd. Prä-Prozessor für vorgegebene Dokumententypdefinition, System zur Verarbeitung von Auszeichnungssprachen-Dokumenten, Verfahren und Computerprogrammprodukt dazu
US7415669B1 (en) * 2001-02-27 2008-08-19 Open Invention Network Method and apparatus for viewing electronic commerce-related documents
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
US20020184269A1 (en) * 2001-03-14 2002-12-05 Satoshi Imagou Document management systems for and methods of sharing documents
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US7020721B1 (en) * 2001-04-02 2006-03-28 Palmsource, Inc. Extensible transcoder annotation for transcoding proxy servers
US20020147712A1 (en) * 2001-04-09 2002-10-10 Xmlcities, Inc. Method and apparatus for aggregating and dispatching information in distributed systems
US8180904B1 (en) 2001-04-26 2012-05-15 Nokia Corporation Data routing and management with routing path selectivity
US8990334B2 (en) * 2001-04-26 2015-03-24 Nokia Corporation Rule-based caching for packet-based data transfer
US9143545B1 (en) 2001-04-26 2015-09-22 Nokia Corporation Device classification for media delivery
US9032097B2 (en) * 2001-04-26 2015-05-12 Nokia Corporation Data communication with remote network node
US9400875B1 (en) 2005-02-11 2016-07-26 Nokia Corporation Content routing with rights management
US20040015890A1 (en) * 2001-05-11 2004-01-22 Windriver Systems, Inc. System and method for adapting files for backward compatibility
WO2002097625A1 (en) * 2001-05-29 2002-12-05 America Online Incorporated Customization of error handling based on type of user agent
US8700781B2 (en) * 2001-06-12 2014-04-15 Verizon Business Global Llc Automated processing of service requests using structured messaging protocols
US20020188688A1 (en) * 2001-06-12 2002-12-12 Bice Richard S. Automated message handling system and process
US6886046B2 (en) * 2001-06-26 2005-04-26 Citrix Systems, Inc. Methods and apparatus for extendible information aggregation and presentation
US6829745B2 (en) 2001-06-28 2004-12-07 Koninklijke Philips Electronics N.V. Method and system for transforming an XML document to at least one XML document structured according to a subset of a set of XML grammar rules
US8181164B1 (en) 2001-06-29 2012-05-15 Versata Development Group, Inc. Method and apparatus for extensibility of user interface binding definitions
EP2375320A3 (de) 2001-06-30 2012-07-11 Cokinetics Systems Internetschnittstellen- und Integrationssprachsystem und Verfahren
EP1405244A2 (de) 2001-07-06 2004-04-07 Angoss Software Corporation Ein verfahren und system zur sichtdarstellung von modellen für "data-mining"
EP1274011B1 (de) * 2001-07-06 2017-05-03 Alcatel Lucent Verfahren und system zum leiten und registrieren einer anfrage
US7162534B2 (en) * 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
US20030033432A1 (en) * 2001-08-08 2003-02-13 Simpson Shell S. Web based imaging service that converts web pages into content on behalf of another web site
US6996537B2 (en) 2001-08-13 2006-02-07 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
US20030054806A1 (en) * 2001-08-15 2003-03-20 Raymond Ho System and method for defining, creating and deploying wireless applications
US9203923B2 (en) * 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
US6785685B2 (en) 2001-08-22 2004-08-31 International Business Machines Corporation Approach for transforming XML document to and from data objects in an object oriented framework for content management applications
US8296400B2 (en) 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
US7200548B2 (en) * 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
US7216294B2 (en) * 2001-09-04 2007-05-08 Microsoft Corporation Method and system for predicting optimal HTML structure without look-ahead
US20030079032A1 (en) * 2001-09-10 2003-04-24 John Orsolits Enterprise software gateway
CA2357165A1 (en) 2001-09-10 2003-03-10 Ibm Canada Limited - Ibm Canada Limitee Configurable connector
US7353287B2 (en) * 2001-09-26 2008-04-01 Adobe Systems Incorporated Marked foreign data blocks
US20030079053A1 (en) * 2001-10-23 2003-04-24 Kevin Burns System and method for evaluating effectiveness of network configuration management tools
JP2003131930A (ja) * 2001-10-26 2003-05-09 Nec Corp コンテンツ変換処理装置、スタイルシート自動選択方法、およびそのプログラム
US7426486B2 (en) * 2001-10-31 2008-09-16 Call-Tell Llc Multi-party reporting system and method
US7212301B2 (en) * 2001-10-31 2007-05-01 Call-Tell Llc System and method for centralized, automatic extraction of data from remotely transmitted forms
US7177823B2 (en) * 2001-11-06 2007-02-13 International Business Machines Corporation In-queue jobs information monitoring and filtering
DE10157251A1 (de) * 2001-11-22 2003-06-05 Siemens Ag Verfahren zum Zugriff auf Daten eines Automatisierungsgerätes und Automatisierungsgerät
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
US8285880B2 (en) * 2001-11-30 2012-10-09 Oracle International Corporation Servicing requests that are issued in a protocol other than the protocol expected by the service
AU2003262729A1 (en) * 2002-08-20 2004-03-11 Matsushita Electric Industrial Co., Ltd. Method, system, and apparatus for generating structured document files
GB2383488A (en) * 2001-12-20 2003-06-25 Sony Uk Ltd Method and apparatus for creating data carousels
JP3766332B2 (ja) * 2002-02-12 2006-04-12 アライドテレシスホールディングス株式会社 管理装置及びプログラム
US7058890B2 (en) * 2002-02-13 2006-06-06 Siebel Systems, Inc. Method and system for enabling connectivity to a data system
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US7200680B2 (en) * 2002-03-11 2007-04-03 Ericsson Inc. Method, apparatus and system for providing multimedia messages to incompatible terminals
US20030182626A1 (en) * 2002-03-22 2003-09-25 Eran Davidov On-demand creation of MIDlets
US7565647B2 (en) 2002-03-22 2009-07-21 Sun Microsystems, Inc. Markup compiler that outputs MIDlets
FR2837585B1 (fr) * 2002-03-25 2004-06-25 Airbus France Installation, passerelle et procede de telechargement d'informations entre des equipements embarques sur un aeronef et des moyens de chargement non-embarques
WO2003081851A1 (de) * 2002-03-26 2003-10-02 Imocos International Mobile Content Service Ag Verfahren und system zur drahtlosen übertragung von daten sowie mobiles endgerät und datenquelle
US7111020B1 (en) 2002-03-26 2006-09-19 Oracle International Corporation Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view
US7346647B2 (en) * 2002-04-19 2008-03-18 Computer Associates Think, Inc. System and method for interfacing with existing system management products or software solutions
US7457810B2 (en) 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor
US6959329B2 (en) * 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
US20040003067A1 (en) * 2002-06-27 2004-01-01 Daniel Ferrin System and method for enabling a user interface with GUI meta data
US7568002B1 (en) 2002-07-03 2009-07-28 Sprint Spectrum L.P. Method and system for embellishing web content during transmission between a content server and a client station
US7360210B1 (en) * 2002-07-03 2008-04-15 Sprint Spectrum L.P. Method and system for dynamically varying intermediation functions in a communication path between a content server and a client station
US7801945B1 (en) 2002-07-03 2010-09-21 Sprint Spectrum L.P. Method and system for inserting web content through intermediation between a content server and a client station
US7228496B2 (en) * 2002-07-09 2007-06-05 Kabushiki Kaisha Toshiba Document editing method, document editing system, server apparatus, and document editing program
EP1387291A3 (de) * 2002-07-30 2005-10-19 Canon Kabushiki Kaisha Anordnung, Verfahren, Datenträger und Programm zur Formularbearbeitung
US8335779B2 (en) * 2002-08-16 2012-12-18 Gamroe Applications, Llc Method and apparatus for gathering, categorizing and parameterizing data
JP2006510955A (ja) * 2002-08-16 2006-03-30 チームウェア・グループ・オサケユキテュア Xml処理タスクの管理および実行のためのコンテキスト独立フレームワークのシステムおよび方法
US8051188B2 (en) 2002-09-05 2011-11-01 Canon Kabushiki Kaisha Method of proposing a service via a description document of such a service
US7536475B2 (en) * 2002-09-10 2009-05-19 Ge Fanuc Automation North America, Inc. Method and system for management and control of an automation control module
US7590712B2 (en) * 2002-09-10 2009-09-15 Ge Fanuc Automation North America, Inc. Methods and systems for management and control of an automation control module
GB2393529B (en) * 2002-09-24 2006-06-14 Hewlett Packard Co Improvements relating to data delivery
US7797450B2 (en) 2002-10-04 2010-09-14 Oracle International Corporation Techniques for managing interaction of web services and applications
CA2409079A1 (en) 2002-10-21 2004-04-21 Ibm Canada Limited-Ibm Canada Limitee Creating multiple and cascading business interpretations from raw application data using transformation layering
EP1418738A1 (de) * 2002-11-06 2004-05-12 Motorola, Inc. Vorrichtung und Verfahren zum Unterstützen eines Funkkommunikationsgeräts bei Übertragung und Empfang der Nachrichten in einem nicht vom Funkkommunikationsgerät bedienten Format
US8775649B2 (en) * 2002-11-26 2014-07-08 Oracle America, Inc. Optimizing client code through automated server specialization
JP2004185541A (ja) * 2002-12-06 2004-07-02 Minolta Co Ltd デバイス管理装置
US20040117437A1 (en) * 2002-12-16 2004-06-17 Exanet, Co. Method for efficient storing of sparse files in a distributed cache
US20050262047A1 (en) * 2002-12-31 2005-11-24 Ju Wu Apparatus and method for inserting portions of reports into electronic documents
US7949937B2 (en) 2002-12-31 2011-05-24 Business Objects Software Ltd Apparatus and method for delivering portions of reports
US20060271509A1 (en) * 2005-05-24 2006-11-30 Ju Wu Apparatus and method for augmenting a report with parameter binding metadata
US8527540B2 (en) * 2005-05-24 2013-09-03 Business Objects Software Ltd. Augmenting a report with metadata for export to a non-report document
FR2852177B1 (fr) * 2003-03-03 2005-06-24 Canon Kk Procede de proposition d'un service fourni par un ordinateur serveur dans un reseau de communication
GB0306610D0 (en) * 2003-03-21 2003-04-30 British Telecomm Conversion of structured information
JP2006525609A (ja) * 2003-05-05 2006-11-09 アーバーテキスト, インコーポレイテッド コンテンツを複数のフォーマットで出力するための仕様を規定するシステムおよび方法
US20040267887A1 (en) * 2003-06-30 2004-12-30 Berger Kelly D. System and method for dynamically managing presence and contact information
US20070130132A1 (en) * 2003-06-30 2007-06-07 Business Objects Apparatus and method for personalized data delivery
US8635218B2 (en) * 2003-09-02 2014-01-21 International Business Machines Corporation Generation of XSLT style sheets for different portable devices
US20050066059A1 (en) * 2003-09-24 2005-03-24 Zybura John H. Propagating attributes between entities in correlated namespaces
JPWO2005033952A1 (ja) * 2003-09-30 2006-12-14 ソニー株式会社 情報再生装置および方法、並びにプログラム
US8234373B1 (en) 2003-10-27 2012-07-31 Sprint Spectrum L.P. Method and system for managing payment for web content based on size of the web content
FR2861944B1 (fr) * 2003-11-04 2006-02-03 Bouygues Telecom Sa Procede d'acces a un erp depuis un equipement mobile
US7529825B1 (en) 2003-12-02 2009-05-05 Cisco Technology, Inc. Server-side XML-based development environment for network device management applications
US8655998B1 (en) * 2003-12-02 2014-02-18 Cisco Technology, Inc. Client-side XML-based development environment for network device management applications
US20050154779A1 (en) * 2003-12-19 2005-07-14 Raymond Cypher Apparatus and method for using data filters to deliver personalized data from a shared document
CN101065765A (zh) 2004-01-21 2007-10-31 高通股份有限公司 无线订户网络中基于应用程序的价值记帐
US7934012B2 (en) * 2004-03-12 2011-04-26 Sap Ag Automatic translation code generation
US20060291471A1 (en) * 2004-03-17 2006-12-28 Jorg Heuer Method terminal and server for transmission of service messages in fixed and/or mobile networks
US9172679B1 (en) 2004-04-14 2015-10-27 Sprint Spectrum L.P. Secure intermediation system and method
US7853782B1 (en) 2004-04-14 2010-12-14 Sprint Spectrum L.P. Secure intermediation system and method
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US7853676B1 (en) 2004-06-10 2010-12-14 Cisco Technology, Inc. Protocol for efficient exchange of XML documents with a network device
US7660882B2 (en) * 2004-06-10 2010-02-09 Cisco Technology, Inc. Deploying network element management system provisioning services
US7779404B2 (en) * 2004-06-10 2010-08-17 Cisco Technology, Inc. Managing network device configuration using versioning and partitioning
US7640317B2 (en) 2004-06-10 2009-12-29 Cisco Technology, Inc. Configuration commit database approach and session locking approach in a two-stage network device configuration process
US7975011B2 (en) * 2004-07-02 2011-07-05 Broadsoft Casabi, Llc System and method for delivering enhanced application services to a user device
US8463872B2 (en) 2004-07-02 2013-06-11 Broadsoft Casabi, Llc Method and apparatus for a family center
US20070294336A1 (en) * 2004-07-02 2007-12-20 Greg Pounds Proxy-based communications architecture
US20080313353A1 (en) * 2004-08-24 2008-12-18 Sap Aktiengesellschaft Web Console With Xml/Xsl Interface
US7512973B1 (en) 2004-09-08 2009-03-31 Sprint Spectrum L.P. Wireless-access-provider intermediation to facilliate digital rights management for third party hosted content
JP4666996B2 (ja) 2004-10-21 2011-04-06 キヤノン株式会社 電子ファイリングシステム、電子ファイリング方法
US7600011B1 (en) 2004-11-04 2009-10-06 Sprint Spectrum L.P. Use of a domain name server to direct web communications to an intermediation platform
AT501854B1 (de) * 2004-11-15 2008-03-15 Univ Wien Tech Verfahren zum austausch von daten
US20060149751A1 (en) * 2004-12-30 2006-07-06 Sripad Jade Custom templates
US20060242653A1 (en) * 2005-04-20 2006-10-26 Anthony V. Pugliese Iii Request-response handling system for web-based applications
US9350875B2 (en) 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US9185538B2 (en) 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
US8631329B2 (en) * 2005-06-22 2014-01-14 France Telecom Method and device for the restitution of multimedia data transmitted by a gateway to a terminal
US20070067397A1 (en) * 2005-09-19 2007-03-22 Available For Licensing Systems and methods for sharing documents
US8010343B2 (en) 2005-12-15 2011-08-30 Nuance Communications, Inc. Disambiguation systems and methods for use in generating grammars
US20070143342A1 (en) * 2005-12-21 2007-06-21 Vannostrand S L Destination based extraction of XML clinical data
US20070161214A1 (en) * 2006-01-06 2007-07-12 International Business Machines Corporation High k gate stack on III-V compound semiconductors
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
US8707451B2 (en) 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US8005816B2 (en) 2006-03-01 2011-08-23 Oracle International Corporation Auto generation of suggested links in a search system
US8875249B2 (en) 2006-03-01 2014-10-28 Oracle International Corporation Minimum lifespan credentials for crawling data repositories
US8868540B2 (en) 2006-03-01 2014-10-21 Oracle International Corporation Method for suggesting web links and alternate terms for matching search queries
US7941419B2 (en) * 2006-03-01 2011-05-10 Oracle International Corporation Suggested content with attribute parameterization
US8332430B2 (en) 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
US9177124B2 (en) 2006-03-01 2015-11-03 Oracle International Corporation Flexible authentication framework
US8027982B2 (en) * 2006-03-01 2011-09-27 Oracle International Corporation Self-service sources for secure search
US8214394B2 (en) 2006-03-01 2012-07-03 Oracle International Corporation Propagating user identities in a secure federated search system
US8433712B2 (en) 2006-03-01 2013-04-30 Oracle International Corporation Link analysis for enterprise environment
JP4821387B2 (ja) * 2006-03-15 2011-11-24 大日本印刷株式会社 画像ファイル転送システム、画像転送用サーバ、及び画像転送用プログラム
US7822874B2 (en) * 2006-04-07 2010-10-26 Dell Products L.P. Providing third party content to media devices
US8799043B2 (en) 2006-06-07 2014-08-05 Ricoh Company, Ltd. Consolidation of member schedules with a project schedule in a network-based management system
JP2007328510A (ja) * 2006-06-07 2007-12-20 National Institute Of Information & Communication Technology コンテンツ変換装置、コンテンツ表示装置、コンテンツ閲覧装置、コンテンツ変換方法、コンテンツ閲覧方法およびプログラム
US8050953B2 (en) 2006-06-07 2011-11-01 Ricoh Company, Ltd. Use of a database in a network-based project schedule management system
US7693953B2 (en) 2007-01-12 2010-04-06 Microsoft Corporation Providing Web services for wireless communication devices
EP1947575A1 (de) * 2007-01-18 2008-07-23 Wapple.net Ltd Computersystem
US7996392B2 (en) 2007-06-27 2011-08-09 Oracle International Corporation Changing ranking algorithms based on customer settings
US8316007B2 (en) 2007-06-28 2012-11-20 Oracle International Corporation Automatically finding acronyms and synonyms in a corpus
US8954476B2 (en) 2007-08-06 2015-02-10 Nipendo Ltd. System and method for mediating transactions of digital documents
US8327264B2 (en) * 2007-09-27 2012-12-04 Sap Ag Document personalizer
US8108426B2 (en) 2007-09-28 2012-01-31 Xcerion Aktiebolag Application and file system hosting framework
US20090249194A1 (en) * 2008-03-28 2009-10-01 Michael Day Method for Converting Electronic Documents
US20110087907A1 (en) * 2008-06-25 2011-04-14 Iiro Kristian Jantunen Power saving method and apparatus
US20090327301A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Distributed Configuration Management Using Constitutional Documents
US8936101B2 (en) 2008-07-17 2015-01-20 Halliburton Energy Services, Inc. Interventionless set packer and setting method for same
US20100107058A1 (en) * 2008-10-23 2010-04-29 Yahoo! Inc. Query aware processing
US9361298B2 (en) 2008-12-08 2016-06-07 Apple Inc. Media content management
US20100241684A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Oarchitectures for supporting diverse client types in transactional systems
US20110202384A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise Rendering Platform
US8572760B2 (en) 2010-08-10 2013-10-29 Benefitfocus.Com, Inc. Systems and methods for secure agent information
US8949871B2 (en) 2010-09-08 2015-02-03 Opentv, Inc. Smart media selection based on viewer user presence
US8533734B2 (en) 2011-04-04 2013-09-10 International Business Machines Corporation Application programming interface for managing time sharing option address space
US8825905B2 (en) * 2011-04-04 2014-09-02 International Business Machines Corporation Mainframe web client
US8935705B2 (en) 2011-05-13 2015-01-13 Benefitfocus.Com, Inc. Execution of highly concurrent processing tasks based on the updated dependency data structure at run-time
US9128986B2 (en) 2011-06-29 2015-09-08 Infosys Limited Method and system for managing a database having a plurality of tables
US8935719B2 (en) 2011-08-25 2015-01-13 Comcast Cable Communications, Llc Application triggering
US8595269B2 (en) 2011-09-02 2013-11-26 Infosys Limited Managing classification hierarchies in master data management environments
US20130132372A1 (en) * 2011-11-17 2013-05-23 Benefitfocus.Com Systems and methods for dynamic service integration
US20130326079A1 (en) * 2012-05-31 2013-12-05 Sap Ag Unifying Programming Models in Connectivity Framework
US8898680B2 (en) * 2012-10-15 2014-11-25 Oracle International Corporation System and method for supporting asynchronous message processing in a distributed data grid
US9414114B2 (en) 2013-03-13 2016-08-09 Comcast Cable Holdings, Llc Selective interactivity
CN104349291A (zh) * 2013-08-09 2015-02-11 富泰华工业(深圳)有限公司 电子装置、上网系统及方法
JP5800000B2 (ja) * 2013-10-02 2015-10-28 セイコーエプソン株式会社 制御方法
WO2015056816A1 (en) * 2013-10-14 2015-04-23 International Business Machines Corporation Method and system for conversion of smart phone applications to basic phone applications
DE102015117668B4 (de) * 2015-10-16 2017-10-26 Frank Sax Verfahren zur Ablage von Daten und zur Abfrage derselben

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870549A (en) * 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US6473609B1 (en) 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
JPH11136394A (ja) * 1997-08-26 1999-05-21 Casio Comput Co Ltd データ出力システムおよびデータ出力方法
JP3968176B2 (ja) * 1997-10-06 2007-08-29 松下電器産業株式会社 送信文書編集装置、受信文書処理装置
US5860068A (en) * 1997-12-04 1999-01-12 Petabyte Corporation Method and system for custom manufacture and delivery of a data product
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6397259B1 (en) * 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6263332B1 (en) * 1998-08-14 2001-07-17 Vignette Corporation System and method for query processing of structured documents
US6125391A (en) * 1998-10-16 2000-09-26 Commerce One, Inc. Market makers using documents for commerce in trading partner networks
CN1287640A (zh) * 1998-10-28 2001-03-14 维迪科隆有限公司 用于自动聚集和投递电子个人信息或数据以及涉及电子个人信息或数据的事务处理的装置与方法
US6301471B1 (en) * 1998-11-02 2001-10-09 Openwave System Inc. Online churn reduction and loyalty system
US6480860B1 (en) * 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
US6397217B1 (en) * 1999-03-04 2002-05-28 Futuretense, Inc. Hierarchical caching techniques for efficient dynamic page generation
US6401132B1 (en) * 1999-08-03 2002-06-04 International Business Machines Corporation Subchaining transcoders in a transcoding framework

Also Published As

Publication number Publication date
EP1166524A1 (de) 2002-01-02
JP2002539547A (ja) 2002-11-19
CA2368089C (en) 2010-11-16
AU3748300A (en) 2000-10-04
HK1040856A1 (en) 2006-10-06
US6826597B1 (en) 2004-11-30
EP1166524B1 (de) 2006-06-07
AU759477B2 (en) 2003-04-17
DE60028561D1 (de) 2006-07-20
AT329440T (de) 2006-06-15
WO2000056033A1 (en) 2000-09-21
CA2368089A1 (en) 2000-09-21

Similar Documents

Publication Publication Date Title
EP1258812B1 (de) Virtuelle Datenbank heterogener Datenstrukturen
DE60006525T2 (de) Sprachgesteuertes browser und verfahren
DE60015821T2 (de) System zur Verwaltung von Benutzercharakterisierenden Protokollkopfteilen
DE69728182T2 (de) Verfahren und gerät zum entfernten netzwerkzugriffseintrag und netzwerkzugriffsbericht
DE602005006391T2 (de) System und verfahren zum asynchronen kommunizieren mit web-diensten unter verwendung von nachrichtensatzdefinitionen
DE69728619T2 (de) System, Verfahren, Gerät und Herstellungsgegenstand für identitätsbasiertes Cachen
DE69833033T2 (de) Verfahren und system um auf information in einem netzwerk zuzugreifen
DE69933404T2 (de) System und Verfahren zum gemeinsamen Benutzen von Fonts und Speichermedium für das Programm zum Ausführen des Verfahrens
DE60035467T2 (de) Flexibles System und Verfahren zur Kommunikation zwischen verschiedenen Netzwerken und Vorrichtungen
DE60006018T2 (de) Drahtlose Steuerung eines Feldgerätes in einem industriellen Prozess
DE60308755T2 (de) Verfahren und Vorrichtung zur Überwachung von vernetzten Geräten und zur Anzeige des Gerätestatuses
DE60315558T2 (de) Verteiltes Rechnersystem für Vorrichtungsresourcen basierend auf Identität
DE60130880T2 (de) Web-gestützte spracherkennung durch scripting und semantische objekte
DE60003148T2 (de) Bestimmung der Cachezeit
CA2313556C (en) Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
DE69735505T2 (de) System und verfahren zum zugriff auf internet-basierte informationsquellen durchabtastung von java-applet kodierte strichkode-symbolen
DE69832057T2 (de) Datendienst in einem mobilen kommunikationsnetz
DE60017319T2 (de) Verfahren und Vorrichtung zur Bereitstellung adaptierbarer Sicherheits- und Aufzeichnungsprotokolle in einer Servleteinrichtung
DE69736697T2 (de) Verfahren und Gerät zur Steuerung von Zugriff auf Systembetriebsmittel
DE19581888B4 (de) Verfahren zur automatischen gemeinschaftlichen Informationsnutzung durch mehrere abgesetzte/mobile Knoten
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
DE69926459T2 (de) Verfahren und vorrichtung zur umlenkung von serverexternen hyperlink-referenzen
DE60019839T2 (de) Verfahren zum Austauch von Daten zwischen einer Javasystemdatenbank und einem LDAP Verzeichnis
DE102013207608B4 (de) Instrumentieren von Software-Anwendungen für die Konfiguration derselben
DE60131683T2 (de) Verfahren und system zur verwaltung von mehreren netzwerk-betriebsmitteln

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: ORACLE INTERNATIONAL CORP., REDWOOD SHORES, CA, US

8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: DENDORFER & HERRMANN PATENTANWAELTE PARTNERSCHAFT,