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 Download PDFInfo
- 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
- xml
- request
- format
- data
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Information Transfer Between Computers (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stereo-Broadcasting Methods (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
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 auf1 weist ein System100 ein drahtloses Telefon102 auf, das durch ein drahtloses Kommunikationsmedium mit einem Netzwerk104 verbunden ist. Das Netzwerk104 kann beispielsweise ein allgemeines digitales Netz wie das Global System for Mobile Communications (GSM)-Netz sein. SMS- Nachrichten von dem Telefon102 können durch das Netzwerk104 zu einem Gateway106 gesendet werden, das einen Übersetzer112 aufweist. Das Gateway106 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 Gateway106 SMS-Nachrichten von dem Telefon102 und sendet sie unter Verwendung von HTTP über das Internet108 zu einem Webserver110 . - In Antwort auf die HTTP-Anforderung von dem Gateway
106 sendet der Webserver110 eine Webseite über das Internet108 zurück zu dem Gateway106 . Das Gateway106 konvertiert die Webseite in eine SMS-Nachricht und sendet sie durch das Netzwerk104 zu dem Telefon102 . Leider kann aufgrund der begrenzten Leistungsfähigkeit des Telefons102 der Prozess des intelligenten Konvertierens der Webseite in etwas, das zu dem Telefon102 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 Telefon102 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 Gateways106 eine enorme Belastung auf, die verschiedenen Filterregeln zu entwickeln und sie für alle Seiten, die durch das Gateway106 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 Gateway106 und dem Internet108 angeordnet ist. Das Gateway106 glaubt weiterhin, dass es mit den Webservern über das Internet108 interagiert, und übersetzt weiterhin zwischen HTTP und SMS. Jedoch durchläuft der gesamte HTTP-Verkehr, der zu dem oder von dem Gateway106 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 Telefon102 durch das Gateway106 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 System200 darstellt, das eine Ausführungsform der Erfindung implementiert. Das System200 ist dem System100 insofern ähnlich, als es eine mobile Einrichtung (Telefon210 ) aufweist, die mit einem Gateway202 über ein Netzwerk212 kommuniziert. Gemäß einer Ausführungsform ist das Telefon210 ein WAP-Telefon, das konfiguriert ist, die Anzeige von WML-Seiten zu unterstützen. In solch einer Ausführungsform könnte das Gateway202 zum Beispiel ein WAP-Gateway sein, das konfiguriert ist, um mit dem Telefon210 durch Senden von WML-Seiten durch das Netzwerk212 unter Verwendung des WAP-Protokolls zu kommunizieren. - Das System
200 weist ferner einen Vorprozessor240 , einen XML-Prozessor242 und einen Postprozessor244 auf. Im Allgemeinen empfängt der Vorprozessor240 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-Prozessor242 weitergeleitet, der XML-Dokumente von einer oder mehreren XML-Quellen erhält, an welche der XML-Prozessor242 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 Postprozessor244 geführt, damit sie gemäß den Bedürfnissen der anfordernden Einheit gefiltert und formatiert werden. Der durch den Postprozessor244 ausgeführte Konvertierungsvorgang wird durch XSL-Formatvorlagen250 gesteuert. Die durch den Postprozessor244 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 Vorprozessor240 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 Vorprozessor240 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 Konfigurationsdatenbank254 definiert, die dem Vorprozessor240 zugänglich ist. - DER VORPROZESSOR
- Der Vorprozessor
240 ist konfiguriert, um Anforderungen von Clients zu empfangen und zu verarbeiten. Die von dem Vorprozessor240 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 Vorprozessor240 unterstützt werden, beschränkt. In der dargestellten Ausführungsform unterstützt der Vorprozessor240 sowohl HTTP als auch zwei andere Protokolle (gezeigt als Protokoll A und Protokoll B). Durch seine Unterstützung für HTTP-Anforderungen erscheint der Vorprozessor240 dem Gateway202 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 Konfigurationsdatenbank254 gespeichert. - Gemäß einer Ausführungsform erzeugt der Vorprozessor
240 basierend auf der Anforderung und den in der Konfigurationsdatenbank254 enthaltenen Informationen auch ein Anforderungsobjekt in der Form eines XML-Dokuments. Insbesondere durchsucht der Vorprozessor240 die Konfigurationsdatenbank254 , 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 Vorprozessor240 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 Vorprozessor240 eingefügte Metadaten aufweisen, die von den verschiedenen Komponenten des Postprozessors244 verwendet werden. - Zum Zweck der Darstellung soll angenommen werden, dass der Vorprozessor
240 eine Anforderung empfängt, die von dem Telefon210 stammt, dass das Telefon210 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 Telefon210 autorisiert ist, die Anforderung durchzuführen, erzeugt der Vorprozessor240 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-Prozessor242 übergeben. - DER XML-PROZESSOR
- Auf das Empfangen eines XML-Anforderungsdokuments von dem XML-Vorprozessor
240 hin analysiert der XML-Prozessor242 das XML-Anforderungsdokument. Wenn der XML-Prozessor242 auf nicht aufgelöste Links innerhalb des XML-Anforderungsdokuments stößt, löst der XML-Prozessor242 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-Gateways232 und234 auf. Das XML-Gateway232 ist konfiguriert, um zwischen XML und einem von einem Datenbanksystem verwendeten Protokoll zu konvertieren. Das XML-Gateway234 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-Prozessor242 Aufrufe an das Gateway234 durch. Das Gateway234 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-Gateway234 in der Form eines oder mehrerer HTML-Dokumente geliefert. Das Gateway234 konvertiert die HTML-Dokumente in XML-Dokumente und liefert die XML-Dokumente zu dem XML-Prozessor242 . XML-Dokumente, die in Antwort auf XML-Anforderungen zu dem XML-Prozessor242 geliefert werden, werden hierin als XML-Antwortdokumente bezeichnet. Der XML-Prozessor242 leitet die XML-Antwortdokumente zu dem Postprozessor244 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-Prozessor242 jeden der Links in dem XML-Anforderungsdokument durch Senden von Anforderungen zu diesen Webseiten durch das XML-Gateway234 auflösen. Diese Webseiten antworten auf die Anforderungen unter Verwendung von HTTP-Antworten, die durch das Gateway234 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-Gateway234 in XML konvertiert und an den XML-Prozessor242 übergeben. Der XML-Prozessor242 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-Gateway234 in XML konvertiert und an den XML-Prozessor242 übergeben. Der XML-Prozessor242 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-Prozessor242 an den Postprozessor244 ü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 Gateway234 und das Auflösen eines anderen Links durch Erhalten von Informationen von einer Datenbank durch das Gateway232 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 Postprozessor244 eine Filtereinheit246 und eine XSL-Maschine248 auf. Allgemein filtert die Filtereinheit246 selektiv die XML-Antwortdokumente auf der Basis von Filterregeln, und die XSL-Maschine248 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-Prozessor242 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 Vorprozessor240 eine XML-Anforderung erzeugt und an den XML-Prozessor242 ü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-Gateway234 ). 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 Filtereinheit246 empfangen wird. Die Filtereinheit246 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 Filtereinheit246 , 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-Maschine248 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-Prozessor242 zu dem Postprozessor244 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-Maschine248 verwendet werden, um zu bestimmen, welche Formatvorlagen auf die gefilterte XML-Antwort anzuwenden sind. Die Identität des jeweiligen Client kann von den Postprozessor244 verwendet werden, um zu bestimmen, wohin die von der XSL-Maschine248 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 Vorprozessor240 erzeugt werden. Während die XML-Anforderungsobjekte von dem Vorprozessor240 an den XML-Prozessor242 ü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-Prozessor242 an die Filtereinheit246 übergeben werden, und während die gefilterten XML-Antworten an die XSL-Maschine248 übergeben werden. - DIENSTDEFINITION
- Gemäß einer Ausführungsform kommuniziert der Administrator des XML-Prozessors
242 die Gateways und Datenquellen, die für den XML-Prozessor242 verfügbar sind, und ermöglicht, dass Clients ihre eigenen anwenderspezifischen Dienste definieren. Die so definierten anwenderspezifischen Dienste werden in der Konfigurationsdatenbank254 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-Prozessor242 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 Konfigurationsdatenbank254 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-Quelle230 . Solche Anwendungen können von jedem Client verwendet werden, für welchen eine XSL-Formatvorlage erzeugt wurde, da das XML-Schnittstellendokument durch die XSL-Maschine248 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 System200 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. In2 stellt die XML-Quelle230 so eine XML-basierte Anwendung dar. - HARDWAREÜBERSICHT
-
3 ist ein Blockdiagramm, das ein Computersystem300 darstellt, auf welchem eine Ausführungsform der Erfindung implementiert sein kann. Das Computersystem300 weist einen Bus302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen an den Bus302 gekoppelten Prozessor304 zum Verarbeiten von Informationen auf. Das Computersystem300 weist zum Speichern von Informationen und von durch den Prozessor304 auszuführenden Befehlen auch einen Hauptspeicher306 , wie zum Beispiel einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichereinrichtung auf, die an den Bus302 gekoppelt ist. Der Hauptspeicher306 kann auch zum Speichern von temporären Variablen und anderen Zwischeninformationen während der Ausführung von durch den Prozessor304 auszuführenden Befehlen verwendet werden. Das Computersystem300 weist zum Speichern von statischen Informationen und Befehlen für den Prozessor304 ferner einen Festwertspeicher (ROM)308 oder eine andere statische Speichereinrichtung auf, die an den Bus302 gekoppelt ist. Eine Speichereinrichtung310 , wie zum Beispiel eine Magnetplatte oder eine optische Platte, ist zum Speichern von Informationen und Befehlen vorgesehen und an den Bus302 gekoppelt. - Das Computersystem
300 kann über den Bus302 an eine Anzeige312 , wie zum Beispiel eine Kathodenstrahlröhre (CRT) gekoppelt sein, um einem Computerbenutzer Informationen anzuzeigen. Eine Eingabeeinrichtung314 , die alphanumerische und andere Tasten aufweist, ist zum Kommunizieren von Informationen und Befehlsauswahlen an den Prozessor304 an den Bus302 gekoppelt. Eine andere Art von Benutzereingabeeinrichtung ist eine Cursorsteuerung316 , wie zum Beispiel eine Maus, ein Trackball oder Cursor-Richtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen an den Prozessor304 und zum Steuern der Cursorbewegung auf der Anzeige312 . 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 Computersystem300 in Antwort auf den Prozessor304 implementiert, der eine oder mehrere Sequenzen von einem oder mehreren in dem Hauptspeicher306 enthaltenen Befehlen ausführt. Solche Befehle können von einem anderen computerlesbaren Medium, wie zum Beispiel der Speichereinrichtung310 , in den Hauptspeicher306 eingelesen werden. Die Ausführung der in dem Hauptspeicher306 enthaltenen Befehlssequenzen bewirkt, dass der Prozessor304 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 Speichereinrichtung310 . Flüchtige Medien schließt dynamischen Speicher ein, wie zum Beispiel den Hauptspeicher306 . Übertragungsmedien schließt Koaxialkabel, Kupferdraht und Faseroptik einschließlich die Kabel ein, die den Bus302 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 Computersystem300 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 Bus302 platzieren. Der Bus302 transportiert die Daten zum Hauptspeicher306 , von welchem der Prozessor304 die Befehle abruft und ausführt. Die von dem Hauptspeicher306 empfangenen Befehle können optional in der Speichereinrichtung310 entweder vor oder nach der Ausführung durch den Prozessor304 gespeichert werden. - Das Computersystem
300 weist auch eine an den Bus302 gekoppelte Kommunikationsschnittstelle318 auf. Die Kommunikationsschnittstelle318 stellt eine Zweiwege-Datenkommunikation bereit, die an eine Netzwerkverbindung320 koppelt, die mit einem lokalen Netzwerk322 verbunden ist. Beispielsweise kann die Kommunikationsschnittstelle318 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 Kommunikationsschnittstelle318 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 Kommunikationsschnittstelle318 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 Netzwerkverbindung320 eine Verbindung durch ein lokales Netz322 zu einem Hostcomputer324 oder zu einer durch einen Internet Service Provider (ISP)326 betriebenen Dateneinrichtung bereitstellen. Der ISP326 stellt wiederum Datenkommunikationsdienste durch das weltweite Datenpaket-Kommunikationsnetzwerk bereit, das nun üblich als das "Internet"328 bezeichnet wird. Sowohl das lokale Netz322 als auch das Internet328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale durch die verschiedenen Netze und die Signale auf der Netzwerkverbindung320 und durch die Kommunikationsschnittstelle318 , welche die digitalen Daten zu und von dem Computersystem300 transportieren, sind beispielhafte Formen von Trägerwellen, die die Informationen transportieren. - Das Computersystem
300 kann durch das/die Netz(e), die Netzwerkverbindung320 und die Kommunikationsschnittstelle318 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. In dem Internet-Beispiel kann ein Server330 einen angeforderten Code für ein Anwendungsprogramm durch das Internet328 , den ISP326 , das lokale Netz322 und die Kommunikationsschnittstelle318 ü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 Speichereinrichtung310 oder einem anderen nichtflüchtigen Speicher für eine spätere Ausführung gespeichert werden. Auf diese Weise kann das Computersystem300 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)
- 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. - 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.
- 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.
- Verfahren nach Anspruch 1, wobei der erste Satz von Parametern zum Erzeugen des Anforderungsobjekts die Identität des bestimmten Benutzers aufweist.
- 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.
- 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.
- 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. - 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.
- Verfahren nach Anspruch 8, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein Datenbanksystem ist.
- Verfahren nach Anspruch 8, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein HTTP-Server (
110 ) ist. - Verfahren nach Anspruch 10, wobei die in dem zweiten bestimmten Format formatierte Antwort ein HTML-Dokument ist.
- 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.
- 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.
- Verfahren nach Anspruch 1, wobei die bestimmte Art von Client (
210 ,270 ,272 ) ein Mobiltelefon (210 ) ist. - 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. - 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.
- 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. - System nach Anspruch 17, wobei das erste bestimmte Format XML ist.
- System nach Anspruch 18, wobei die Anforderungsobjekte XML-Dokumente sind.
- 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 ). - 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. - 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. - Computerlesbares Medium nach Anspruch 22, wobei der erste Satz von Parametern zum Erzeugen des Anforderungsobjekts die Identität des bestimmten Benutzers aufweist.
- 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.
- 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.
- 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. - 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.
- Computerlesbares Medium nach Anspruch 27, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein Datenbanksystem ist.
- Computerlesbares Medium nach Anspruch 27, wobei wenigstens eine von der ersten Datenquelle und der zweiten Datenquelle ein HTTP-Server (
110 ) ist. - Computerlesbares Medium nach Anspruch 29, wobei die in einem zweiten bestimmten Format formatierte Antwort ein HTML-Dokument ist.
- 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.
- 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.
- Computerlesbares Medium nach Anspruch 22, wobei die bestimmte Art von Client (
210 ,270 ,272 ) ein Mobiltelefon (210 ) ist. - 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. - 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.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12477499P | 1999-03-17 | 1999-03-17 | |
US124774P | 1999-03-17 | ||
US454515 | 1999-12-06 | ||
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 |
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 Expired - Lifetime 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) | ATE329440T1 (de) |
AU (1) | AU759477B2 (de) |
CA (1) | CA2368089C (de) |
DE (1) | DE60028561T2 (de) |
HK (1) | HK1040856B (de) |
WO (1) | WO2000056033A1 (de) |
Families Citing this family (248)
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 |
EP1238348B1 (de) * | 1999-07-15 | 2004-01-28 | 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 |
CA2297596A1 (en) * | 2000-01-31 | 2001-06-23 | Mobileq.Com Inc. | Method and system for reusing internet-based applications |
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 | 国际商业机器公司 | 可接插式服务发送平台 |
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 |
AU2001240154A1 (en) * | 2000-03-15 | 2001-09-24 | Telecommunication 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 |
US6839562B2 (en) * | 2000-04-11 | 2005-01-04 | Telecommunication Systems, Inc. | Intelligent delivery agent for short message distribution center |
US20070136592A1 (en) | 2000-04-12 | 2007-06-14 | Smith Richard A | 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 |
US7162542B2 (en) * | 2000-04-13 | 2007-01-09 | Intel Corporation | Cascading network apparatus for scalability |
US6732175B1 (en) | 2000-04-13 | 2004-05-04 | Intel Corporation | Network apparatus for switching based on content of application data |
US7043563B2 (en) * | 2000-04-17 | 2006-05-09 | Circadence Corporation | Method and system for redirection to arbitrary front-ends in a communication system |
US6891811B1 (en) * | 2000-04-18 | 2005-05-10 | Telecommunication Systems Inc. | Short messaging service center mobile-originated to HTTP internet communications |
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 |
US8936101B2 (en) | 2008-07-17 | 2015-01-20 | Halliburton Energy Services, Inc. | Interventionless set packer and setting method for same |
US7702995B2 (en) | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
US8296792B2 (en) | 2000-04-24 | 2012-10-23 | Tvworks, Llc | Method and system to provide interactivity using an interactive channel bug |
US7024461B1 (en) | 2000-04-28 | 2006-04-04 | Nortel Networks Limited | Session initiation protocol enabled set-top device |
AU2001261636A1 (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 |
WO2002013464A1 (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 |
EP1191752A1 (de) * | 2000-09-26 | 2002-03-27 | Daniel Gens | Verfahren und Vorrichtung zum Austausch von Informationen |
JP2004510251A (ja) | 2000-09-27 | 2004-04-02 | アイゼル テクノロジーズ インコーポレイテッド | 電子ドキュメントの構成可能な変換方法 |
US7613810B2 (en) | 2000-09-27 | 2009-11-03 | Nokia Inc. | Segmenting electronic documents for use on a device of limited capability |
US6895425B1 (en) * | 2000-10-06 | 2005-05-17 | Microsoft Corporation | Using an expert proxy server as an agent for wireless devices |
AUPR066300A0 (en) * | 2000-10-09 | 2000-11-02 | A & Mt Projects Pty Limited | The use of wireless application protocol for making trading decisions and executing transactions in real time |
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 |
US20020161928A1 (en) * | 2000-10-10 | 2002-10-31 | Awele Ndili | Smart agent for providing network content to wireless devices |
WO2002032070A2 (en) * | 2000-10-11 | 2002-04-18 | 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 |
AU2001257208A1 (en) * | 2000-10-30 | 2002-05-15 | Mcafee.Com, Inc. | Wireless protocol information for marketing opportunities |
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 |
US20020095445A1 (en) * | 2000-11-30 | 2002-07-18 | Philips Electronics North America Corp. | Content conditioning method and apparatus for internet devices |
WO2002045344A2 (en) * | 2000-11-30 | 2002-06-06 | Message Machines, Inc. | Systems and methods for routing messages to communications 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 |
US8219662B2 (en) | 2000-12-06 | 2012-07-10 | International Business Machines Corporation | Redirecting data generated by network devices |
US20020095458A1 (en) * | 2000-12-06 | 2002-07-18 | Daniel Silverstein | 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 |
EP1215589A3 (de) | 2000-12-15 | 2006-05-31 | Siemens Aktiengesellschaft | Bereitstellung von Projektdaten in einem durch eine standardisierte Meta-Sprache definiertem Format |
CA2431762C (en) * | 2000-12-18 | 2011-11-01 | Kargo, Inc. | A system and method for delivering content to mobile devices |
JP3943830B2 (ja) * | 2000-12-18 | 2007-07-11 | 株式会社東芝 | 文書合成方法および文書合成装置 |
GB2370450B (en) * | 2000-12-19 | 2004-07-07 | Voxsurf Ltd | Messaging protocol |
US20020078253A1 (en) * | 2000-12-20 | 2002-06-20 | Gyorgy Szondy | Translation of digital contents based on receiving device capabilities |
US7107279B2 (en) | 2000-12-20 | 2006-09-12 | Insitech Group, Inc. | Rapid development in a distributed application environment |
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 |
US20020103877A1 (en) * | 2001-01-29 | 2002-08-01 | Robert Gagnon | Method and system for wireless access to a user's computer |
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 |
US7716591B2 (en) * | 2001-01-31 | 2010-05-11 | Computer Associates Think, Inc. | System and method for dynamically generating a web page |
WO2002063495A1 (en) * | 2001-02-06 | 2002-08-15 | Airclic, Inc. | 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 |
US7024662B2 (en) * | 2001-03-14 | 2006-04-04 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
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 |
US9032097B2 (en) * | 2001-04-26 | 2015-05-12 | Nokia Corporation | Data communication with remote network node |
US8180904B1 (en) | 2001-04-26 | 2012-05-15 | Nokia Corporation | Data routing and management with routing path selectivity |
US9143545B1 (en) | 2001-04-26 | 2015-09-22 | Nokia Corporation | Device classification for media delivery |
US8990334B2 (en) * | 2001-04-26 | 2015-03-24 | Nokia Corporation | Rule-based caching for packet-based data transfer |
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 |
EP1423842A4 (de) * | 2001-06-30 | 2007-05-09 | Cokinetics Systems | Internet-schnittstelle und integrationssprachensystem und -verfahren |
EP1274011B1 (de) * | 2001-07-06 | 2017-05-03 | Alcatel Lucent | Verfahren und system zum leiten und registrieren einer anfrage |
EP1405244A2 (de) | 2001-07-06 | 2004-04-07 | Angoss Software Corporation | Ein verfahren und system zur sichtdarstellung von modellen für "data-mining" |
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 |
EP1419459A2 (de) * | 2001-08-10 | 2004-05-19 | Cellectivity Limited | Web-interaktionssystem, um einem handy zu ermöglichen, auf web-quellen einzuwirken |
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 | コンテンツ変換処理装置、スタイルシート自動選択方法、およびそのプログラム |
US7212301B2 (en) * | 2001-10-31 | 2007-05-01 | Call-Tell Llc | System and method for centralized, automatic extraction of data from remotely transmitted forms |
US7426486B2 (en) * | 2001-10-31 | 2008-09-16 | Call-Tell Llc | Multi-party reporting system and method |
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 |
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 |
US7565647B2 (en) | 2002-03-22 | 2009-07-21 | Sun Microsystems, Inc. | Markup compiler that outputs MIDlets |
US20030182626A1 (en) * | 2002-03-22 | 2003-09-25 | Eran Davidov | On-demand creation of 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 |
AU2002256707A1 (en) * | 2002-03-26 | 2003-10-08 | Imocos International Mobile Content Service Ag | Method and system for the wireless transmission of data, mobile terminal and data source |
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 |
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 |
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 |
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 |
EP1540528A1 (de) * | 2002-08-16 | 2005-06-15 | Teamware Group Oy | System und verfahren für einen kontextunabhängigen rahmen für die verwaltung und ausführung von xml-verarbeitungstasks |
US8335779B2 (en) * | 2002-08-16 | 2012-12-18 | Gamroe Applications, Llc | Method and apparatus for gathering, categorizing and parameterizing data |
WO2004019230A2 (en) * | 2002-08-20 | 2004-03-04 | Matsushita Electric Industrial Co., Ltd. | Method, system, and apparatus for generating structured document files |
US8051188B2 (en) | 2002-09-05 | 2011-11-01 | Canon Kabushiki Kaisha | Method of proposing a service via a description document of such a service |
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 |
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 |
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 |
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 |
EP1462949A1 (de) * | 2003-03-22 | 2004-09-29 | Cegumark AB | System und Verfahren für den Zugriff auf Informationen |
WO2005029364A1 (en) * | 2003-05-05 | 2005-03-31 | Arbortext, Inc. | System and method for managing dynamic content assembly |
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 |
WO2005033952A1 (ja) * | 2003-09-30 | 2005-04-14 | Sony Corporation | 情報再生装置および方法、並びにプログラム |
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 |
US8655998B1 (en) * | 2003-12-02 | 2014-02-18 | Cisco Technology, Inc. | Client-side XML-based development environment for network device management applications |
US7529825B1 (en) | 2003-12-02 | 2009-05-05 | Cisco Technology, Inc. | Server-side XML-based development environment for network device management applications |
EP1695235A4 (de) * | 2003-12-19 | 2009-08-26 | Business Objects Sa | Vorrichtung und verfahren zur verwendung von datenfiltern zum abliefern personalisierter daten aus einem gemeinsam benutzten dokument |
US10043170B2 (en) | 2004-01-21 | 2018-08-07 | Qualcomm Incorporated | Application-based value billing in a wireless subscriber network |
US7934012B2 (en) * | 2004-03-12 | 2011-04-26 | Sap Ag | Automatic translation code generation |
CN1820473A (zh) * | 2004-03-17 | 2006-08-16 | 西门子公司 | 在固定和/或移动网络中传输业务消息的方法、终端设备和服务器 |
US7853782B1 (en) | 2004-04-14 | 2010-12-14 | Sprint Spectrum L.P. | Secure intermediation system and method |
US9172679B1 (en) | 2004-04-14 | 2015-10-27 | 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 |
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 |
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 |
EP1774759B8 (de) * | 2004-07-02 | 2014-07-30 | BroadSoft, Inc. | Verfahren und vorrichtung für ein schnurloses telefon und andere telekommunikationsdienste |
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 |
WO2006021232A1 (en) * | 2004-08-24 | 2006-03-02 | 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 |
US9400875B1 (en) | 2005-02-11 | 2016-07-26 | Nokia Corporation | Content routing with rights management |
US20060242653A1 (en) * | 2005-04-20 | 2006-10-26 | Anthony V. Pugliese Iii | Request-response handling system for web-based applications |
US8527540B2 (en) * | 2005-05-24 | 2013-09-03 | Business Objects Software Ltd. | Augmenting a report with metadata for export to a non-report document |
US20060271509A1 (en) * | 2005-05-24 | 2006-11-30 | Ju Wu | Apparatus and method for augmenting a report with parameter binding metadata |
US9185538B2 (en) | 2005-05-31 | 2015-11-10 | Qualcomm Incorporated | Wireless subscriber application and content distribution and differentiated pricing |
US9350875B2 (en) | 2005-05-31 | 2016-05-24 | Qualcomm Incorporated | Wireless subscriber billing and distribution |
WO2006136501A1 (fr) * | 2005-06-22 | 2006-12-28 | France Telecom | Procede et dispositif de restitution de donnees multimedia transmises par une passerelle a un 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 |
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 |
US8005816B2 (en) | 2006-03-01 | 2011-08-23 | Oracle International Corporation | Auto generation of suggested links in a search system |
US8332430B2 (en) | 2006-03-01 | 2012-12-11 | Oracle International Corporation | Secure search performance improvement |
US7941419B2 (en) * | 2006-03-01 | 2011-05-10 | Oracle International Corporation | Suggested content with attribute parameterization |
US8868540B2 (en) | 2006-03-01 | 2014-10-21 | Oracle International Corporation | Method for suggesting web links and alternate terms for matching search queries |
US8875249B2 (en) | 2006-03-01 | 2014-10-28 | Oracle International Corporation | Minimum lifespan credentials for crawling data repositories |
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 | Ricoh Co Ltd | コンテンツ変換装置、コンテンツ表示装置、コンテンツ閲覧装置、コンテンツ変換方法、コンテンツ閲覧方法およびプログラム |
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 |
KR20100080822A (ko) | 2007-09-28 | 2010-07-12 | 엑세리온 악티에볼라그 | 네트워크 오퍼레이팅 시스템 |
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 |
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 |
US9699503B2 (en) | 2010-09-07 | 2017-07-04 | Opentv, Inc. | Smart playlist |
US10210160B2 (en) | 2010-09-07 | 2019-02-19 | Opentv, Inc. | Collecting data from different sources |
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 |
US9548912B2 (en) | 2012-10-15 | 2017-01-17 | Oracle International Corporation | System and method for supporting smart buffer management 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 | セイコーエプソン株式会社 | 制御方法 |
US9763022B2 (en) | 2013-10-14 | 2017-09-12 | International Business Machines Corporation | Automatic system and method for conversion of smart phone applications to basic phone applications |
US11076205B2 (en) | 2014-03-07 | 2021-07-27 | Comcast Cable Communications, Llc | Retrieving supplemental content |
DE102015117668B4 (de) * | 2015-10-16 | 2017-10-26 | Frank Sax | Verfahren zur Ablage von Daten und zur Abfrage derselben |
US10540364B2 (en) * | 2017-05-02 | 2020-01-21 | Home Box Office, Inc. | Data delivery architecture for transforming client response data |
US11023511B1 (en) * | 2019-07-31 | 2021-06-01 | Splunk Inc. | Mobile device composite interface for dual-sourced incident management and monitoring system |
US10887157B1 (en) | 2019-07-31 | 2021-01-05 | Splunk Inc. | Dual-sourced incident management and monitoring system |
Family Cites Families (19)
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 |
JP3189002B2 (ja) * | 1995-12-20 | 2001-07-16 | 日本電信電話株式会社 | 情報中継方法及び装置 |
JPH09319757A (ja) * | 1996-05-29 | 1997-12-12 | N T T Data Tsushin Kk | 情報検索システム |
JPH10326233A (ja) * | 1997-03-03 | 1998-12-08 | Toshiba Corp | 分散ネットワークコンピューティングシステム、同システムに用いられる情報交換装置、情報交換方法、及び記憶媒体 |
JP3000972B2 (ja) * | 1997-08-18 | 2000-01-17 | 日本電気株式会社 | 情報提供装置及びプログラムを記録した機械読み取り可能な記録媒体 |
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 |
DE69908610T2 (de) * | 1998-10-28 | 2003-12-11 | Verticalone Corp | Gerät und Verfahren für die automatische Zusammenstellung und Übertragung von Transaktionen welche persönliche elektronische informationen oder Daten enthalten |
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 |
-
1999
- 1999-12-06 US US09/454,515 patent/US6826597B1/en not_active Expired - Lifetime
-
2000
- 2000-03-16 WO PCT/US2000/006813 patent/WO2000056033A1/en active IP Right Grant
- 2000-03-16 EP EP00916371A patent/EP1166524B1/de not_active Expired - Lifetime
- 2000-03-16 AU AU37483/00A patent/AU759477B2/en not_active Expired
- 2000-03-16 DE DE60028561T patent/DE60028561T2/de not_active Expired - Lifetime
- 2000-03-16 CA CA2368089A patent/CA2368089C/en not_active Expired - Lifetime
- 2000-03-16 AT AT00916371T patent/ATE329440T1/de not_active IP Right Cessation
- 2000-03-16 JP JP2000605364A patent/JP2002539547A/ja active Pending
-
2002
- 2002-03-22 HK HK02102224.2A patent/HK1040856B/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CA2368089A1 (en) | 2000-09-21 |
WO2000056033A1 (en) | 2000-09-21 |
EP1166524A1 (de) | 2002-01-02 |
HK1040856A1 (en) | 2002-06-21 |
ATE329440T1 (de) | 2006-06-15 |
AU3748300A (en) | 2000-10-04 |
DE60028561D1 (de) | 2006-07-20 |
HK1040856B (zh) | 2006-10-06 |
EP1166524B1 (de) | 2006-06-07 |
CA2368089C (en) | 2010-11-16 |
US6826597B1 (en) | 2004-11-30 |
JP2002539547A (ja) | 2002-11-19 |
AU759477B2 (en) | 2003-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60028561T2 (de) | Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen | |
DE60116343T2 (de) | Webserver | |
DE60121987T2 (de) | Zugreifen auf Daten, die bei einer Zwischenstation gespeichert sind, von einem Dienst aus | |
DE60130633T2 (de) | Gesicherte Internet-Zwischenablage | |
DE60126016T2 (de) | Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen | |
DE10236188B4 (de) | Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst | |
DE60004537T2 (de) | In einer relationalen datenbank integriertes contextbasiertes system zur veröffentlichung und abonnierung | |
DE69832406T2 (de) | Kombiniertes internet-und datenzugangssystem | |
DE60108158T2 (de) | Onlineentwicklung von applikationen | |
DE10051024B4 (de) | Verfahren zum intermediären Cachen in einem Client-Server-Softwaresystem, Computerprogrammprodukte und Computersystem zur Durchführung eines solchen Verfahrens | |
DE10048940A1 (de) | Erzeugen von Dokumenteninhalten durch Transcodierung mit Hilfe von Java Server Pages | |
DE602004002783T2 (de) | Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen | |
DE60127247T2 (de) | Netzwerkeinrichtung zur dokumentengültigkeitserklärung | |
DE60015423T2 (de) | Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk | |
DE602004011952T2 (de) | Verfahren und System zum Verbessern der Präsentation von HTML-Seiten in einem Internet-Zugriffsgerät | |
DE60317917T2 (de) | Verfahren und vorrichtung zum weiterleiten von sitzungsinformationen von einem portal-server | |
DE602004009902T2 (de) | System und verfahren für kompakte nachrichtenübermittlung in der netzwerkkommunikation | |
DE60314877T2 (de) | Verfahren und vorrichtung zur bereitstellung elektronischer post an ein mobiles gerät | |
DE10236189B4 (de) | Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist | |
DE19715696A1 (de) | Verfahren und Apparat zum Suchen nach und zum Wiederfinden von Dokumenten, indem ein Faxgerät verwendet wird | |
DE10295699T5 (de) | Eine Anordnung und ein Verfahren in Bezug auf Sitzungsverwaltung in einer Portalstruktur | |
DE19936314A1 (de) | Verfahren und System zur Inhaltskonvertierung von elektronischen Daten unter Verwendung von Konvertierungspräferenzen | |
DE10236190A1 (de) | Variables Datendrucken mit web-basierter Bilderzeugung | |
DE10352400A1 (de) | Netzwerkdienst-Abfangvorrichtung | |
DE10236182A1 (de) | Webbasiertes Bilderzeugungssystem, das eine Einrichtung zum individuellen Zuordnen eines Inhalts liefert |
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, |