DE10050172A1 - Systeme, Verfahren und Computerprogrammprodukte zur Überprüfung eines für die Anzeige in pervasive Computereinheiten angepassten Web-Inhaltes - Google Patents

Systeme, Verfahren und Computerprogrammprodukte zur Überprüfung eines für die Anzeige in pervasive Computereinheiten angepassten Web-Inhaltes

Info

Publication number
DE10050172A1
DE10050172A1 DE10050172A DE10050172A DE10050172A1 DE 10050172 A1 DE10050172 A1 DE 10050172A1 DE 10050172 A DE10050172 A DE 10050172A DE 10050172 A DE10050172 A DE 10050172A DE 10050172 A1 DE10050172 A1 DE 10050172A1
Authority
DE
Germany
Prior art keywords
http
data processing
simulated
pervasive
processing unit
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.)
Ceased
Application number
DE10050172A
Other languages
English (en)
Inventor
Samuel A Camut
Ivan M Heninger
Eric Vought
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10050172A1 publication Critical patent/DE10050172A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es werden Systeme, Verfahren und Computerprogrammprodukte bereitgestellt, um zu prüfen, ob ein Web-Inhalt von einem Konvertierungs-Proxy für die Anzeige in verschiedenen anfordernden pervasiven Datenverarbeitungseinheiten ordnungsgemäß angepasst wurde. Unter Verwendung von Informationen aus einer oder mehreren Datendateien werden simulierte HyperText Transfer Protocol- (HTTP-) Anforderungen erstellt. Jede simulierte Anforderung enthält einen Uniform Resource Locator (URL), der eine Position des Web-Inhaltes kennzeichnet. Außerdem enthält jede simulierte Anforderung einen HTTP-Vorsatz, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält. Simulierte HTTP-Anforderungen werden asynchron zu entsprechenden Web-Servern ausgegeben, die in den jeweiligen HTTP-Anforderungen gekennzeichnet werden. Eine HTTP-Antwort auf jede entsprechende simulierte HTTP-Anforderung wird empfangen und enthält einen Web-Inhalt, der für die Anzeige in einer entsprechenden pervasiven Datenverarbeitungseinheit angepasst wurde, die der jeweiligen simulierten HTTP-Anforderung zugeordnet ist. Jede HTTP-Antwort wird sodann mit einer erwarteten HTTP-Antwort verglichen. Eine HTTP-Antwort, deren Vergleich mit einer erwarteten HTTP-Antwort ungünstig ausfällt, kann zur späteren Analyse gespeichert werden.

Description

Gebiet der Erfindung
Die vorliegende Erfindung betrifft im Allgemeinen die Anzeige des Inhaltes einer Web-Seite und insbesondere die Anpassung des Web-Inhaltes für die Anzeige in Client-Einheiten.
Grundlagen der Erfindung
Das Internet ist ein weltweites dezentrales Netz von Computern mit der Fähigkeit, miteinander zu kommunizieren. Das Internet hat umfassende Anerkennung als leistungsfähiges Medium zur Kommunikation und Interaktion über mehrere Netze erlangt. Das World-Wide Web (Web) ist Anfang der 90er Jahre entstanden und besteht aus mit dem Internet verbundenen Server-Hostcomputern (Web-Server), die Hypertextdokumente (als Web-Seiten bezeichnet) darin gespeichert haben. Client-Programme (z. B. Web-Browser), die das Hypertext Transfer Protocol (HTTP) verwenden, können über eine Transmission Control Protocol/Internet Protocol- (TCP/IP-) Verbindung zwischen einer Client-Hosteinheit (client-hosting device) und einer Server-Hosteinheit (server-hosting device) auf Web-Seiten zugreifen. Obwohl HTTP und Web-Seiten die vorherrschenden Formen für das Web sind, betrifft das Web selbst einen weiten Bereich von Protokollen, darunter Secure Hypertext Transfer Protocol (HTTPS), File Transfer Protocol (FTP) und Gopher, und Formaten von Web-Inhalten, darunter unverschlüsselter Text, HyperText Markup Language (HTML), Extensible Markup Language (XML), sowie Bildformate, beispielsweise Graphics Interchange Format (GIF) und Joint Photographic Experts Group (JPEG).
Eine Web-Site ist herkömmlicherweise eine Sammlung von Web- Seiten und anderen, ein bestimmtes Thema betreffenden Dateien, die eine als "Home"-Page bezeichnete Anfangsdatei enthält. Eine große Web-Site kann sich auf einer Anzahl geographisch verstreuter Web-Server befinden. Die Web-Site von International Business Machines Corporation (www.ibm.com) besteht beispielsweise aus Tausenden von Web-Seiten und Dateien, die weltweit über mehrere Web-Server verteilt sind.
Ein Intranet ist ein privates Computernetz, das herkömmlicherweise in einem Unternehmen enthalten ist und das herkömmlicherweise einen oder mehrere Server enthält, die mit mehreren Benutzercomputern kommunizieren. Ein Intranet kann aus miteinander verbundenen lokalen Netzen (local area networks) bestehen und kann außerdem Mietleitungen in einem landesweiten Netz (wide-area network) verwenden. Ein Intranet kann Verbindungen zum äußeren Internet enthalten. Intranets verwenden herkömmlicherweise mehrere Internet-Protokolle und erscheinen im Allgemeinen wie private Versionen des Internets. Ein Intranetbenutzer greift normalerweise über einen lokal auf seinem/ihrem Computer laufenden Browser auf einen Intranet- Server zu.
Ein Web- (oder Intranet-) Server ist ein (normalerweise auf einem Computer ablaufendes) Computerprogramm, das angeforderte Web-Seiten und Dateien bedient. Ein Web-Client ist ein anforderndes Programm, das einem Benutzer zugeordnet ist. Ein Browser ist ein exemplarischer Web-Client zur Verwendung bei der Anforderung von Web-Seiten und Dateien von Web-Servern. Ein Web-Server wartet auf einen Web-Client, beispielsweise einen Browser, um eine Verbindung zu eröffnen und eine spezifische Web-Seite (oder Datei) anzufordern. Der Web-Server sendet sodann eine Kopie des angeforderten Elementes, schließt die Verbindung und wartet auf die nächste Verbindung.
Wenn ein Browser mit einem Web-Server in Wechselwirkung steht, verwenden die beiden Programme HTTP. HTTP ermöglicht es einem Browser, ein spezifisches Element anzufordern, das der Web- Server sodann zurücksendet und der Browser wiedergibt. Zur Sicherstellung einer unzweideutigen Kooperation von Browsern und Web-Servern definiert HTTP das genaue Format von Anforderungen (HTTP-Anforderungen), die von einem Browser zu einem Web-Server gesendet werden, sowie das Format von Antworten (HTTP-Antworten), die der Web-Server zum Browser zurücksendet.
Exemplarische Browser für Internet und Intranet beinhalten Netscape Navigator® (America Online, Inc., 22000 AOL Way, Dulles, VA) und Internet Explorer® (Microsoft Corporation, Redmond, WA). Browser stellen normalerweise eine grafische Benutzerschnittstelle zum Abrufen und Betrachten von Web- Seiten, Anwendungen und anderen Ressourcen bereit, die sich auf Internet/Intranet-Servern (hierin im Folgenden kollektiv als "Web-Server" bezeichnet) befinden.
Wie Fachleuten bekannt ist, wird eine Web-Seite herkömmlicherweise über eine Standardseitenbeschreibungs­ sprache (standard page description language), zum Beispiel HTML, formatiert, die normalerweise Text enthält und sich auf Grafiken, Ton, Animation und Videodaten beziehen kann. HTML schafft die Voraussetzungen für eine grundlegende Dokumentformatierung und ermöglicht einem Web-Inhalt-Provider die Angabe spezifischer Anker oder Hypertextverbindungen (normalerweise als hervorgehobener Text gezeigt) zu anderen Web-Servern und Dateien. Wenn ein Benutzer eine bestimmte Hypertextverbindung auswählt, liest und interpretiert ein Browser eine der Verbindung zugeordnete Adresse, die als Uniform Resource Locator (URL) bezeichnet wird, verbindet den Browser mit einem Web-Server bei dieser Adresse und erstellt eine Anforderung (z. B. eine HTTP-Anforderung) für die in der Verbindung gekennzeichnete Datei. Der Web-Server sendet die angeforderte Datei sodann zum Web-Client, den der Browser interpretiert und dem Benutzer anzeigt.
Viele neue elektronische Einheiten, beispielsweise Personal Digital Assistants (PDAs), Taschencomputer und Web-TVs, erhalten als Client-Einheiten Zugriff auf das Internet und/oder auf Intranets. Elektronische Einheiten, darunter - jedoch nicht ausschließlich - PDAs, Zelltelefone (cellular telephones) und Datenverarbeitungseinheiten, die in Geräten und Kraftfahrzeugen verwendet werden, werden oftmals insgesamt als "pervasive" Datenverarbeitungseinheiten bezeichnet. Viele solcher pervasive Datenverarbeitungseinheiten verwenden die Plattformen von Microsoft® Windows CE und 3Com Palm Computing®.
Leider sind die Fähigkeiten von pervasive Datenverarbeitungseinheiten zum Empfangen, Verarbeiten, Speichern und Anzeigen eines Internet-Inhaltes unterschiedlich. Die Anzeigen von pervasive Datenverarbeitungseinheiten sind im Vergleich zu Tischcomputeranzeigen (desktop computer displays) klein. Infolgedessen können Inhaltsanteile einer Web-Seite, beispielsweise Bilder und konvertierte HTML, die andernfalls auf einer Tischcomputeranzeige angezeigt werden können, auf der Anzeige einer pervasive Computereinheit nicht angezeigt werden, wenn nicht einige Änderungen an den Bildern und/oder dem Text (d. h. dem Inhalt) vorgenommen werden. Beispielsweise kann eine Tischcomputeranzeige mit einer Matrix von 1024 Bildelementen mal 768 Bildelementen ein großes (z. B. 2 MB) Farbbild mit 24 Bit pro Bildelement anzeigen. Eine pervasive Computereinheit, die eine Anzeige mit einer Matrix von 120 Bildelementen mal 120 Bildelementen aufweist und nur etwa 3 Bit pro Bildelement anzeigen kann, ignoriert möglicherweise viele der Bilddaten. Infolgedessen kann das Bild über die pervasive Computereinheit nicht ordnungsgemäß angezeigt werden, falls überhaupt, es sei denn, die Größe des Bildes wird an die Fähigkeiten der Datenverarbeitungseinheit angepasst. Außerdem können einige pervasive Datenverarbeitungseinheiten bestimmte Bilddateitypen, beispielsweise JPEG oder GIF, möglicherweise nicht anzeigen.
Die Schriftarten und Größen von Text im Web-Inhalt müssen möglicherweise außerdem geändert werden, um deren Anzeige in der Anzeige einer pervasive Datenverarbeitungseinheit zu ermöglichen. Außerdem können allgemeine HTML-Merkmale, zum Beispiel Rahmen und Tabellen, von pervasive Datenverarbeitungseinheiten möglicherweise nicht angezeigt werden. Daten in Rahmen und Tabellen müssen zum korrekten Anzeigen möglicherweise entfernt und/oder in andere Konfigurationen neu formatiert werden. Außerdem erfordern Leistungsbegrenzungen von pervasive Datenverarbeitungseinheiten, beispielsweise die Speichergröße und die Verbindungsbandbreite, möglicherweise ebenfalls Änderungen am Web-Seiteninhalt, um diesen über eine pervasive Datenverarbeitungseinheit korrekt anzuzeigen.
Es ist bekannt, einen Web-Inhalt, der über eine pervasive Datenverarbeitungseinheit nicht korrekt angezeigt werden kann, in ein anzeigbares Format "anzupassen". Große Farbbilder mit hoher Auflösung können beispielsweise in kleine Schwarzweißbilder umgesetzt werden, die in kleinen Anzeigen mit niedriger Auflösung angezeigt werden können. Die Anpassung von Video, Bildern, Ton und Text zur Anzeige in einer Client- Einheit wird normalerweise als Konvertierung ("transcoding") bezeichnet. Eine Web-Inhalt-Konvertierung wird in den schwebenden US-Patentanmeldungen Nr. 09/239 935 und 09/240 137 ausführlich beschrieben, die International Business Machines Corporation zugewiesen und in ihrer Gesamtheit hierin durch Bezugnahme aufgenommen werden. Die Web-Inhalt-Konvertierung wird normalerweise von einem Konvertierungs-Proxy (transcoding proxy) ausgeführt, der einem Web-Server zugeordnet ist. Produkte zur Konvertierung eines Web-Inhaltes zur Anzeige durch eine anfordernde Client-Einheit sind bekannt. Ein Beispiel für ein Konvertierungsprodukt ist das von der Apache Server Foundation unter http://java.apache.org erhältliche "Cocoon". Cocoon wird-unter http://java.apache.org /cocoon/index.html beschrieben, das durch Bezugnahme hierin aufgenommen wird.
Zum Ausführen einer Web-Inhalt-Konvertierung muss ein Web- Server und/oder ein Konvertierungs-Proxy normalerweise Kenntnisse von einer Client-Einheit haben, die eine HTTP- Anforderung erstellt. Wie Fachleuten bekannt ist, begleitet ein HTTP-Vorsatz (HTTP header) HTTP-Anforderungen zu einem Web-Server. Ein HTTP-Vorsatz stellt normalerweise Informationen über eine anfordernde Client-Einheit und deren Browser bereit. Beispiele für in einem HTTP-Vorsatz bereitgestellte Informationen können Folgendes enthalten: die Anzeigengröße einer Client-Einheit, ob die Anzeige einer Client-Einheit eine Farbanzeige oder eine Schwarzweißanzeige ist, eine Kennung des Browsers der Client-Einheit und eine Kennung des Betriebssystems der Client-Einheit.
Es werden laufend neue Datenverarbeitungseinheiten für das breite Publikum mit verschiedenen Browsern und Konfigurationen entwickelt und auf den Markt gebracht. Unter Berücksichtigung der Vielfalt neuer Datenverarbeitungseinheiten für die Allgemeinheit kann es für die Herausgeber von Web-Inhalten schwierig sein, den Inhalt so anzupassen, dass er in vielen verschiedenen Einheiten angemessen angezeigt werden kann. Infolgedessen besteht ein Bedarf an einer schnellen und problemlosen Überprüfung, dass die Anpassung eines Web- Inhaltes für jeden Typ von Client-Einheit, die eine HTTP- Anforderung sendet, korrekt ausgeführt wird. Gegenwärtig erfolgt die Überprüfung, ob die Anpassung des Web-Inhaltes korrekt ausgeführt wird, durch das Senden von HTTP- Anforderungen mit jeder tatsächlichen Client-Einheit. Leider kann die Fähigkeit zum Prüfen der Web-Inhaltanpassung mit vielen verschiedenen Client-Einheiten kostspielig und zeitaufwendig sein, und es ist möglicherweise technisch nicht durchführbar, Antworten analytisch auf Gültigkeit zu prüfen.
Zusammenfassung der Erfindung
Angesichts der obigen Erläuterung ist es eine Aufgabe der vorliegenden Erfindung, Systeme, Verfahren und Computerprogrammprodukte zum Simulieren verschiedener, auf unterschiedlichen Softwareplattformen betriebener Client- Einheiten bereitzustellen, um sicherzustellen, das die Anpassung eines Web-Inhaltes korrekt ausgeführt wird.
Eine andere Aufgabe der vorliegenden Erfindung ist das Erleichtern der Anzeige von Web-Seiten über pervasive Datenverarbeitungseinheiten, die im Vergleich zu Tischcomputern kleinere Anzeigen und verschiedene Leistungsbegrenzungen aufweisen können.
Diese und andere Aufgaben der vorliegenden Erfindung werden von Systemen, Verfahren und Computerprogrammprodukten bereitgestellt, um zu testen (d. h. zu überprüfen), ob der Web- Inhalt von einem Konvertierungs-Proxy für die Anzeige in verschiedenen anfordernden pervasive Datenverarbeitungseinheiten ordnungsgemäß angepasst wurde. Unter Verwendung von Informationen von einer oder mehreren Datendateien werden simulierte HyperText Transfer Protocol- (HTTP-) Anforderungen erstellt. Jede simulierte Anforderung enthält vorzugsweise einen Uniform Resource Locator (URL), der eine Position des Web-Inhaltes kennzeichnet. Außerdem enthält jede simulierte Anforderung vorzugsweise einen HTTP-Vorsatz, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält. Beispiele für in einem HTTP-Vorsatz enthaltene Informationen über pervasive Datenverarbeitungseinheiten können die folgenden Informationen enthalten, sind jedoch nicht auf diese begrenzt: eine Kennung des Browsers einer Einheit, eine Kennung des Betriebssystems einer Einheit, Eigenschaften der Anzeige einer Einheit und Informationen über den Web-Inhalt, für dessen Anzeige eine Einheit konfiguriert ist.
Simulierte HTTP-Anforderungen werden zu entsprechenden Web- Servern ausgegeben, die in den jeweiligen HTTP-Anforderungen gekennzeichnet werden. Auf jede entsprechende simulierte HTTP- Anforderung wird eine HTTP-Antwort empfangen, die einen Web- Inhalt enthält, der zur Anzeige in einer entsprechenden pervasive Datenverarbeitungseinheit angepasst wurde, die der jeweiligen simulierten HTTP-Anforderung zugeordnet ist. Jede HTTP-Antwort wird sodann mit einer erwarteten HTTP-Antwort verglichen. Eine HTTP-Antwort, deren Vergleich mit einer erwarteten HTTP-Antwort keine Übereinstimmung ergibt, kann zur späteren Analyse gespeichert werden.
Die vorliegende Erfindung kann die Feststellung erleichtern, ob ein Web-Inhalt für die Anzeige in fast jedem Typ von Client-Einheit mit fast jedem Konfigurationstyp ordnungsgemäß angepasst ist, ohne dass die eigentliche Einheit im Test verwendet werden muss. Infolgedessen kann die Verwendung der vorliegenden Erfindung von Web-Inhalt-Providern zu beträchtlichen Zeiteinsparungen, Kosteneinsparungen und Programmprodukten von höherer Qualität führen.
Kurze Beschreibung der Zeichnungen
Fig. 1 veranschaulicht schematisch die Pfade einer HTTP- Anforderung und einer entsprechenden HTTP-Antwort in einer Client-Server-Umgebung, die einen Konvertierungs-Proxy enthält, der einen Web-Inhalt für die Anzeige in anfordernden Client-Einheiten anpasst.
Fig. 2 ist ein Flussdiagramm, das Arbeitsgänge zum Überprüfen eines konvertierten Web-Inhaltes darstellt, der gemäß der vorliegenden Erfindung auf eine Client-Anforderung hin bereitgestellt wird.
Fig. 3 ist ein ausführliches Flussdiagramm, das Arbeitsgänge zum Erstellen und Ausgeben einer Vielzahl von HTTP- Anforderungen und zum Überprüfen eines konvertierten Web- Inhaltes darstellt, der gemäß der vorliegenden Erfindung auf eine Client-Anforderung hin bereitgestellt wird.
Fig. 4 ist eine schematische Darstellung eines Datenverarbeitungssystems zum Ausführen von Arbeitsgängen gemäß der vorliegenden Erfindung.
Fig. 5 ist eine schematische Darstellung eines Datenverarbeitungssystems, das mit einer Vielzahl von Web- Servern und Konvertierungs-Proxies kommuniziert, wobei das Datenverarbeitungssystem so konfiguriert ist, dass es gemäß der vorliegenden Erfindung eine Vielzahl von HTTP- Anforderungen erstellt und sendet und eine entsprechende Vielzahl von HTTP-Antworten empfängt.
Ausführliche Beschreibung der Erfindung
Im Folgenden wird die vorliegende Erfindung nun ausführlicher mit Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen bevorzugte Ausführungsformen der Erfindung gezeigt werden. Diese Erfindung kann jedoch in vielen verschiedenen Formen ausgeführt werden und sollte nicht als auf die hierin dargelegten Ausführungsformen begrenzt gedeutet werden; stattdessen werden diese Ausführungsformen bereitgestellt, damit diese Beschreibung sorgfältig und vollständig ist und Fachleuten den Anwendungsbereich der Erfindung vollständig zeigt. Gleiche Ziffern beziehen sich durchweg auf gleiche Elemente.
Wie Fachleute verstehen werden, kann die vorliegende Erfindung als Verfahren, Datenverarbeitungssystem oder Computerprogrammprodukt ausgeführt werden. Dementsprechend kann die vorliegende Erfindung die Form einer kompletten Hardware-Ausführungsform, einer kompletten Software- Ausführungsform oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte kombiniert. Außerdem kann die vorliegende Erfindung die Form eines Computerprogrammproduktes auf einem in einem Computer verwendbaren Speichermedium annehmen, das ein in einem Computer verwendbares, im Medium integriertes Programmcodemittel aufweist. Jedes geeignete computerlesbare Medium kann verwendet werden, darunter Festplatten, CD-ROMs, optische Speichereinheiten oder magnetische Speichereinheiten.
Der Computerprogrammcode zum Ausführen von Arbeitsgängen der vorliegenden Erfindung wird vorzugsweise in einer objektorientierten Programmiersprache, beispielsweise JAVA®, Smalltalk oder C++, geschrieben. Der Computerprogrammcode zum Ausführen von Arbeitsgängen der vorliegenden Erfindung kann jedoch auch in herkömmlichen prozeduralen Programmiersprachen (procedural programming languages), beispielsweise der Programmiersprache "C", oder in einer funktionellen Programmiersprache (oder Programmiersprache der vierten Generation), beispielsweise Lisp, SML oder Forth, geschrieben werden.
Die vorliegende Erfindung wird unten mit Bezugnahme auf Blockschaltbilder und/oder Flussdiagrammdarstellungen von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß einer Ausführungsform der Erfindung beschrieben. Es ist klar, dass jeder Block der Blockschaltbilder und/oder Flussdiagrammdarstellungen durch Computerprogrammbefehle realisiert werden kann. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Erzeugung einer Maschine zugeführt werden, so dass die Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ablaufen, Mittel zum Realisieren der im Blockschaltbild und/oder Flussdiagrammblock oder -blöcken angegebenen Funktionen erzeugen.
Diese Computerprogrammbefehle können außerdem in einem computerlesbaren Speicher gespeichert werden, der einen Computer oder eine andere programmierbare Datenverarbeitungs­ vorrichtung auf eine bestimmte Weise steuern kann, so dass die im computerlesbaren Speicher gespeicherten Befehle ein Fertigungsprodukt erzeugen, darunter Befehlsmittel, die die im Blockschaltbild und/oder Flussdiagrammblock oder -blöcken angegebene Funktion realisieren.
Die Computerprogrammbefehle können außerdem in einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung geladen werden, um zu bewirken, dass eine Reihe von Verarbeitungsschritten auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, um einen in einem Computer realisierten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder der anderen programmierbaren Vorrichtung ablaufen, Schritte zur Realisierung der in den Blockschaltbildern und/oder im Flussdiagrammblock oder -blöcken angegebenen Funktionen bereitstellen.
Mit Bezugnahme auf Fig. 1 werden nun die Pfade einer HTTP- Anforderung und einer entsprechenden HTTP-Antwort in einer Client-Server-Beziehung schematisch dargestellt, wobei ein Konvertierungs-Proxy zum Anpassen des Web-Inhaltes enthalten ist. Eine Client-Einheit 10 sendet eine HTTP-Anforderung 15 nach einem Web-Inhalt von einem HTTP- (d. h. Web-) Server 20. Das Protokoll für HTTP-Anforderungen und -Antworten wird in der Veröffentlichung "Hypertext Transfer Protocol - HTTP/1.1", Network Working Group Request for Comments 2068, Januar 1997, die in ihrer Gesamtheit durch Bezugnahme hierin aufgenommen ist, ausführlich beschrieben.
In der dargestellten Client-Server-Beziehung durchläuft die HTTP-Anforderung 15 einen Konvertierungs-Proxy 30 und wird vom Konvertierungs-Proxy 30 geändert, wie Fachleute verstehen würden. Die geänderte HTTP-Anforderung 15' wird vom HTTP- Server 20 verarbeitet, und eine den angeforderten Web-Inhalt enthaltende HTTP-Antwort 25 wird über den Konvertierungs-Proxy 30 zur Client-Einheit 10 gesendet. Der Konvertierungs-Proxy 30 passt den Web-Inhalt in der HTTP-Antwort 25 an, wobei eine "geänderte" HTTP-Antwort 25' erzeugt wird. Der angepasste Web- Inhalt in der geänderten HTTP-Antwort 25' kann in der Client- Einheit 10 wiedergegeben werden. Es ist klar, dass ein Konvertierungs-Proxy 30 als im HTTP-Server 20 befindlicher Softwarecode, als außerhalb des HTTP-Servers, beispielsweise innerhalb einer Firewall, befindlicher Softwarecode oder einer Kombination aus beidem realisiert werden kann.
Die vorliegende Erfindung stellt Verfahren, Systeme und Computerprogrammprodukte zur Überprüfung eines konvertierten Web-Inhaltes bereit, der auf HTTP-Anforderungen hin bereitgestellt wurde, ohne dass die eigentlichen Client- Einheiten HTTP-Anforderungen senden müssen. Gemäß der vorliegenden Erfindung können mehrere Client-Anforderungen von einem einzigen Computer simuliert werden, der beispielsweise über das Internet, ein Intranet oder ein anderes Datenübertragungsnetz mit einem oder mehreren Web-Servern kommuniziert.
Mit Bezugnahme auf Fig. 2 werden Arbeitsgänge zum Überprüfen eines konvertierten Web-Inhaltes gemäß der vorliegenden Erfindung dargestellt. Unter Verwendung verschiedener Datendateien werden von einer Datenverarbeitungseinheit eine Vielzahl simulierter HTTP-Anforderungen erstellt (Block 100). Jede simulierte HTTP-Anforderung enthält einen Uniform Resource Locator (URL), der die Position eines spezifischen Web-Inhaltes kennzeichnet, der in einer anfordernden Client- Einheit angezeigt werden soll. Jede HTTP-Anforderung enthält außerdem einen HTTP-Vorsatz, der Informationen über eine anfordernde Client-Einheit enthält und der die Typen von Web- Inhalt angibt, auf deren Verarbeitung die Client-Einheit vorbereitet ist. Wie Fachleuten bekannt ist, übertragen HTTP- Vorsätze Informationen, die Web-Server und Browser zur Definition des zwischen ihnen ausgetauschten Datentyps verwenden.
Gleichzeitige HTTP-Anforderungen werden vorzugsweise asynchron an Web-Server ausgegeben, die in den jeweiligen HTTP- Anforderungen gekennzeichnet werden (Block 110, Fig. 2).
Eine Datenverarbeitungseinheit zur Realisierung der vorliegenden Erfindung setzt vorzugsweise für jede der betreffenden HTTP-Anforderungen das HTTP-"GET"-Verfahren (HTTP "GET" Method) ein. Das HTTP-"GET"-Verfahren, das Fachleuten gut bekannt ist, wird in "Hypertext Transfer Protocol - HTTP/1.1", Network Working Group Request for Comments 2068, Januar 1997, ausführlich beschrieben.
Eine HTTP-Antwort auf jede HTTP-Anforderung wird vorzugsweise gespeichert (Block 120, Fig. 2). Jede HTTP-Antwort enthält einen HTTP-Vorsatz und einen Web-Inhalt, der für die Anzeige in einer Client-Einheit angepasst wurde, die als die Einheit identifiziert wurde, die die entsprechende HTTP-Anforderung sendete. Jede empfangene HTTP-Antwort wird mit einer erwarteten HTTP-Antwort verglichen (Block 130, Fig. 2). HTTP- Antworten, die nicht mit ihren jeweiligen erwarteten Antworten übereinstimmen, werden vorzugsweise zur späteren Analyse gespeichert.
Wie in Fig. 3 dargestellt wird, können mehrere simulierte HTTP-Anforderungen gleichzeitig und asynchron bis zu "n" Wiederholungen erstellt und ausgegeben werden, wobei n praktisch ein beliebiger Wert sein kann. Die gleichzeitige Erstellung und Ausgabe mehrerer simulierter HTTP-Anforderungen werden durch die Arbeitsgänge 102-1 bis 130-1, die Arbeitsgänge 102-2 bis 130-2 und die Arbeitsgänge 102-n bis 130-n schematisch dargestellt. Eine ausführliche Beschreibung der Arbeitsgänge 102-1 bis 130-1 wird unten bereitgestellt, und es ist klar, dass diese Arbeitsgänge für alle der n Wiederholungen gleich sind.
Für jede HTTP-Anforderung wählt eine die vorliegende Erfindung realisierende Datenverarbeitungseinheit vorzugsweise einen URL aus, der den aus einer Datendatei abzurufenden Web-Inhalt definiert (Block 102-1). Ähnlich werden HTTP-Vorsatzfelder vorzugsweise aus einer Datendatei ausgewählt (Block 104-1). Ein ausgewählter URL und ausgewählte HTTP-Vorsatzfelder werden sodann zum Erstellen jeder betreffenden HTTP-Anforderung kombiniert (Block 106-1). Jede erstellte HTTP-Anforderung wird sodann zum Web-Server ausgegeben, der in der erstellten HTTP- Anforderung gekennzeichnet wird (Block 110-1).
Nachdem eine Antwort auf eine HTTP-Anforderung empfangen und gespeichert wurde (Block 120-1), wird eine Entscheidung getroffen, ob eine weitere HTTP-Anforderung erstellt werden soll (Block 122-1). Sobald eine Entscheidung getroffen wurde, keine weitere HTTP-Anforderung zu erstellen, wird jede zurückgesendete HTTP-Antwort mit einer erwarteten Antwort verglichen (Block 130-1). Vorzugsweise wird jede fehlgeschlagene Antwort zur späteren Analyse gespeichert, um festzustellen, warum der Web-Inhalt nicht ordnungsgemäß konvertiert wurde.
Die Entscheidung zum Erstellen einer weiteren HTTP-Anforderung kann von dem in einer HTTP-Antwort zurückgesendeten Web-Inhalt abhängen. Falls der Web-Inhalt in einer HTTP-Antwort beispielsweise Bilder enthält, kann die vorliegende Erfindung entsprechende HTTP-Anforderungen für jedes Bild erstellen. Dementsprechend können die Verfahren der vorliegenden Erfindung rekursiv sein, und die sich wiederholenden Schritte von Fig. 3 können fortgesetzt werden, bis alle Typen von Dateien in einer Web-Seite angefordert worden sind. Infolgedessen kann die Anpassung des Inhaltes einer ganzen Web-Site über ein Datenverarbeitungssystem überprüft werden, das die vorliegende Erfindung realisiert.
Beispielhafte Informationen über eine anfordernde Client- Einheit, die in HTTP-Vorsatzfeldern bereitgestellt wird, können Folgendes enthalten, sind jedoch nicht darauf begrenzt: eine Kennung eines auf der Client-Einheit (z. B. Benutzer- Agent) ablaufenden Browsers, eine Kennung des Betriebssystems der Client-Einheit, eine Kennung von Eigenschaften der Anzeige der Client-Einheit und eine Kennung des Web-Inhaltes, für dessen Anzeige die Client-Einheit konfiguriert ist. Beispielhafte Anzeigeeigenschaften einer Client-Einheit beinhalten - jedoch nicht ausschließlich - die Anzeigegröße und ob die Anzeige eine Farbanzeige oder eine Schwarzweißanzeige ist.
Mit Bezugnahme auf Fig. 4 wird ein Datenverarbeitungssystem 600 zum Ausführen von Arbeitsgängen der vorliegenden Erfindung schematisch dargestellt. Wie in Fig. 4 zu erkennen ist, kann ein Datenprozessor 601 ein Betriebssystem 602 aufweisen, das sich mit verschiedenen, auf dem Betriebssystem 602 ablaufenden Anwendungsprogrammen 603 zum Ausführen von Arbeitsgängen der vorliegenden Erfindung darin befindet. Insbesondere wird eine Anwendung 603a zur HTTP-Anforderungserstellung (HTTP Request Builder application) bereitgestellt, um die in den Blöcken 100 und 110 von Fig. 2 und den Blöcken 100 bis 122-1 von Fig. 3 dargelegten Arbeitsgänge zur HTTP-Anforderungserstellung und -ausgabe auszuführen. Eine Antwortvergleichs-Anwendung 603b (Response Comparator application) wird bereitgestellt, um Arbeitsgänge zum Vergleichen empfangener HTTP-Antworten mit erwarteten Antworten auszuführen, die im Block 130 von Fig. 2 und im Block 130-1 von Fig. 3 dargelegt werden.
Immer noch Bezug nehmend auf Fig. 4 kommunizieren die Anwendungen 603a, 603b mit dem Datenspeicher 609, der ein externer oder ein interner Datenspeicher oder eine Kombination aus externem und internem Datenspeicher sein kann. Die Anwendung 603a zur HTTP-Anforderungserstellung ist so konfiguriert, dass sie HTTP-Vorsatzelemente und URLs aus dem Datenspeicher 609 liest und HTTP-Anforderungen erstellt und ausgibt, wie in den Blöcken 100 und 110 von Fig. 2 und den Blöcken 100 bis 122-1 von Fig. 3 dargelegt wird. Die Antwortvergleichs-Anwendung 603b ist so konfiguriert, dass empfangene HTTP-Antworten mit erwarteten Antworten verglichen werden, die im Block 130 von Fig. 2 und im Block 130-1 von Fig. 3 dargelegt werden. Außerdem kann der Datenspeicher 609 zur Speicherung erstellter HTTP-Anforderungen und zur Speicherung empfangener HTTP-Antworten und zur Realisierung der verschiedenen Verfahrensschritte der vorliegenden Erfindung als ein oder mehrere Stapelprozesse (batch processes) verwendet werden.
Wie Fachleute verstehen würden, zeigt der Prozessor 601 Informationen auf einer Anzeigeeinheit 604 an. Die Anzeigeeinheit 604 weist eine Vielzahl von Bildelementen (insgesamt als Bildschirm bezeichnet) auf, die das Erscheinen einer auf der Anzeigeeinheit 604 angezeigten grafischen Benutzeroberfläche (GUI) definieren können. Der Inhalt des Bildschirms und daher das Erscheinen einer GUI können von einem oder mehreren Anwendungsprogrammen 603a, 603b oder vom Betriebssystem 602, einzeln oder kombiniert, gesteuert oder geändert werden. Um eine Eingabe von einem Benutzer zu erhalten, kann das Betriebssystem 602, die Anwendungsprogramme 603a, 603b oder eine Kombination davon Benutzereingabeeinheiten 605 verwenden. Die Benutzereingabeeinheiten 605 können eine Zeigereinheit 606 und eine Tastatur 607 oder andere, Fachleuten bekannte Eingabeeinheiten beinhalten.
Mit Bezugnahme auf Fig. 5 wird nun ein Datenverarbeitungssystem 600 zum Ausführen von Arbeitsgängen der vorliegenden Erfindung dargestellt, das über ein Datenübertragungsnetz, beispielsweise das Internet und/oder ein Intranet 701, mit einer Vielzahl von Web-Servern 702 und Konvertierungs-Proxies 704 kommuniziert. In der dargestellten Ausführungsform können ein oder mehrere Web-Server 702 einen Konvertierungs-Proxy 704 verwenden, der zur Anpassung eines Web-Inhaltes gemäß der obigen Beschreibung konfiguriert ist. Das Datenverarbeitungssystem 600 ist gemäß der obigen Beschreibung so konfiguriert, dass es HTTP-Anforderungen von mehreren pervasive Datenverarbeitungseinheiten simuliert, ohne dass tatsächliche Datenverarbeitungseinheiten zum Erstellen von HTTP-Anforderungen benötigt werden. Das Datenverarbeitungssystem 600 erstellt mehrere HTTP- Anforderungen und gibt diese aus, wobei jede HTTP-Anforderung einen HTTP-Vorsatz enthält, der Informationen über eine entsprechende pervasive Client-Einheit/Browser-Konfiguration (client device/browser configuration) enthält. Diese HTTP- Anforderungen können sodann als asynchrone parallele Anforderungen an gekennzeichnete Web-Server gesendet werden.
Das Datenverarbeitungssystem 600 ist gemäß der obigen Beschreibung so konfiguriert, dass es über das Internet und/oder das Intranet 701 HTTP-Antworten auf die HTTP- Anforderungen empfängt und die HTTP-Antworten mit erwarteten HTTP-Antworten vergleicht. Vorzugsweise ist das Datenverarbeitungssystem 600 so konfiguriert, dass es HTTP- Antworten speichert und anschließend HTTP- Antwortvergleichsarbeitsgänge (HTTP response comparison operations) als Stapelprozess ausführt. Dementsprechend stellt die vorliegende Erfindung eine leistungsfähige, preiswerte Möglichkeit für eine gründlichere Prüfung einer Web- Inhaltanpassung für mehrere pervasive Datenverarbeitungseinheiten bereit, ohne dass die eigentlichen pervasive Datenverarbeitungseinheiten benötigt werden.
Die vorhergehende Beschreibung veranschaulicht die vorliegende Erfindung und soll nicht als begrenzend gedeutet werden. Obwohl einige beispielhafte Ausführungsformen dieser Erfindung beschrieben wurden, werden Fachleute problemlos verstehen, dass viele Änderungen in den beispielhaften Ausführungsformen möglich sind, ohne wesentlich von der neuen Lehre und den Vorteilen dieser Erfindung abzuweichen. Dementsprechend liegen alle solchen Änderungen im Anwendungsbereich dieser Erfindung, wie sie in den Ansprüchen definiert wird. In den Ansprüchen sind funktionelle Vorrichtungsmerkmale (means-plus-function clause) dafür vorgesehen, die hierin beschriebenen Strukturen bei der Ausführung der genannten Funktion zu umfassen und nicht nur strukturelle Äquivalente, sondern auch funktionelle Äquivalente. Daher muss klar sein, dass die vorhergehende Beschreibung die vorliegende Erfindung veranschaulicht und nicht als auf die beschriebenen Ausführungsformen begrenzt gedeutet werden soll und dass Änderungen an den beschriebenen Ausführungsformen sowie andere Ausführungsformen im Anwendungsbereich der angehängten Ansprüche enthalten sind. Die Erfindung wird durch die folgenden Ansprüche definiert, wobei Äquivalente der Ansprüche darin enthalten sind.

Claims (39)

1. Verfahren zum Überprüfen eines für die Anzeige in einer pervasive Datenverarbeitungseinheit angepassten Web- Inhaltes, der auf eine simulierte Anforderung von der pervasive Datenverarbeitungseinheit hin, die von einem Datenverarbeitungssystem erzeugt wurde, das nicht die pervasive Datenverarbeitungseinheit ist, wobei das Verfahren die folgenden Schritte umfasst:
Erstellen einer simulierten HyperText Transfer Protocol- (HTTP-) Anforderung über das Datenverarbeitungssystem, wobei die simulierte HTTP-Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web-Inhaltes kennzeichnet, und wobei die simulierte HTTP- Anforderung einen HTTP-Vorsatz enthält, der Informationen über die pervasive Datenverarbeitungseinheit enthält;
Ausgeben der simulierten HTTP-Anforderung vom Datenverarbeitungssystem zu einem Web-Server, der in der simulierten HTTP-Anforderung gekennzeichnet wird;
Empfangen einer HTTP-Antwort vom Web-Server im Datenverarbeitungssystem, wobei die HTTP-Antwort einen Web-Inhalt enthält, der von einem Konvertierungs-Proxy, der für die Anpassung eines Web-Inhaltes für die Anzeige in pervasive Datenverarbeitungseinheiten ausgelegt ist, für die Anzeige in der pervasive Datenverarbeitungseinheit angepasst wurde;
Vergleichen der empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort.
2. Verfahren nach Anspruch 1, wobei die Informationen über die pervasive Datenverarbeitungseinheit mindestens eine der folgenden Informationen enthalten: eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Browsers, eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Betriebssystems, eine Kennung von Eigenschaften einer Anzeige für die pervasive Datenverarbeitungseinheit und eine Kennung des Web-Inhaltes, für dessen Anzeige die pervasive Datenverarbeitungseinheit konfiguriert ist.
3. Verfahren nach Anspruch 1, das außerdem den Schritt des Speicherns der auf die simulierte HTTP-Anforderung hin empfangenen HTTP-Antwort umfasst.
4. Verfahren nach Anspruch 1, wobei der Schritt des Vergleichens der empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort außerdem den Schritt des Speicherns der empfangenen HTTP-Antwort umfasst, falls die empfangene HTTP-Antwort nicht mit der erwarteten HTTP-Antwort übereinstimmt.
5. Verfahren nach Anspruch 1, wobei der Schritt des Erstellens einer simulierten HTTP-Anforderung über das Datenverarbeitungssystem Folgendes umfasst:
Erstellen einer Vielzahl von simulierten HTTP- Anforderungen von einer entsprechenden Vielzahl pervasive Datenverarbeitungseinheiten über das Datenverarbeitungssystem, wobei jede simulierte HTTP- Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web-Inhaltes kennzeichnet, und wobei jede simulierte HTTP-Anforderung einen HTTP-Vorsatz enthält, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält; und
Speichern der Vielzahl simulierter HTTP-Anforderungen.
6. Verfahren nach Anspruch 5, wobei der Schritt des Ausgebens der simulierten HTTP-Anforderung über das Datenverarbeitungssystem zu einem in der simulierten HTTP-Anforderung gekennzeichneten Web-Server das asynchrone Ausgeben der Vielzahl simulierter HTTP- Anforderungen über das Datenverarbeitungssystem an in jeder entsprechenden simulierten HTTP-Anforderung gekennzeichnete Web-Server umfasst.
7. Verfahren nach Anspruch 5, wobei der Schritt des Erstellens einer Vielzahl von simulierten HTTP- Anforderungen über das Datenverarbeitungssystem das Abrufen von HTTP-Vorsatzfeldern und URLs aus den jeweiligen Datendateien umfasst.
8. Verfahren nach Anspruch 5, wobei der Schritt des Vergleichens der empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort das Vergleichen jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort für eine pervasive Datenverarbeitungseinheit umfasst, die jeder entsprechenden simulierten HTTP-Anforderung zugeordnet ist.
9. Verfahren zum Überprüfen eines für die Anzeige in einer Vielzahl von pervasive Datenverarbeitungseinheiten angepassten Web-Inhaltes, der auf simulierte Anforderungen von den pervasive Datenverarbeitungseinheiten hin, die von einem Datenverarbeitungssystem erzeugt werden, das nicht eine der pervasive Datenverarbeitungseinheiten ist, wobei das Verfahren die folgenden Schritte umfasst:
Erstellen einer Vielzahl von simulierten HyperText Transfer Protocol- (HTTP-) Anforderungen über das Datenverarbeitungssystem, wobei jede simulierte HTTP- Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web-Inhaltes kennzeichnet, und wobei jede simulierte HTTP-Anforderung einen HTTP-Vorsatz enthält, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält;
asynchrones Ausgeben jeder simulierten HTTP-Anforderung vom Datenverarbeitungssystem zu einem Web-Server, der in jeder entsprechenden simulierten HTTP-Anforderung gekennzeichnet wird;
Empfangen einer HTTP-Antwort auf jede entsprechende simulierte HTTP-Anforderung im Datenverarbeitungssystem, wobei jede HTTP-Antwort einen Web-Inhalt enthält, der für die Anzeige in einer pervasive Datenverarbeitungseinheit angepasst wurde, die in einer entsprechenden simulierten HTTP-Anforderung gekennzeichnet wird; und
Vergleichen jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort für eine pervasive Datenverarbeitungseinheit, die in jeder entsprechenden simulierten HTTP-Anforderung angegeben wird.
10. Verfahren nach Anspruch 9, wobei Informationen über pervasive Datenverarbeitungseinheiten in jeder simulierten HTTP-Anforderung mindestens eine der folgenden Informationen enthalten: eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Browsers, eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Betriebssystems, eine Kennung von Eigenschaften der Anzeige einer pervasive Datenverarbeitungseinheit und eine Kennung des Web-Inhaltes, für dessen Anzeige die pervasive Datenverarbeitungseinheit konfiguriert ist.
11. Verfahren nach Anspruch 9, das außerdem den Schritt des Speicherns der auf die simulierten HTTP-Anforderungen hin empfangenen HTTP-Antworten umfasst.
12. Verfahren nach Anspruch 9, wobei der Schritt des Vergleichens jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort das Speichern der empfangenen HTTP-Antwort umfasst, falls die empfangene HTTP-Antwort nicht mit der erwarteten HTTP-Antwort übereinstimmt.
13. Verfahren nach Anspruch 9, wobei der Schritt des Erstellens einer Vielzahl von simulierten HTTP- Anforderungen das Abrufen von HTTP-Vorsatzfeldern und URLs aus jeweiligen Datendateien umfasst.
14. System, das einen für die Anzeige in einer pervasive Datenverarbeitungseinheit angepassten Web-Inhalt überprüft, der auf eine simulierte Anforderung von der pervasive Datenverarbeitungseinheit hin, die von einem Datenverarbeitungssystem erzeugt wurden, das nicht die pervasive Datenverarbeitungseinheit ist, wobei das System Folgendes umfasst:
Mittel zum Erstellen einer simulierten HyperText Transfer Protocol- (HTTP-) Anforderung, wobei die simulierte HTTP- Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web-Inhaltes kennzeichnet, und wobei die simulierte HTTP-Anforderung einen HTTP-Vorsatz enthält, der Informationen über die pervasive Datenverarbeitungseinheit enthält;
Mittel zum Ausgeben der simulierten HTTP-Anforderung vom Datenverarbeitungssystem zu einem Web-Server, der in der simulierten HTTP-Anforderung gekennzeichnet wird;
Mittel zum Empfangen einer HTTP-Antwort vom Web-Server im Datenverarbeitungssystem, wobei die HTTP-Antwort einen Web-Inhalt enthält, der von einem Konvertierungs-Proxy, der für die Anpassung eines Web-Inhaltes für die Anzeige in pervasive Datenverarbeitungseinheiten ausgelegt ist, für die Anzeige in der pervasive Datenverarbeitungseinheit angepasst wurde; und
Mittel zum Vergleichen der empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort.
15. System nach Anspruch 14, wobei die Informationen über die pervasive Datenverarbeitungseinheit mindestens eine der folgenden Informationen enthalten: eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Browsers, eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Betriebssystems, eine Kennung von Eigenschaften einer Anzeige für die pervasive Datenverarbeitungseinheit und eine Kennung des Web-Inhaltes, für dessen Anzeige die pervasive Datenverarbeitungseinheit konfiguriert ist.
16. System nach Anspruch 14, wobei das Mittel zum Empfangen einer HTTP-Antwort vom Web-Server ein Mittel zum Speichern der HTTP-Antwort umfasst.
17. System nach Anspruch 14, wobei das Mittel zum Vergleichen der empfangenen HTTP-Antwort mit einer erwarteten HTTP- Antwort ein Mittel zum Speichern der empfangenen HTTP- Antwort umfasst, falls die empfangene HTTP-Antwort nicht mit der erwarteten HTTP-Antwort übereinstimmt.
18. System nach Anspruch 14, wobei das Mittel zum Erstellen einer simulierten HTTP-Anforderung Folgendes umfasst:
Mittel zum Erstellen einer Vielzahl von simulierten HTTP- Anforderungen von einer entsprechenden Vielzahl an pervasive Datenverarbeitungseinheiten, wobei jede simulierte HTTP-Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web- Inhaltes kennzeichnet, und wobei jede simulierte HTTP- Anforderung einen HTTP-Vorsatz enthält, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält; und
Mittel zum Speichern der Vielzahl simulierter HTTP- Anforderungen.
19. System nach Anspruch 18, wobei das Mittel zum Ausgeben der simulierten HTTP-Anforderung über das Datenverarbeitungssystem zu einem in der simulierten HTTP-Anforderung gekennzeichneten Web-Server ein Mittel zum asynchronen Ausgeben der Vielzahl simulierter HTTP- Anforderungen an in jeder entsprechenden simulierten HTTP-Anforderung gekennzeichnete Web-Server umfasst.
20. System nach Anspruch 18, wobei das Mittel zum Erstellen einer Vielzahl von simulierten HTTP-Anforderungen über das Datenverarbeitungssystem ein Mittel zum Abrufen von HTTP-Vorsatzfeldern und URLs aus entsprechenden Datendateien umfasst.
21. System nach Anspruch 18, wobei das Mittel zum Vergleichen der empfangenen HTTP-Antwort mit einer erwarteten HTTP- Antwort ein Mittel zum Vergleichen jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort für eine pervasive Datenverarbeitungseinheit umfasst, die jeder entsprechenden simulierten HTTP-Anforderung zugeordnet ist.
22. System, das einen für die Anzeige in einer Vielzahl von pervasive Datenverarbeitungseinheiten angepassten Web- Inhalt überprüft, der auf simulierte Anforderungen von den pervasive Datenverarbeitungseinheiten hin, die von einem Datenverarbeitungssystem erzeugt werden, das nicht eine der pervasive Datenverarbeitungseinheiten ist, wobei das System Folgendes umfasst:
Mittel zum Erstellen einer Vielzahl von simulierten HyperText Transfer Protocol- (HTTP-) Anforderungen, wobei jede simulierte HTTP-Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web- Inhaltes kennzeichnet, und wobei jede simulierte HTTP- Anforderung einen HTTP-Vorsatz enthält, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält;
Mittel zum asynchronen Ausgeben jeder simulierten HTTP- Anforderung vom Datenverarbeitungssystem zu einem Web- Server, der in jeder entsprechenden simulierten HTTP- Anforderung gekennzeichnet wird;
Mittel zum Empfangen einer HTTP-Antwort auf jede entsprechende simulierte HTTP-Anforderung, wobei jede HTTP-Antwort einen Web-Inhalt enthält, der für die Anzeige in einer pervasive Datenverarbeitungseinheit angepasst wurde, die in einer entsprechenden simulierten HTTP-Anforderung gekennzeichnet wird; und
Mittel zum Vergleichen jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort für eine pervasive Datenverarbeitungseinheit, die in jeder entsprechenden simulierten HTTP-Anforderung angegeben wird.
23. System nach Anspruch 22, wobei die Informationen über die pervasive Datenverarbeitungseinheit in jeder simulierten HTTP-Anforderung mindestens eine der folgenden Informationen enthalten: eine Kennung eines auf einer pervasive Datenverarbeitungseinheit ablaufenden Browsers, eine Kennung eines auf einer pervasive Datenverarbeitungseinheit ablaufenden Betriebssystems, eine Kennung von Eigenschaften der Anzeige einer pervasive Datenverarbeitungseinheit und eine Kennung des Web-Inhaltes, für dessen Anzeige eine pervasive Datenverarbeitungseinheit konfiguriert ist.
24. System nach Anspruch 22, wobei das Mittel zum Empfangen einer HTTP-Antwort auf jede entsprechende simulierte HTTP-Anforderung ein Mittel zum Speichern der HTTP- Antworten umfasst.
25. System nach Anspruch 22, wobei das Mittel zum Vergleichen jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP- Antwort ein Mittel zum Speichern der empfangenen HTTP- Antwort umfasst, falls die empfangene HTTP-Antwort nicht mit der erwarteten HTTP-Antwort übereinstimmt.
26. System nach Anspruch 22, wobei das Mittel zum Erstellen einer Vielzahl von simulierten HTTP-Anforderungen ein Mittel zum Abrufen von HTTP-Vorsatzfeldern und URLs aus entsprechenden Datendateien umfasst.
27. Computerprogrammprodukt zum Überprüfen eines für die Anzeige in einer pervasive Datenverarbeitungseinheit angepassten Web-Inhaltes, der auf eine simulierte Anforderung von der pervasive Datenverarbeitungseinheit hin, die von einem Datenverarbeitungssystem erzeugt wird, das nicht die pervasive Datenverarbeitungseinheit ist, wobei das Computerprogrammprodukt ein in einem Computer verwendbares Speichermedium mit einem im Medium integrierten computerlesbaren Programmcodemittel umfasst, wobei das computerlesbare Programmcodemittel Folgendes umfasst:
ein computerlesbares Programmcodemittel zum Erstellen einer simulierten HyperText Transfer Protocol- (HTTP-) Anforderung, wobei die simulierte HTTP-Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web-Inhaltes kennzeichnet, und wobei die simulierte HTTP-Anforderung einen HTTP-Vorsatz enthält, der Informationen über die pervasive Datenverarbeitungseinheit enthält;
ein computerlesbares Programmcodemittel zum Ausgeben der simulierten HTTP-Anforderung vom Datenverarbeitungssystem zu einem Web-Server, der in der simulierten HTTP- Anforderung gekennzeichnet wird;
ein computerlesbares Programmcodemittel zum Empfangen einer HTTP-Antwort vom Web-Server im Datenverarbeitungssystem, wobei die HTTP-Antwort einen Web-Inhalt enthält, der von einem Konvertierungs-Proxy, der für die Anpassung eines Web-Inhaltes für die Anzeige in pervasive Datenverarbeitungseinheiten ausgelegt ist, für die Anzeige in der pervasive Datenverarbeitungseinheit angepasst wurde; und
ein computerlesbares Programmcodemittel zum Vergleichen der empfangenen HTTP-Antwort mit einer erwarteten HTTP- Antwort.
28. Computerprogrammprodukt nach Anspruch 27, wobei die Informationen über die pervasive Datenverarbeitungseinheit mindestens eine der folgenden Informationen enthalten: eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Browsers, eine Kennung eines auf der pervasive Datenverarbeitungseinheit ablaufenden Betriebssystems, eine Kennung von Eigenschaften einer Anzeige für die pervasive Datenverarbeitungseinheit und eine Kennung des Web-Inhaltes, für dessen Anzeige die pervasive Datenverarbeitungseinheit konfiguriert ist.
29. Computerprogrammprodukt nach Anspruch 27, wobei das computerlesbare Programmcodemittel zum Empfangen einer HTTP-Antwort vom Web-Server ein computerlesbares Programmcodemittel zum Speichern der HTTP-Antwort umfasst.
30. Computerprogrammprodukt nach Anspruch 27, wobei das computerlesbare Programmcodemittel zum Vergleichen der empfangenen HTTP-Antwort mit einer erwarteten HTTP- Antwort ein computerlesbares Programmcodemittel zum Speichern der empfangenen HTTP-Antwort enthält, falls die empfangene HTTP-Antwort nicht mit der erwarteten HTTP- Antwort übereinstimmt.
31. Computerprogrammprodukt nach Anspruch 27, wobei das computerlesbare Programmcodemittel zum Erstellen einer simulierten HTTP-Anforderung Folgendes umfasst:
ein computerlesbares Programmcodemittel zum Erstellen einer Vielzahl von simulierten HTTP-Anforderungen von einer entsprechenden Vielzahl an pervasive Datenverarbeitungseinheiten, wobei jede simulierte HTTP- Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web-Inhaltes kennzeichnet, und wobei jede simulierte HTTP-Anforderung einen HTTP-Vorsatz enthält, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält; und
ein computerlesbares Programmcodemittel zum Speichern der Vielzahl simulierter HTTP-Anforderungen.
32. Computerprogrammprodukt nach Anspruch 31, wobei das computerlesbare Programmcodemittel zum Ausgeben der simulierten HTTP-Anforderung über das Datenverarbeitungssystem zu einem in der simulierten HTTP-Anforderung gekennzeichneten Web-Server ein computerlesbares Programmcodemittel zum asynchronen Ausgeben der Vielzahl von simulierten HTTP-Anforderungen an in jeder entsprechenden simulierten HTTP-Anforderung gekennzeichnete Web-Server umfasst.
33. Computerprogrammprodukt nach Anspruch 31, wobei das computerlesbare Programmcodemittel zum Erstellen einer Vielzahl von simulierten HTTP-Anforderungen über das Datenverarbeitungssystem ein computerlesbares Programmcodemittel zum Abrufen von HTTP-Vorsatzfeldern und URLs aus entsprechenden Datendateien umfasst.
34. Computerprogrammprodukt nach Anspruch 31, wobei das computerlesbare Programmcodemittel zum Vergleichen der empfangenen HTTP-Antwort mit einer erwarteten HTTP- Antwort ein computerlesbares Programmcodemittel zum Vergleichen jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP-Antwort für eine pervasive Datenverarbeitungseinheit umfasst, die jeder entsprechenden simulierten HTTP-Anforderung zugeordnet ist.
35. Computerprogrammprodukt, das einen für die Anzeige in einer Vielzahl von pervasive Datenverarbeitungseinheiten angepassten Web-Inhalt überprüft, der auf simulierte Anforderungen von den pervasive Datenverarbeitungseinheiten hin, die von einem Datenverarbeitungssystem erzeugt werden, das nicht eine der pervasive Datenverarbeitungseinheiten ist, wobei das Computerprogrammprodukt ein in einem Computer verwend­ bares Speichermedium mit einem im Medium integrierten computerlesbaren Programmcodemittel umfasst, wobei das computerlesbare Programmcodemittel Folgendes umfasst:
ein computerlesbares Programmcodemittel zum Erstellen einer Vielzahl von simulierten HyperText Transfer Protocol- (HTTP-) Anforderungen, wobei jede simulierte HTTP-Anforderung einen Uniform Resource Locator (URL) enthält, der eine Position eines Web-Inhaltes kennzeichnet, und wobei jede simulierte HTTP-Anforderung einen HTTP-Vorsatz enthält, der Informationen über eine entsprechende pervasive Datenverarbeitungseinheit enthält;
ein computerlesbares Programmcodemittel zum asynchronen Ausgeben jeder simulierten HTTP-Anforderung vom Datenverarbeitungssystem zu einem Web-Server, der in jeder entsprechenden simulierten HTTP-Anforderung gekennzeichnet wird;
ein computerlesbares Programmcodemittel zum Empfangen einer HTTP-Antwort auf jede entsprechende simulierte HTTP-Anforderung, wobei jede HTTP-Antwort einen Web- Inhalt enthält, der für die Anzeige in einer pervasive Datenverarbeitungseinheit angepasst wurde, die in einer entsprechenden simulierten HTTP-Anforderung gekennzeichnet wird; und
ein computerlesbares Programmcodemittel zum Vergleichen jeder empfangenen HTTP-Antwort mit einer erwarteten HTTP- Antwort für eine pervasive Datenverarbeitungseinheit, die in jeder entsprechenden simulierten HTTP-Anforderung angegeben wird.
36. Computerprogrammprodukt nach Anspruch 35, wobei die Informationen über die pervasive Datenverarbeitungseinheit in jeder simulierten HTTP- Anforderung mindestens eine der folgenden Informationen enthalten: eine Kennung eines auf einer pervasive Datenverarbeitungseinheit ablaufenden Browsers, eine Kennung eines auf einer pervasive Datenverarbeitungseinheit ablaufenden Betriebssystems, eine Kennung von Eigenschaften der Anzeige einer pervasive Datenverarbeitungseinheit und eine Kennung des Web-Inhaltes, für dessen Anzeige eine pervasive Datenverarbeitungseinheit konfiguriert ist.
37. Computerprogrammprodukt nach Anspruch 35, wobei das computerlesbare Programmcodemittel zum Empfangen einer HTTP-Antwort auf jede entsprechende simulierte HTTP- Anforderung ein computerlesbares Programmcodemittel zum Speichern der HTTP-Antworten umfasst.
38. Computerprogrammprodukt nach Anspruch 35, wobei das computerlesbare Programmcodemittel zum Vergleichen jeder empfangenen HTTP-Antwort mit einer entsprechenden erwarteten HTTP-Antwort ein computerlesbares Programmcodemittel zum Speichern der empfangenen HTTP- Antwort enthält, falls die empfangene HTTP-Antwort nicht mit der erwarteten HTTP-Antwort übereinstimmt.
39. Computerprogrammprodukt nach Anspruch 35, wobei das computerlesbare Programmcodemittel zum Erstellen einer Vielzahl von simulierten HTTP-Anforderungen ein computerlesbares Programmcodemittel zum Abrufen von HTTP- Vorsatzfeldern und URLs aus entsprechenden Datendateien umfasst.
DE10050172A 1999-10-15 2000-10-11 Systeme, Verfahren und Computerprogrammprodukte zur Überprüfung eines für die Anzeige in pervasive Computereinheiten angepassten Web-Inhaltes Ceased DE10050172A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/419,841 US6684257B1 (en) 1999-10-15 1999-10-15 Systems, methods and computer program products for validating web content tailored for display within pervasive computing devices

Publications (1)

Publication Number Publication Date
DE10050172A1 true DE10050172A1 (de) 2001-04-26

Family

ID=23663983

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10050172A Ceased DE10050172A1 (de) 1999-10-15 2000-10-11 Systeme, Verfahren und Computerprogrammprodukte zur Überprüfung eines für die Anzeige in pervasive Computereinheiten angepassten Web-Inhaltes

Country Status (3)

Country Link
US (1) US6684257B1 (de)
CA (1) CA2317082C (de)
DE (1) DE10050172A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003040893A2 (en) * 2001-11-08 2003-05-15 Lightsurf Technologies, Inc. System and methodology for delivering media to multiple disparate client devices based on their capabilities
US7610551B2 (en) 2006-02-24 2009-10-27 Verisign, Inc. System and method for managing distribution of multi-formatted content
US7792876B2 (en) 2002-07-23 2010-09-07 Syniverse Icx Corporation Imaging system providing dynamic viewport layering
US7860309B1 (en) 2003-09-30 2010-12-28 Verisign, Inc. Media publishing system with methodology for parameterized rendering of image regions of interest

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1109124A3 (de) * 1999-12-17 2005-01-19 Matsushita Electric Industrial Co., Ltd. Verfahren und Gerät zur Bilddatenverarbeitung und darin verwendetem Computerprogrammerzeugnis
US8527345B2 (en) * 2000-01-06 2013-09-03 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
EP1264258A2 (de) * 2000-01-06 2002-12-11 Anthony R. Rothschild Gerät und verfahren zum einfügen einer werbung in einer persönlichen mitteilung
US6993575B2 (en) * 2000-02-22 2006-01-31 Oracle International Corporation Using one device to configure and emulate web site content to be displayed on another device
FR2805651B1 (fr) * 2000-02-24 2002-09-13 Eastman Kodak Co Procede et dispositif pour presenter des images numeriques sur un ecran de faible definition
US20010039578A1 (en) * 2000-03-31 2001-11-08 Hiroshi Tokumaru Content distribution system
US7500188B1 (en) 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US7072984B1 (en) * 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US6966034B2 (en) * 2000-06-30 2005-11-15 Microsoft Corporation Supplemental request header for applications or devices using web browsers
FR2813416B1 (fr) * 2000-08-31 2003-10-17 Canon Kk Procede et dispositif d'adaptation du contenu de documents sur un serveur d'informations
US6968356B1 (en) * 2000-10-19 2005-11-22 International Business Machines Corporation Method and apparatus for transferring data between a client and a host across a firewall
GB2369005B (en) * 2000-11-10 2004-07-14 Nokia Mobile Phones Ltd Electronic device and method of operation
JP3664475B2 (ja) * 2001-02-09 2005-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理方法、情報処理システム、プログラムおよび記録媒体
US20030208570A1 (en) * 2001-02-16 2003-11-06 Eugene Lapidous Method and apparatus for multi-modal document retrieval in the computer network
US20020133562A1 (en) * 2001-03-13 2002-09-19 Newnam Scott G. System and method for operating internet-based events
US20020133405A1 (en) * 2001-03-13 2002-09-19 Newnam Scott G. System and method for providing interactive content to multiple platforms
US7725604B1 (en) * 2001-04-26 2010-05-25 Palmsource Inc. Image run encoding
JP3880337B2 (ja) * 2001-07-03 2007-02-14 富士通株式会社 コンテンツ変換方法及び変換後コンテンツ取得方法
US8301503B2 (en) * 2001-07-17 2012-10-30 Incucomm, Inc. System and method for providing requested information to thin clients
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
US7254526B2 (en) * 2001-08-24 2007-08-07 International Business Machines Corporation Apparatus and method for determining compatibility of web sites with designated requirements based on functional characteristics of the web sites
WO2003039152A2 (en) * 2001-10-31 2003-05-08 Goldpocket Interactive System and method for itv data automation via a broadcast traffic and scheduling system
US7734716B2 (en) * 2002-01-24 2010-06-08 Ge Fanuc Automation North America, Inc. Methods and systems for management and control of an automation control module
US20030193518A1 (en) * 2002-04-08 2003-10-16 Newnam Scott G. System and method for creating interactive content at multiple points in the television prodction process
US8555313B2 (en) * 2002-04-09 2013-10-08 Ericsson Television Inc. System and method for coordinating interactive television programs
US7277963B2 (en) * 2002-06-26 2007-10-02 Sandvine Incorporated TCP proxy providing application layer modifications
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
US20040193940A1 (en) * 2003-02-21 2004-09-30 Snyder Joseph J. WebDAV unit test framework
US20040205174A1 (en) * 2003-02-21 2004-10-14 Snyder Joseph J. XML driven WebDAV unit test framework
JP4014160B2 (ja) * 2003-05-30 2007-11-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、及び記録媒体
US20050080608A1 (en) * 2003-06-30 2005-04-14 Joe Burns Simulator for request/response systems
US20050216829A1 (en) * 2004-03-25 2005-09-29 Boris Kalinichenko Wireless content validation
US20060095410A1 (en) * 2004-10-29 2006-05-04 Ostrover Lewis S Personal video recorder for home network providing filtering and format conversion of content
US7805453B2 (en) * 2004-10-29 2010-09-28 Warner Bros. Home Entertainment Inc. Method, system, and apparatus for receiving, processing and rendering content responsive to user and device parameters
US8131804B2 (en) * 2004-11-19 2012-03-06 J Michael Greata Method and apparatus for immunizing data in computer systems from corruption
US20060224700A1 (en) * 2005-03-15 2006-10-05 Microsoft Corporation Multipart response generation
JP2007011805A (ja) * 2005-06-30 2007-01-18 Toshiba Corp 通信装置及び通信方法
US8615562B1 (en) * 2006-12-29 2013-12-24 Google Inc. Proxy for tolerating faults in high-security systems
US8554868B2 (en) 2007-01-05 2013-10-08 Yahoo! Inc. Simultaneous sharing communication interface
US7913264B2 (en) * 2007-02-22 2011-03-22 Amadeus Sas Remote customisation module and system comprising said module
US9973371B1 (en) * 2008-08-15 2018-05-15 Sprint Communications Company, L.P. Requesting a specific website version
US8713200B2 (en) * 2009-03-31 2014-04-29 Buc Mobile, Inc. System and method for broadcasting rich media to devices over multiple carriers
US9384299B2 (en) * 2009-09-22 2016-07-05 Thwapr, Inc. Receiving content for mobile media sharing
IL306019A (en) 2011-07-12 2023-11-01 Snap Inc Methods and systems for delivering editing functions to visual content
US8972357B2 (en) 2012-02-24 2015-03-03 Placed, Inc. System and method for data collection to validate location data
US11734712B2 (en) 2012-02-24 2023-08-22 Foursquare Labs, Inc. Attributing in-store visits to media consumption based on data collected from user devices
US10155168B2 (en) 2012-05-08 2018-12-18 Snap Inc. System and method for adaptable avatars
US9608876B2 (en) 2014-01-06 2017-03-28 Microsoft Technology Licensing, Llc Dynamically adjusting brand and platform interface elements
US20150193275A1 (en) * 2014-01-06 2015-07-09 Microsoft Corporation Building interactive, data driven apps
US9483811B2 (en) 2014-01-06 2016-11-01 Microsoft Technology Licensing, Llc Division of processing between systems based on external factors
US9501808B2 (en) 2014-01-06 2016-11-22 Microsoft Technology Licensing, Llc Division of processing between systems based on business constraints
US9628950B1 (en) 2014-01-12 2017-04-18 Investment Asset Holdings Llc Location-based messaging
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US11625443B2 (en) 2014-06-05 2023-04-11 Snap Inc. Web document enhancement
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US10423983B2 (en) 2014-09-16 2019-09-24 Snap Inc. Determining targeting information based on a predictive targeting model
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US11216869B2 (en) 2014-09-23 2022-01-04 Snap Inc. User interface to augment an image using geolocation
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US9015285B1 (en) 2014-11-12 2015-04-21 Snapchat, Inc. User interface for accessing media at a geographic location
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US11388226B1 (en) 2015-01-13 2022-07-12 Snap Inc. Guided personal identity based actions
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
US9521515B2 (en) 2015-01-26 2016-12-13 Mobli Technologies 2010 Ltd. Content request by location
US10223397B1 (en) 2015-03-13 2019-03-05 Snap Inc. Social graph based co-location of network users
EP3272078B1 (de) 2015-03-18 2022-01-19 Snap Inc. Bereitstellung einer geofence-autorisierung
US9692967B1 (en) 2015-03-23 2017-06-27 Snap Inc. Systems and methods for reducing boot time and power consumption in camera systems
US9881094B2 (en) 2015-05-05 2018-01-30 Snap Inc. Systems and methods for automated local story generation and curation
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US10993069B2 (en) 2015-07-16 2021-04-27 Snap Inc. Dynamically adaptive media content delivery
US10817898B2 (en) 2015-08-13 2020-10-27 Placed, Llc Determining exposures to content presented by physical objects
CN106528396B (zh) * 2015-09-09 2019-06-11 阿里巴巴集团控股有限公司 用于处理应用请求的方法与设备
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
CN105468320B (zh) * 2015-11-16 2019-02-15 歌尔股份有限公司 一种基于安卓平台的黑白屏幕显示方法、装置和智能终端
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10474321B2 (en) 2015-11-30 2019-11-12 Snap Inc. Network resource location linking and visual content sharing
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US11023514B2 (en) 2016-02-26 2021-06-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10679389B2 (en) 2016-02-26 2020-06-09 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10285001B2 (en) 2016-02-26 2019-05-07 Snap Inc. Generation, curation, and presentation of media collections
US10339365B2 (en) 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
CN106055480B (zh) * 2016-06-02 2021-03-16 腾讯科技(深圳)有限公司 一种调试网页的方法及终端
US11044393B1 (en) 2016-06-20 2021-06-22 Pipbin, Inc. System for curation and display of location-dependent augmented reality content in an augmented estate system
US11876941B1 (en) 2016-06-20 2024-01-16 Pipbin, Inc. Clickable augmented reality content manager, system, and network
US11785161B1 (en) 2016-06-20 2023-10-10 Pipbin, Inc. System for user accessibility of tagged curated augmented reality content
US11201981B1 (en) 2016-06-20 2021-12-14 Pipbin, Inc. System for notification of user accessibility of curated location-dependent content in an augmented estate
US10638256B1 (en) 2016-06-20 2020-04-28 Pipbin, Inc. System for distribution and display of mobile targeted augmented reality content
US10334134B1 (en) 2016-06-20 2019-06-25 Maximillian John Suiter Augmented real estate with location and chattel tagging system and apparatus for virtual diary, scrapbooking, game play, messaging, canvasing, advertising and social interaction
US10805696B1 (en) 2016-06-20 2020-10-13 Pipbin, Inc. System for recording and targeting tagged content of user interest
US10430838B1 (en) 2016-06-28 2019-10-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections with automated advertising
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US10387514B1 (en) 2016-06-30 2019-08-20 Snap Inc. Automated content curation and communication
US10348662B2 (en) 2016-07-19 2019-07-09 Snap Inc. Generating customized electronic messaging graphics
KR102420857B1 (ko) 2016-08-30 2022-07-15 스냅 인코포레이티드 동시 로컬화 및 매핑을 위한 시스템 및 방법
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
KR102257909B1 (ko) 2016-11-07 2021-05-28 스냅 인코포레이티드 이미지 변경자들의 선택적 식별 및 순서화
US10203855B2 (en) 2016-12-09 2019-02-12 Snap Inc. Customized user-controlled media overlays
US11616745B2 (en) 2017-01-09 2023-03-28 Snap Inc. Contextual generation and selection of customized media content
US10454857B1 (en) 2017-01-23 2019-10-22 Snap Inc. Customized digital avatar accessories
US10915911B2 (en) 2017-02-03 2021-02-09 Snap Inc. System to determine a price-schedule to distribute media content
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US11250075B1 (en) 2017-02-17 2022-02-15 Snap Inc. Searching social media content
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
US10565795B2 (en) 2017-03-06 2020-02-18 Snap Inc. Virtual vision system
US10523625B1 (en) 2017-03-09 2019-12-31 Snap Inc. Restricted group content collection
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US11170393B1 (en) 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US11409407B2 (en) 2017-04-27 2022-08-09 Snap Inc. Map-based graphical user interface indicating geospatial activity metrics
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
US10467147B1 (en) 2017-04-28 2019-11-05 Snap Inc. Precaching unlockable data elements
US10803120B1 (en) 2017-05-31 2020-10-13 Snap Inc. Geolocation based playlists
US11550297B2 (en) * 2017-07-11 2023-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for robot device control in a cloud
US11025724B2 (en) * 2017-07-24 2021-06-01 Facebook, Inc. Transport of control data in proxy-based network communications
US11475254B1 (en) 2017-09-08 2022-10-18 Snap Inc. Multimodal entity identification
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10499191B1 (en) 2017-10-09 2019-12-03 Snap Inc. Context sensitive presentation of content
US10573043B2 (en) 2017-10-30 2020-02-25 Snap Inc. Mobile-based cartographic control of display content
US11265273B1 (en) 2017-12-01 2022-03-01 Snap, Inc. Dynamic media overlay with smart widget
US11017173B1 (en) 2017-12-22 2021-05-25 Snap Inc. Named entity recognition visual context and caption data
US10678818B2 (en) 2018-01-03 2020-06-09 Snap Inc. Tag distribution visualization system
CN108268375B (zh) * 2018-01-12 2021-04-30 深圳壹账通智能科技有限公司 应用程序测试方法、装置、计算机设备和存储介质
US11507614B1 (en) 2018-02-13 2022-11-22 Snap Inc. Icon based tagging
US10885136B1 (en) 2018-02-28 2021-01-05 Snap Inc. Audience filtering system
US10979752B1 (en) 2018-02-28 2021-04-13 Snap Inc. Generating media content items based on location information
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
EP3766028A1 (de) 2018-03-14 2021-01-20 Snap Inc. Erzeugung von sammelbaren gegenständen auf der basis von ortsinformationen
US11163941B1 (en) 2018-03-30 2021-11-02 Snap Inc. Annotating a collection of media content items
US10219111B1 (en) 2018-04-18 2019-02-26 Snap Inc. Visitation tracking system
US10896197B1 (en) 2018-05-22 2021-01-19 Snap Inc. Event detection system
US10679393B2 (en) 2018-07-24 2020-06-09 Snap Inc. Conditional modification of augmented reality object
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US10698583B2 (en) 2018-09-28 2020-06-30 Snap Inc. Collaborative achievement interface
US10778623B1 (en) 2018-10-31 2020-09-15 Snap Inc. Messaging and gaming applications communication platform
US10939236B1 (en) 2018-11-30 2021-03-02 Snap Inc. Position service to determine relative position to map features
US11199957B1 (en) 2018-11-30 2021-12-14 Snap Inc. Generating customized avatars based on location information
US11032670B1 (en) 2019-01-14 2021-06-08 Snap Inc. Destination sharing in location sharing system
US10939246B1 (en) 2019-01-16 2021-03-02 Snap Inc. Location-based context information sharing in a messaging system
US11294936B1 (en) 2019-01-30 2022-04-05 Snap Inc. Adaptive spatial density based clustering
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US10936066B1 (en) 2019-02-13 2021-03-02 Snap Inc. Sleep detection in a location sharing system
US10838599B2 (en) 2019-02-25 2020-11-17 Snap Inc. Custom media overlay system
US10964082B2 (en) 2019-02-26 2021-03-30 Snap Inc. Avatar based on weather
US10852918B1 (en) 2019-03-08 2020-12-01 Snap Inc. Contextual information in chat
US11868414B1 (en) 2019-03-14 2024-01-09 Snap Inc. Graph-based prediction for contact suggestion in a location sharing system
US11852554B1 (en) 2019-03-21 2023-12-26 Snap Inc. Barometer calibration in a location sharing system
US11249614B2 (en) 2019-03-28 2022-02-15 Snap Inc. Generating personalized map interface with enhanced icons
US10810782B1 (en) 2019-04-01 2020-10-20 Snap Inc. Semantic texture mapping system
US10582453B1 (en) 2019-05-30 2020-03-03 Snap Inc. Wearable device location systems architecture
US10560898B1 (en) 2019-05-30 2020-02-11 Snap Inc. Wearable device location systems
US10893385B1 (en) 2019-06-07 2021-01-12 Snap Inc. Detection of a physical collision between two client devices in a location sharing system
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
US11821742B2 (en) 2019-09-26 2023-11-21 Snap Inc. Travel based notifications
US11218838B2 (en) 2019-10-31 2022-01-04 Snap Inc. Focused map-based context information surfacing
US11429618B2 (en) 2019-12-30 2022-08-30 Snap Inc. Surfacing augmented reality objects
US11128715B1 (en) 2019-12-30 2021-09-21 Snap Inc. Physical friend proximity in chat
US11343323B2 (en) 2019-12-31 2022-05-24 Snap Inc. Augmented reality objects registry
US11169658B2 (en) 2019-12-31 2021-11-09 Snap Inc. Combined map icon with action indicator
US11228551B1 (en) 2020-02-12 2022-01-18 Snap Inc. Multiple gateway message exchange
US11516167B2 (en) 2020-03-05 2022-11-29 Snap Inc. Storing data based on device location
US11619501B2 (en) 2020-03-11 2023-04-04 Snap Inc. Avatar based on trip
US11430091B2 (en) 2020-03-27 2022-08-30 Snap Inc. Location mapping for large scale augmented-reality
US10956743B1 (en) 2020-03-27 2021-03-23 Snap Inc. Shared augmented reality system
US11290851B2 (en) 2020-06-15 2022-03-29 Snap Inc. Location sharing using offline and online objects
US11314776B2 (en) 2020-06-15 2022-04-26 Snap Inc. Location sharing using friend list versions
US11503432B2 (en) 2020-06-15 2022-11-15 Snap Inc. Scalable real-time location sharing framework
US11483267B2 (en) 2020-06-15 2022-10-25 Snap Inc. Location sharing using different rate-limited links
US11308327B2 (en) 2020-06-29 2022-04-19 Snap Inc. Providing travel-based augmented reality content with a captured image
US11146472B1 (en) 2020-07-21 2021-10-12 Bank Of America Corporation Artificial intelligence-based lateral movement identification tool
US11349797B2 (en) 2020-08-31 2022-05-31 Snap Inc. Co-location connection service
US11606756B2 (en) 2021-03-29 2023-03-14 Snap Inc. Scheduling requests for location data
US11645324B2 (en) 2021-03-31 2023-05-09 Snap Inc. Location-based timeline media content system
CN113179317B (zh) * 2021-04-27 2023-02-07 杭州迪普科技股份有限公司 内容重写设备的测试***及方法
US11829834B2 (en) 2021-10-29 2023-11-28 Snap Inc. Extended QR code
US12001750B2 (en) 2022-04-20 2024-06-04 Snap Inc. Location-based shared augmented reality experience system
CN115941363B (zh) * 2023-03-08 2023-08-01 广东广宇科技发展有限公司 一种基于http协议的网络通信安全分析方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076109A (en) 1996-04-10 2000-06-13 Lextron, Systems, Inc. Simplified-file hyper text protocol
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6311215B1 (en) * 1997-03-25 2001-10-30 Intel Corporation System for dynamic determination of client communications capabilities
US6345303B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Network proxy capable of dynamically selecting a destination device for servicing a client request
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6167441A (en) * 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
US6311058B1 (en) * 1998-06-30 2001-10-30 Microsoft Corporation System for delivering data content over a low bit rate transmission channel
US6247048B1 (en) * 1998-04-30 2001-06-12 Openwave Systems Inc Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks
US6138157A (en) * 1998-10-12 2000-10-24 Freshwater Software, Inc. Method and apparatus for testing web sites
US6272542B1 (en) * 1998-12-10 2001-08-07 International Business Machines Corporation Method and apparatus for managing data pushed asynchronously to a pervasive computing client
US6401132B1 (en) * 1999-08-03 2002-06-04 International Business Machines Corporation Subchaining transcoders in a transcoding framework

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003040893A2 (en) * 2001-11-08 2003-05-15 Lightsurf Technologies, Inc. System and methodology for delivering media to multiple disparate client devices based on their capabilities
WO2003040893A3 (en) * 2001-11-08 2004-02-12 Lightsurf Technologies Inc System and methodology for delivering media to multiple disparate client devices based on their capabilities
US7792876B2 (en) 2002-07-23 2010-09-07 Syniverse Icx Corporation Imaging system providing dynamic viewport layering
US7860309B1 (en) 2003-09-30 2010-12-28 Verisign, Inc. Media publishing system with methodology for parameterized rendering of image regions of interest
US7610551B2 (en) 2006-02-24 2009-10-27 Verisign, Inc. System and method for managing distribution of multi-formatted content
US7974988B2 (en) 2006-02-24 2011-07-05 Syniverse Icx Corporation System and method for cross-carrier mobile device capability discovery

Also Published As

Publication number Publication date
CA2317082C (en) 2005-06-28
US6684257B1 (en) 2004-01-27
CA2317082A1 (en) 2001-04-15

Similar Documents

Publication Publication Date Title
DE10050172A1 (de) Systeme, Verfahren und Computerprogrammprodukte zur Überprüfung eines für die Anzeige in pervasive Computereinheiten angepassten Web-Inhaltes
DE602004002783T2 (de) Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen
DE60121987T2 (de) Zugreifen auf Daten, die bei einer Zwischenstation gespeichert sind, von einem Dienst aus
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60028561T2 (de) Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen
EP2350873B1 (de) Erfassung des visuellen inhalts von browserfenstern
DE602004003135T2 (de) Einheitliches management von netzressourcen für gleichzeitige teilnahme mehrerer nutzer an einer sitzung
DE60030329T2 (de) Steuerung und Beobachtung von physikalischen Geräten, Einrichtung und Verfahren durch eine Vielzahl von Benutzern über Rechnernetzwerke
DE69912317T2 (de) Vorrichtung und verfahren zur bestimmung einer programmnachbarschaft für einen kundenknoten in einem kundenbedienernetzwerk
DE69838257T2 (de) Verfahren zum erweitern der hypertext markup sprache (html) zur unterstützung von unternehmungsanwendungsdatenbindung
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE19936314A1 (de) Verfahren und System zur Inhaltskonvertierung von elektronischen Daten unter Verwendung von Konvertierungspräferenzen
DE19962192A1 (de) Verfahren und System zur Inhaltskonvertierung von elektronischen Daten für drahtlose Vorrichtungen
DE19715696A1 (de) Verfahren und Apparat zum Suchen nach und zum Wiederfinden von Dokumenten, indem ein Faxgerät verwendet wird
DE10348337A1 (de) Inhaltsverwaltungsportal und Verfahren zum Kommunizieren von Informationen
EP1369790A2 (de) Verfahren zur dynamischen Generierung strukturierter Dokumente
DE10314792A1 (de) Verfolgen von Benutzern an einem Webservernetz
DE112012004301T5 (de) Erzeugen einer vorhersagenden Datenstruktur
DE10040986B4 (de) Zusammenarbeitssystem, Zusammenarbeits-Server, Verfahren zur Übertragung einer Dokumentendatei, Speichermedium und Programmübertragungsvorrichtung
DE10290696T5 (de) Verfahren und System zum drahtlosen Zugriff auf einen Computer eines Benutzers
EP1362283B1 (de) Verfahren und vorrichtung zum darstellen eines aus pixeln aufgebauten bildes
EP1189149A1 (de) Verfahren und Anordnung zur Modifikation einer Webpage
DE60216356T2 (de) Verfahren und Vorrichtung zum automatischen Suchen von Hypertext-Strukturen
DE10315953A1 (de) Verfahren und System zur Erzeugung von an Client-Eigenschaften angepassten Web-Seiten
DE10146977B4 (de) Elektronisches Personaldaten-Verwaltungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection