DE69833565T2 - Verfahren und vorrichtung zum verbinden eines allzweckrechners mit einem spezialsystem - Google Patents

Verfahren und vorrichtung zum verbinden eines allzweckrechners mit einem spezialsystem Download PDF

Info

Publication number
DE69833565T2
DE69833565T2 DE69833565T DE69833565T DE69833565T2 DE 69833565 T2 DE69833565 T2 DE 69833565T2 DE 69833565 T DE69833565 T DE 69833565T DE 69833565 T DE69833565 T DE 69833565T DE 69833565 T2 DE69833565 T2 DE 69833565T2
Authority
DE
Germany
Prior art keywords
syntactic
converter
data
sampled data
purpose system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69833565T
Other languages
English (en)
Other versions
DE69833565D1 (de
Inventor
Anurag Sunnyvale MENDHEKAR
Mohan San Jose VISHWANATH
Shinn-Der Columbus LEE
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.)
Yahoo Inc
Original Assignee
Yahoo Inc
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 Yahoo Inc filed Critical Yahoo Inc
Publication of DE69833565D1 publication Critical patent/DE69833565D1/de
Application granted granted Critical
Publication of DE69833565T2 publication Critical patent/DE69833565T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • 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
    • 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]

Description

  • Die vorliegende Erfindung betrifft im allgemeinen Computersoftware und insbesondere eine vielseitige Softwaresprache, die die Ausgabe von einem Allzweckrechner zuschneidet, um ein Spezialzwecksystem zu steuern, wie bspw. ein Konsum- bzw. Unterhaltungselektronikgerät.
  • Mit Computern, die nach und nach in jedes Haus einziehen, hat die Annäherung von Rechner- und Unterhaltungselektronik letztendlich begonnen. Diese Annäherung hat viele zwangsläufige bzw. zwingende Anwendungen in solchen Bereichen wie Erziehung, Unterhaltung, Haussicherheit und Hausautomatisierung. Um diese Annäherung zu steigern, sollte ein Allzweckcomputer jedoch in der Lage sein, verschiedene Typen von elektronischen Einrichtungen nahtlos und effizient zu steuern. Dies bedeutet, dass verschiedene Unterhaltungselektronikgeräte, wie bspw. das Fernsehen, eine tragbare Anzeige, ein Videorekorder oder eine Kamera, einfach als Eingabe/Ausgabeerweiterungen des Computers für spezifische Anwendungen verwendet werden sollten. Dies bedeutet ebenfalls, dass der Computer einigermaßen als ein Server für diese Geräte dienen sollte.
  • Bisherige Verfahren, um Unterhaltungsgeräte anzutreiben, die einen Computerserver verwenden, basieren typischerweise auf Software und Hardware, die spezifisch auf die Geräte zugeschnitten sind. Die drei weitgehend bekannten Ansätze sind der Netzwerkcomputeransatz, der Eigenformatansatz und der kleine aber vollständige Computeransatz. Diese Ansätze sind typischerweise nicht skalierbar und verhältnismäßig unflexibel. Sie versuchen, eine eng gekoppelte Annäherung des Computers und der Unterhaltungselektronik zu erreichen. Jedesmal, wenn eine neue Anwendung hinzugefügt wird oder ein neues Gerät aufgenommen wird, muss ein neues Produkt, das den Computer mit der Elektronik verknüpft, gebaut werden, typischerweise von Anfang an.
  • Es gibt ebenfalls eine Anzahl von Optionen, um Unterhaltungselektronikvorrichtungen miteinander zu verbinden und mit Computern, die verschiedene Verbindungslösungen verwenden. Die beiden beliebtesten sind der Universelle Serielle Bus (Universal Serial Bus: USB) und das IEEE 1394 (ebenfalls bekannt als FireWire). Diese Technologien beschäftigen sich hauptsächlich mit der physikalischen Schicht (das Medium) und den Verbindungsschichtprotokollen und nicht mit den Anwendungen. Der Mangel an neuen Anwendungen und Anwendungsportierungen waren ein Hauptproblem, das einer weitverbreiteten Entwicklung dieser Verbindungsstandards entgegenstand.
  • Weiterhin sind Verfahren nach dem Stand der Technik verfügbar, um Befehle in einer Sprache zu Befehlen in einer weiteren Sprache umzuwandeln, wie in typischen Compilern. Diese ändern die Befehle oder die Syntax aber nicht die Daten, die erhalten werden, um sicherzustellen, dass keine Informationen verlorengehen. Solche Verfahren sind bspw. in der Schrift "Verfahren zum Implementieren bidirektionaler Datenstromübertragungen" (Method for Implementing Bidirectional Datastreams Transforms), IBM Technical Disclosure Bulletin, Band 32, Nr. 12, 1. Mai 1990, Seiten 338 bis 341, beschrieben.
  • Es ist weiter aus der Druckschrift WO 97/37202 bekannt, einen Computer über einen externen Busadapter mit Unterhal tungselektronikvorrichtungen zu verbinden. Der Computer hat einen Prozessor, der konfiguriert ist, ein erstes digitales Ton- bzw. Audiosignal zu erzeugen, das erste digitale Audiosignal mit einem zweiten digitalen Audiosignal zu vermischen, um ein einheitliches bzw. vereinigtes digitales Audiosignal zu erzeugen, und um das vereinigte digitale Audiosignal zu einer Unterhaltungselektronikvorrichtung unter Verwendung des externen Busses zu übertragen.
  • Es sollte offensichtlich sein, dass es immer noch ein Bedarf an Verfahren und einer Vorrichtung für einen Allzweck- bzw. Universalcomputer besteht, um verschiedene Typen von Spezialzwecksystemen auf eine effiziente Weise zu steuern.
  • Die vorliegende Erfindung betrifft Verfahren und eine Vorrichtung, die die Konvergenz eines Berechnens und von Unterhaltungselektronik beschleunigen wird. Die vorliegende Erfindung ermöglicht einem Computer, fast jeden Typ von Unterhaltungselektronik auf eine effiziente Weise zu steuern, vollständig bis zu dem Anwendungsniveau.
  • Gemäß einem ersten Aspekt stellt die Erfindung einen Wandler zum Transformieren eines Satzes von syntaktischen und abgetasteten Daten von einem Allzwecksystem bereit, um die Daten für ein Spezialzwecksystem zuzuschneiden, wobei der Wandler ein erstes Wandlermodul aufweist, das betriebsbereit bzw. wirksam mit dem Allzwecksystem gekoppelt ist, um die syntaktischen und abgetasteten Daten von dem Allzwecksystem zu empfangenen, und die empfangenen Daten in einen verschiedenen Satz von syntaktischen und abgetasteten Daten transformiert, dadurch gekennzeichnet, dass der Wandler weiterhin ein zweites Wandlermodul aufweist, das betriebsbereit mit dem ersten Wandlermodul gekoppelt ist, um die syntaktischen und abgetasteten Daten zu empfangen, die durch das erste Wandlermodul erzeugt werden, und die emp fangenen Daten in einen weiteren Satz von syntaktischen und abgetasteten Daten transformiert, die verschieden von den anderen beiden Sätzen von syntaktischen und abgetasteten Daten sind, um diese für das Spezialzwecksystem zuzuschneiden bzw. darauf abzustellen, wobei zumindest ein Wandlermodul in zwei Teile unterteilt ist, mit einem Teil, der die syntaktischen Daten in eine Programmiersprache übersetzt, und die übersetzten syntaktischen Daten und die abgetasteten Daten nach der Übersetzung vermischt bzw. verbunden werden.
  • Gemäß einem weiteren Aspekt stellt die vorliegende Erfindung einen Wandler zum Transformieren eines Satzes von syntaktischen und abgetasteten Daten von einem Spezialzwecksystem bereit, um die Daten für ein Allzwecksystem zuzuschneiden, wobei der Wandler ein erstes Wandlermodul aufweist, das betriebsbereit mit dem Spezialzwecksystem gekoppelt ist, um die syntaktischen und abgetasteten Daten von dem Spezialzwecksystem zu empfangen, und die empfangenen Daten in einen verschiedenen Satz von syntaktischen und abgetasteten Daten wandelt, dadurch gekennzeichnet, dass der Wandler weiterhin ein zweites Wandlermodul aufweist, das betriebsbereit mit dem ersten Wandlermodul gekoppelt ist, um die syntaktischen und abgetasteten Daten zu empfangen, die durch das erste Wandlermodul erzeugt werden, und die empfangenen Daten in einen weiteren Satz von syntaktischen und abgetasteten Daten wandelt, die von den anderen beiden Sätzen von syntaktischen und abgetasteten Daten verschieden sind und für das Spezialzwecksystem zugeschnitten sind, wobei zumindest ein Wandlermodul in zwei Teile unterteilt ist, mit einem Teil, der syntaktische Daten in eine Programmiersprache übersetzt, und wobei die übersetzten syntaktischen Daten und die abgetasteten Daten nach der Übersetzung miteinander verbunden werden.
  • Typische Ausgaben von dem Computer umfassen sowohl syntaktische Daten, wie bspw. Textprogramme, und abgetastete Daten, wie bspw. Bilder. Die Ausgaben sind in einem allgemeinen Format mit der Absicht, dass diese durch weitere Allzweckcomputer verwendet werden können, nicht aber von verschiedenen elektronischen Geräten mit verschiedenen Eigenschaften. Die vorliegende Erfindung betrifft einen Wandler, der sowohl die syntaktischen als auch die abgetasteten Daten von den Ausgaben eines Allzweckcomputers ändert, um diese für Spezialzwecksysteme oder Geräte zuzuschneiden bzw. auf diese abzustellen.
  • Einige der Vorteile der vorliegenden Erfindung umfassen:
    • 1. Allgemeinheit: Die Erfindung kann auf irgendeiner Anwendung und irgendeiner Eingabe/Ausgabevorrichtung angewendet werden.
    • 2. Skalierbarkeit: Die Erfindung erlaubt der Anwendung, in verschiedenen Größen auf dem Computer oder auf dem Konsumentengerät abgelegt zu sein.
    • 3. Portabilität: Die Erfindung ist nützlich und kann auf kompletten Computern oder auf eingebetteten Vorrichtungen laufen.
    • 4. Zusammensetzbarkeit: Wandler können zusammengesetzt werden. Dies ermöglicht einem, modulare Wandler zu erstellen, was eine Erweiterbarkeit von Systemen und eine Wiederverwendung von Wandlern ermöglicht.
    • 5. Anwendungen, die unter Verwendung der erfundenen Wandlerverfahren gestaltet oder abgebildet sind, können die Größen der Wandlung vererben, wie bspw. die unmittelbar oberhalb beschriebenen Vorteile.
  • Die erfundene Wandlungstechnik kombiniert die Stärken einer automatischen Übersetzung (Sprachen) und eines Transcodierens bzw. Umschlüsselns (Signale) basierend auf einer erfundenen Sprache. In einer Ausführungsform umfasst der Wandler zwei Wandlermodule. Das erste Modul ist an den Allzweckcomputer gekoppelt, um einen Satz von syntaktischen und abgetasteten Daten von dem Computer zu empfangen. Das Modul transformiert dann die empfangenen Daten, um einen verschiedenen Satz von syntaktischen und abgetasteten Daten zu erzeugen. Dann empfängt das zweite Modul den Satz von syntaktischen und abgetasteten Daten von dem ersten Modul und transformiert die empfangenen Daten in noch einen weiteren Satz von syntaktischen und Abtastdaten, die verschieden von den anderen beiden Sätzen von syntaktischen und abgetasteten Daten sind, um das Spezialzwecksystem zu steuern.
  • In einer Ausführungsform gibt es fünf umfassende Kategorien von Wandlermodulen, nämlich Transport-, Anzeige-, Nutzerschnittstellen-, Abbildungs- und Steuermodule. Bei Verwendung eines oder mehrerer Wandlermodule können die Daten gewandelt werden, offline bzw. rechnerunabhängig oder in Echtzeit für eine Eingabe/Ausgabeeinheit.
  • Es sei bemerkt, dass die in der Spezifikation verwendete Sprache vornehmlich für eine Lesbarkeit und aus Instruktionsgründen ausgewählt wurde und wohl nicht ausgewählt wurde, um den Erfindungsgegenstand zu be- oder umschreiben. Ebenfalls sind die Merkmale und Vorteile, die in der Spezifikation beschrieben sind, nicht allumfassend. Andere Aspekte und Vorteile der vorliegenden Erfindung werden dem Fachmann deutlich werden, angesichts der Spezifikation, die beispielhaft die Prinzipien der Erfindung erläutert.
  • Eine Ausführungsform der vorliegenden Erfindung wird nun lediglich beispielhaft und unter Bezugnahme auf die beigefügte Zeichnung beschrieben.
  • 1 zeigt ein Beispiel eines Allzweckcomputers, der Spezialzwecksysteme steuert, basierend auf der vorliegenden Erfindung.
  • 2 zeigt ein Beispiel eines Implementierungsmodells eines Wandlers der vorliegenden Erfindung.
  • 3 zeigt ein Beispiel von Anwendungen, die unter Verwendung der vorliegenden Erfindung abgebildet oder gestaltet sind, das die Größen der erfundenen Wandlerverfahren erbt.
  • Einige Bezugsziffern in 1 bis 3 sind ähnlichen Elementen in allen Figuren zugeordnet. Ausführungsformen der Erfindung werden nachfolgend unter Bezugnahme auf die 1 bis 3 erörtert. Fachleute werden jedoch leicht erkennen, dass die ausführliche Beschreibung, die hierin gegeben ist, unter Bezugnahme auf diese Figuren aus Erläuterungszwecken gegeben ist, da die Erfindung sich über diese begrenzten Ausführungsformen hinaus erstreckt.
  • 1 zeigt ein Beispiel eines Allzweckcomputers 101, der Spezialzwecksysteme steuert, wie bspw. eine tragbare Anzeige 103, einen Fernseher 105, eine Decoder- bzw. ein Aufsetzgerät (Set-Top-Box) und ein Heimsicherheitssystem 109, basierend auf der vorliegenden Erfindung. Der Computer 101 kann mit dem Internet 111 verbunden sein. Es sei bemerkt, dass ein Spezialzwecksystem ein oder mehrere Steuergeräte (Controller) aufweisen kann.
  • Die vorliegende Erfindung wird durch die Gestaltung und Implementierung eines Wandlers zum Transformieren einer geräteunabhängigen Auszeichnungssprache (markup language) zu einer geräteunabhängigen Auszeichnungssprache erläutert, bspw. unter Verwendung von HTML. Dieses Auszeichnungssprachenbeispiel ist vorgesehen, um die vorliegende Erfindung zu verdeutlichen und ist nur beispielhaft bei der Verwendung der Erfindung.
  • Ein Umwandeln einer Allzweckauszeichnungsausgabe, wie bspw. HTML, zu einer geräteabhängigen Ausgabe hat einen weiten Bereich von Anwendungen. Die geräteabhängigen Ausgaben können für ein interaktives Fernsehen, ein Drucken von Dokumenten von dem Web (www) und für ein Lesen von Dokumenten auf einem PDA (Personal Digital Assistant: persönlicher digitaler Assistent) vorgesehen sein. Die Wandler in der vorliegenden Erfindung können sich die Leistung einer geräteunabhängigen Auszeichnungssprache zunutze machen, um sich den Bedürfnissen einer spezifischen Ausgabe und von Interaktionsgeräten anzupassen. Basierend auf den Wandlern kann eine gegebene Allzweckauszeichnungssprache in eine Layoutsprache gewandelt werden, die einem spezifischen Ausgabegerät angepasst ist.
  • Auszeichnung bzw. markup ist definiert als irgendein Mittel, um eine Interpretation eines Textes explizit bzw. ausdrücklich zu machen. Auszeichnungssprache ist definiert als ein Satz von Auszeichnungskonventionen, die zusammen zum Codieren von Texten verwendet werden. Eine Auszeichnungssprache spezifiziert, welche Auszeichnung erlaubt ist, welche Auszeichnung erforderlich ist, wie eine Auszeichnung von dem Text zu unterscheiden ist und was die Auszeichnung bedeutet. Sprachen wie HTML spezifizieren die ersten drei, während die HTML-Dokumentation die Bedeutung der Auszeichnungen bereitstellt.
  • Auszeichnungssprachen wurden anfänglich verwendet, um Bemerkungen und andere Markierungen innerhalb eines Textes vorzunehmen, der vorgesehen war, um einen Setzer oder Schreiber zu instruieren, wie ein bestimmter Textteil anzulegen oder zu drucken war. Siehe bspw. http://www.w3.org/MarkUp. Beispiele umfassen eine wellige Unterstreichung, um eine Fettschrift anzuzeigen, spezielle Systeme für Passagen, die auszulassen oder in einem bestimmten Zeichensatz zu drucken sind usw. Da die Formatierung und das Drucken von Texten automatisiert wurden, wurde der Begriff ausgedehnt, um alle Arten von speziellen Markup-Codes abzudecken, die in elektronischen Texten eingesetzt sind, um ein Formatieren, Drucken oder ein anderes Verarbeiten zu verwalten.
  • Obwohl Auszeichnungssprachen als eine Art eines Strukturierens von Textdokumenten ursprünglich vorgesehen waren, haben sie sich dazu entwickelt, eine Art bereitzustellen, um den Aufbau von umfangreichen interaktiven Multimediadokumenten zu spezifizieren. Diese gegenwärtigen Generationsauszeichnungssprachen strukturieren nicht nur das Erscheinungsbild des Dokuments, sondern auch die Interaktivität des Dokuments. Die gegenwärtige Generation bzw. Erzeugung von beliebten Auszeichnungssprachen, wie bspw. HTML und VRML, ist ziemlich flexibel und leistungsstark, da diese universell, systemunabhängig und geräteunabhängig sind.
  • Aufgrund ihrer Allgemeingültigkeit und Geräte- und Systemunabhängigkeit stellen Auszeichnungssprachen die Leistung und Flexibilität bereit, die erforderlich ist, um als die Standardvorgehensweise zum Beschreiben von Dokumenten verwendet zu werden und ebenfalls als ein allgemeines Format zum Austauschen von Dokumenten. Diese Leistungsfähigkeit und Flexibilität geht auf Kosten des Zuschneidens der Aus gabe für Spezialzwecksysteme. In anderen Worten spezifizieren Auszeichnungssprachen nicht wie Layout- und/oder Anzeigesprachen, wie bspw. PostScript, nicht genau, wie eine Seite anzuzeigen oder zu drucken ist, ohne Verlust ihrer Flexibilität und Allgemeingültigkeit.
  • Obgleich dieser Mangel einer vollständigen Steuerung über die Ausgabe wie ein Nachteil erscheinen mag, ist es in der Tat eine Wohltat für die gegenwärtige Erzeugung für weitverbreitet verwendete Auszeichnungssprachen, wie bspw. HTML und VRML. Dies liegt daran, dass die Anzahl an möglichen Ausgabegeräte bzw. -vorrichtungen (Anzeige und/oder Interaktion), die ein Dokument verarbeiten, das in einer dieser Auszeichnungssprachen veröffentlicht ist, im Zunehmen ist, bspw. Fernseher, PDAs und Telefone. Daher ist es für bestimmte Zwecke erwünscht, ein gemeinsames Veröffentlichungsformat zu haben, das automatisch zu einer geeigneten Anzeigesprache auf der Ausgabe/Interaktionsvorrichtung umgewandelt wird. HTML und VRML entwickeln sich als eines der beliebtesten Veröffentlichungsformate für Dokumente. Es ist jedoch wichtig, Werkzeuge zu haben, um diese für verschiedene Eingabe/Ausgabevorrichtungen zu wandeln.
  • Die folgenden Beispiele zeigen eine Sprache, die den Prozess des Zuschneidens eines Allzweck-HTML zu einem gerätespezifischen HTML basierend auf Wandlern automatisieren können.
  • Der Wandler ist gestaltet, um eine HTML-zu-HTML-Wandlung zu ermöglichen. Es wird als eine Erweiterung einer bestehenden Programmiersprache angesehen. Java wird in dem folgenden Beispiel verwendet.
  • Ein Merkmal des Wandlers ist, dass dieser einem Programmierer ermöglicht, Wandlungen von HTML zu einer gegebenen Zielsprache zu spezifizieren, die auf SGML [\cite]-artiger Syntax basiert, unter Verwendung eines Stils, der natürlich mit HTML übereinstimmt. Dies ermöglicht dem Programmierer, diese Wandler bei einem sehr hohen Grad einer Abstraktion zu programmieren, was ermöglicht, dass komplexe Wandlungen schnell und mit maximaler Zuverlässigkeit geschrieben werden.
  • Jeder Wandler definiert eine Wandlungsfunktion, die eine eingehende (SGML-basierte) Eingabesprache in eine Zielsprache abbildet. Jeder Wandler besteht aus einem Satz an Wandlungsverfahren, die Übersetzungen sind, die auf individuellen Etiketten (tags) der Eingabesprache definiert sind. Die Eingabe für ein Wandlerverfahren sind syntaktische und abgetastete Daten, die dem Etikett entsprechen, auf dem das Verfahren definiert ist. Die Ausgabe eines Wandlerverfahrens kann ein weiterer Satz von syntaktischen und abgetasteten Daten der Zielsprache sein. Bei dieser Erfindung bedeuten syntaktische Daten Daten, die eine Syntax umfassen, wie bspw. Textdaten, oder eine Programmiersprache. Abgetastete Daten bedeuten Daten, die abgetastet sind, wie bspw. Bitmap, Bilder, Audio- oder Videosignale.
  • Als ein Beispiel, um eine Übersetzung von Zeichensätzen (fonts) durchzuführen, enthält der Wandler die folgende Wandlermethode:
  • Figure 00120001
  • Der Wandler ermöglicht auch Helfermethoden, die als reguläre Java-Methoden definiert sind, um enthalten zu sein, und newFace und kann translateSize sein, die als Helfermethoden in dem Wandler definiert sind.
  • Der vollständige Wandler kann wie folgt aussehen:
  • Figure 00120002
  • Der Compiler übersetzt den Wandler in reine Java-Klassen, die dann in irgendeine Anwendung integriert werden können. Der folgende Abschnitt erläutert verschiedene Merkmale des Wandlers.
  • Auszeichnungssprachenwandlung
  • Die grundlegende Syntax einer Wandlung ist gestaltet, um einem Programmierer zu ermöglichen, Auszeichnungssprachenwandlungen natürlich auszudrücken. Um bspw. die Zeichensätze der eingehenden Auszeichnungssprache zu übersetzen, könnte die folgende Wandlermethode verwendet werden.
  • Figure 00130001
  • Dieses Beispiel erläutert drei Merkmale. Zunächst ist der Körper der vorstehenden Methode im wesentlichen in der Auszeichnungssprachensyntax. Außer für den Code innerhalb "{%...%}" ist der gesamte andere Code direkt als das Ergebnis der Methode ausgeben. Der Code innerhalb "{%...%}" wird evaluiert und das Ergebnis dieser Evaluierung wird in die Ausgabe eingesetzt. Zweitens wird eine vordefinierte konstante .content. bereitgestellt. Diese steht für den Gehalt zwischen dem Beginn und den Endmarkierungen des Etiketts, auf dem die Methode definiert ist. Drittens ist es ermöglicht, Helferfunktionen innerhalb des evaluierten Codes zu verwenden. Diese Helferfunktionen können innerhalb des Körpers bzw. Hauptteils des Wandlers selbst definiert sein.
  • Da .content. und </FONT> regulär verwendet werden, ist die folgende Syntax erlaubt und ist dieselbe wie vorstehend:
  • Figure 00140001
  • Es ist nicht erforderlich, dass alle Etiketten einen Gehalt haben. Diese Etiketten sind als leere Etiketten bekannt. Das vorstehende Beispiel unterscheidet sich im wesentlichen von dem folgenden, das dazu vorgesehen ist, ein HR-Etikett zu wandeln, das als leer bekannt ist. In dem folgenden werden der Gehalt und die Endmarkierungen ignoriert.
  • Figure 00140002
  • Austrittsmechanismus für einen direkten Zugriff auf die Syntax-Baumstruktur
  • Manchmal ist es einfacher, den Syntax-Baum der Eingabe direkt zu manipulieren. Das folgende Beispiel repräsentiert die Syntax, die zeigt, wie dies getan werden kann.
  • Figure 00140003
  • Hierbei ist das Argument in Klammern, alpha, an den Syntaxbaum gebunden. Die Ausgabe dieser Methode ist der Wert, der durch den Code in "{%...%}" zurückgegeben wird.
  • Manchmal ist eine Übersetzung, die auf einer einfachen Musteranpassung basiert, nicht ausreichend und es ist erwünscht, dass direkte Manipulationen an der Baumstruktur in der Musteranpassungsübersetzung einzubetten sind. Das folgende Beispiel erläutert, wie dies zu tun ist.
  • Figure 00150001
  • Imperative Merkmale vor und nach der Bearbeitung
  • Diese Merkmale werden in dem Zusammenhang verwendet, wo eine gewisse Art einer Initialisierung für die Übersetzung durchgeführt werden muss. Es ist ebenfalls nützlich, wenn der Wandler tatsächlich ein Analysator ist. Codeteile können vor und nach der Übersetzung eingeführt werden. Für die direkte Baummanipulationssyntax ist dieses Merkmal nicht erforderlich. Das folgende Beispiel erläutert die Verwendung.
  • Figure 00150002
  • Ähnlich für danach:
  • Figure 00160001
  • Es ist möglich, sowohl anfänglichen als auch endgültigen Code in derselben Wandlermethode zu haben.
  • Gegenwärtige Aktualisierungen von Auszeichnungen
  • Eine imperative Aktualisierung des Syntaxbaums wird unterstützt. Dies ist nützlich, wenn nur einige Attribute eines Knotens geändert werden müssen (destruktiv). Die folgende Syntax erläutert die Verwendung. Die spezielle Variable Conent wird verwendet, um den Gehalt zwischen entsprechenden Anfangs- und Endetiketten anzuzeigen. Der Vorteil dieses Merkmals besteht darin, dass es die Belastung auf das Speicherverwaltungssystem verringert.
  • Figure 00160002
  • Austauschwerte zwischen verschiedenen Wandlermethoden
  • Die Wandlungen unterstützen, was in der Attributgrammatiktheorie als geerbte Attribute bekannt ist. Diese sind Werte, die von den Stämmen (parents) zu deren Ableitungen (children) während eines typischen Top-down-Durchgangs des Syntaxbaums nach unten gereicht werden. Wir nutzen das Schlüsselwort umschließen, um geerbte Attribute zu bezeich nen, da es typischerweise in Wandlungen von äußeren Niveauelementen zu Aufzeichnungsinformationen verwendet wird, die durch verschachtelte Knoten/Elemente bereitgestellt sind.
  • Figure 00170001
  • Bei dem vorstehenden Beispiel kann auf eine Umschließungsvariable of durch alle die Wandlermethoden zugegriffen werden, die auf Elementen aufgerufen sind, die zwischen den Anfangs- und Endmarkierungen eines Rahmensatzes (frameset) eingeschlossen sind. Diese Methoden können diese Variablen verwenden, um auf Informationen über ihren Syntaxkontex zuzugreifen. Außerdem gibt, wenn das Rahmensatzelement verschachtelt ist, ein Zugreifen auf of den Wert zurück, der mit dem dichtesten Umschließungsrahmensatzelement verbunden ist.
  • Zusammensetzung von Wandlern
  • Wandler können zusammengesetzt sein. Diese Zusammensetzung wird durch direkte (OO) Vererbung erreicht. Dies ist ein wirksamer Weg des Kombinierens der Wirkungen von unverwandten Wandlungen. Wenn jedoch der Ableitungswandler eine Wandlung definieren möchte, die sich von seinem Stamm unterscheidet, muss es eine Auflösung geben, wie das Ergebnis endgültig sein sollte. Es gibt zwei Optionen: entweder Kombinieren der Ergebnisse irgendwie (Zusammensetzung) oder vollständiges Ignorieren der Wandlung des Stamms (Aufheben). Es gibt drei Arten von Zusammensetzungen: das Ergebnis der Ableitung wird durch Stamm verarbeitet (beforesuper), Ergebnis des Stamms wird durch Ableitung verarbeitet (aftersuper) oder beliebig (super direkt von innerhalb des Körpers der Methode der Ableitung aufrufen). Diese drei sind wie folgt dargestellt:
  • Figure 00180001
  • Dies bedeutet, dass diese Methode zuerst gerufen wird und das Ergebnis dieser Methode als das Argument zu dem super gesendet werden wird. Wenn die Methode nicht idempotent bezüglich des Etiketts ist (d.h. sie gibt nicht ein Element mit demselben Etikett wie die Eingabe zurück), sollte ein Fehler zur Laufzeit angezeigt werden. Das Ergebnis dieser Methode ist das Ergebnis, das durch das super zurückgegeben wird.
  • Figure 00180002
  • Hierbei ruft die Methode zunächst super auf und bindet dann das Ergebnis des Werts, der durch das super zu dem gegenwärtigen Satz von Argumenten zurückgegeben wird. Wenn das super nicht idempotent bezüglich des Etiketts ist, sollte diese Methode einen Fehler zur Laufzeit anzeigen.
  • Standard (default) ist aufzuheben. Wenn eine verschiedene Art einer Zusammensetzung bevorzugt innerhalb des Körpers der Wandlermethoden ist, kann super.translateFONT(...) verwendet werden.
  • Analysatoren
  • Um syntaktisch den Teil des Wandlers, der analysiert, von denjenigen, die wandeln, zu unterscheiden, wird der Schlüsselwortanalysator anstelle des Wortwandlers verwendet. Analysatoren können idempotente Wandler sein. Analysatoren enthalten Umschließungsattribute und anfänglichen Javacode. Wandler können von Analysatoren erben. Die Ergebnisse vom Erben von Analysatoren von Wandlern sind undefiniert.
  • Der Wandler kann als eine Erweiterung für Java implementiert sein. Er subsumiert die Javasyntax. Der Javacode wird durch eine Quelle-zu-Quelle-Übersetzung in Java übersetzt. Der Javacode kann dann kompiliert werden und mit den Wandlerlaufzeitbibliotheken verbunden werden, bevor dieser zur Ausführung kommen kann.
  • 2 zeigt ein Beispiel des Implementierungsmodells eines Wandlers. In dem ersten Schritt wird der Wandler 200 in wandlerspezifische 204 und nicht-wandlerspezifische 202 Abschnitte aufgespaltet. Wandlerspezifische Abschnitte 204 umfassen Wandlermethoden, während nicht-wandlerspezifische Abschnitte 202 die Helferfunktionen umfassen. Die nicht-wandlerspezifischen Abschnitte werden unverändert durch den Compiler durchgegeben. Die wandlerspezifischen Abschnitte werden in Java übersetzt.
  • Die Übersetzung von wandlerspezifischen Abschnitten umfasst eine Anzahl von Schritten. Zunächst Umwandlungsmethodenerklärungen in Java-Methoden. Die Laufzeitbibliotheken werden die geeignete Methode aufrufen, wenn ein gegebenes Etikett getroffen wird. Als zweites Übersetzen von auszeichnungssprachenbasierten Körpern in Code, der Syntaxbäume er stellt. Der eingebettete Javacode in den Körpern ist in diesen Code eingesetzt.
  • Abschließend werden die beiden Javaabschnitte verbunden und der sich ergebende Javacode 206 kann kompiliert und mit der Laufzeitbibliothek 208 verbunden werden, um einen ablauffähigen Code 210 zu erhalten.
  • Die Wandlerlaufzeitbibliothek besteht aus einem Auszeichnungssprachenparser und einem Satz von Methoden, die aufgerufen werden, wenn spezifische Etiketten getroffen werden. Die Standardaktion für diese Methoden besteht darin, nichts zu tun, d.h. diese sind Identitätstransformationen. Ein kompiliertes Wandlerprogramm hebt diese Methoden auf.
  • Ein Beispiel der Syntax eines Wandlers ist wie folgt:
  • Figure 00200001
  • Figure 00210001
  • Die vorstehende Wandlung kann eine Anzahl von Wandlermodulen aufweisen, einschließlich Transportwandlermodulen, Anzeigewandlermodulen, Nutzerschnittstellenwandlermodulen, Abbildungswandlermodulen und Steuerwandlermodulen.
  • Transportwandlermodule
  • Transportwandlermodule werden verwendet, um automatisch die Übertragungsformate und die Semantik von digitalen Daten zu modifizieren. Diese werden vornehmlich verwendet, um sicherzustellen, dass die Anwendung entsprechend den Bedürfnissen und Fähigkeiten der Eingabe/Ausgabevorrichtungen zerlegt werden kann. Dies ist insbesondere wichtig, um eine Skalierbarkeit der Anwendung bei verschiedenen Plattformen sicherzustellen (bspw. dieselbe Anwendung läuft auf einem Fernseher und einem Telefon).
  • Anzeigewandlermodule
  • Diese werden verwendet, um die Anzeigeeigenschaften von Anwendungen zu modifizieren, um mit den Anzeigefähigkeiten der Eingabe/Ausgabevorrichtungen übereinzustimmen. Bei Verwendung von Anzeigewandlermodulen kann man sowohl syntaktische als auch abgetastete Datentransformationen für die Anwendungsausgabe anwenden.
  • Erneutes Zeichensatzanpassen (Font remapping):
  • Dies wird zum Ändern der Zeichensätze verwendet, so dass diese für eine Ausgabevorrichtung geeigneter sind.
  • Farbkorrektur (Color Correction):
  • Dies wird verwendet, um die Farben zu korrigieren, so dass diese für eine Ausgabevorrichtung geeigneter sind.
  • Vergrößerer (Magnifier):
  • Dies wird zum Skalieren der Ausgabe der Anwendung verwendet, so dass diese für eine Ausgabevorrichtung geeigneter ist.
  • Flimmerverringerung (Flicker reduction):
  • Dies wird zum Verringern von Flimmergegenständen in verketteten Anzeigen verwendet.
  • Bildverbesserung (Image enhancement):
  • Dies wird zum Verbessern der Bildqualität auf minderwertigen oder entfernten Anzeigen verwendet.
  • Nutzerschnittstellenwandlermodule
  • Nutzerschnittstellen- (UI User Interface) Wandlermodule werden verwendet, um die Nutzerschnittstelle abzubilden, dass eine Anwendung zu einer Nutzerschnittstelle errichtet wurde, die für die Eingabe/Ausgabevorrichtung offen ist, die als die Interaktionsvorrichtung verwendet wird.
  • PopUp UIs
  • Dieses Modul umgibt eine Anwendung und stellt eine PopUp-basierte Nutzerschnittstelle bereit. Dies ist nützlich, um Bildschirmfläche zu sparen und die Bedienungsfreundlichkeit zu erhöhen.
  • Tonrückkopplung (Audio feedback):
  • Dieses Modul fügt Tonrückkopplung zu Nutzerschnittstellen hinzu.
  • Belebte UI (Animated UI):
  • Dieses Modul fügt eine Animation zu statischen Nutzerschnittstellen hinzu.
  • Kontext-empfindliche UI (Context Sensitive UI):
  • Dieses Modul ändert die Nutzerschnittstelle derart, dass diese explizit die Daten repräsentiert, die gegenwärtig an gezeigt werden. Die Nutzerschnittstelle ist von den Daten abgeleitet, für die diese eine Schnittstelle ist.
  • AutoScroll:
  • Dieses Modul fügt Freihandscroll-Fähigkeiten den Anwendungen hinzu.
  • Abbildungswandlermodule
  • Oftmals sind Anwendungen derart gestaltet, dass diese ohne eine größere erneute Abbildung ihrer Ein- und Ausgänge nicht auf den meisten Plattformen verwendet werden können. Beispielsweise sind HTML-Seiten mit Rahmen nicht einfach auf Anzeigen mit geringer Auflösung zu betrachten. Der Abbildungswandler wird verwendet, um die Ein- und Ausgänge der Anwendungen in eine Form erneut abzubilden, die für die Ein/Ausgabevorrichtungen geeignet ist.
  • Rahmen (Frames):
  • Dieses Modul wird zum erneuten Abbilden von HTML-Seiten verwendet, die Rahmen enthalten, so dass diese von der HTML-Seite entfernt werden, oder
    alle die Rahmen in eine nicht-Rahmen-HTML-Seite verbunden werden, oder
    alle die Rahmen außer dem Hauptrahmen in der Form von PopUp-Rahmen verborgen sind.
  • Tabellen (Tables):
  • Dieses Modul wird zum erneuten Abbilden von Tabellen verwendet, so dass diese für Ein/Ausgabevorrichtungen zugeschnitten sind.
  • Horizontales Scroll Free (Horizontal Scroll Free):
  • Dieses Modul bildet die Daten erneut ab, so dass diese kein horizontales Scrollen erfordern.
  • Navigationsabbildungen (Navigation Maps):
  • Jedem HTML-Dokument gegeben, dieses Modell wird zum automatischen Erzeugen einer Standortkarte beliebiger Tiefe verwendet.
  • AutoSurf:
  • Einer Website gegeben, dieser Wandler produziert eine Playback- bzw. Wiedergabeversion dieser Webseite. Dieses verwendet entweder eine Breite zuerst oder eine Tiefe zuerst oder eine Kombination der beiden oder einen zufälligen Gang, um die Spielreihenfolge zu bestimmen. Es ist insbesondere nützlich, wenn es für kundenspezifische Neuigkeitsanwendungen eingesetzt wird.
  • Steuerwandlermodule
  • Wie der Name nahelegt, ermöglichen Steuerwandlermodule dem Computer, Konsumentenanwendungen zu steuern und Daten von diesen zu sammeln. Eine Wandlung ist erforderlich, da es mehrere Steuerprotokolle und Medienzugriffsprotokolle für Konsumentenanwendungen gibt.
  • Leistung (Power):
  • Dies ist ein Modul, um den Leistungsverbrauch der Vorrichtungen zu steuern.
  • Videorekordersteuerung (VCR control):
  • Dies ist ein Modul, um einen Videokassettenrekorder zu steuern.
  • Sicherheit (Security):
  • Dies ist ein Modul, um auf Sicherheitssysteme zuzugreifen und diese zu modifizieren.
  • In den vorstehenden Modulen können die Transportwandlermodule als Ausgabewandlermodule betrachtet werden, die das Modul sein können, das mit der Spezialzweckvorrichtung verbunden ist.
  • Ein weiterer Typ eines Wandlermoduls ist das Decodierungswandlermodul. Es ist zum Decodieren der gewandelten Ausgaben zur Verwendung durch die Spezialzweckvorrichtung vorgesehen. Beispielsweise transformiert das Decodierungswandlermodul syntaktische und abgetastete Daten in Bits mit Farbe, die auf einem Fernsehbildschirm anzuzeigen sind. Somit können die Ausgaben des Decodierungswandlers lediglich abgetastete Daten sein.
  • Die vorliegende Erfindung beschreibt einen Wandler mit zumindest zwei Wandlermodulen. Jedes Modul transformiert seine empfangenen syntaktischen Daten und Abtastdaten. In einer Ausführungsform umfasst der Wandler mehr als zwei Modu le und dies sind Module, die lediglich die syntaktischen oder die abgetasteten Daten modifizieren, aber nicht beide.
  • In einer Ausführungsform gibt es eine Anzahl an Modulen, die sequentiell nacheinander verbunden sind. Jedes Modul verfeinert nacheinander seine empfangenen Daten, um besser einsetzbar zu sein, um ein Spezialzwecksystem zu steuern.
  • Die Module in der vorliegenden Erfindung können wiederverwendet werden. Beispielsweise kann eine Reihe von Modulen verwendet werden, um Bilder auf einem Farbfernseher zu steuern, und eine weitere Serie für einen einfarbigen Fernseher. Alle Module in den beiden Reihen können identisch sein, außer einem, dass das eine ist, das die Farbe für jeden Bildpunkt bestimmt. Nachdem man die erste Reihe implementiert hat, ist es einfach, die zweite zu implementieren.
  • Diese Spezifikation beschreibt ein Wandlermodul, das sowohl syntaktische Daten als auch abgetastete Daten modifiziert. In einer Ausführungsform wandelt ein Minimodul syntaktische Daten und ein weiteres Minimodul wandelt abgetastete Daten. Beide Minimodule zusammen bilden ein Wandlermodul in der vorliegenden Erfindung.
  • Die vorliegende Erfindung ist ebenfalls in umgekehrter Form anwendbar. In anderen Worten kann die vorliegende Erfindung verwendet werden, um syntaktische und abgetastete Daten von einem Spezialzwecksystem zu wandeln, um ein Allzwecksystem zu steuern. Es können bspw. Abschaltzeichen von einem Fernseher gewandelt und als HTML auf einem Computer angezeigt werden.
  • Wie vorstehend erörtert ist, können Anwendungen, die gestaltet oder unter Verwendung der erfundenen Wandlungsmethoden abgebildet werden, die Größen der Wandlung erben, wie bspw. die Vorteile der Allgemeingültigkeit, Skalierbarkeit, Portabilität und Zusammensetzbarkeit. 3 zeigt solch ein Beispiel, bei dem ein Internetbrowser 120, der unter Verwendung der vorliegenden Erfindung gestaltet oder abgebildet ist, vollständig auf einem Personal Computer 122 laufen kann, teilweise auf einem Personal Computer und teilweise auf einer Set-Top-Box 124 oder vollständig auf einer Set-Top-Box 124.
  • Andere Ausführungsformen der Erfindung werden Fachleuten bei Betrachtung dieser Spezifikation oder bei Ausführung der Erfindung, die hierin offenbart ist, offensichtlich werden. Es ist beabsichtigt, dass die Spezifikation und Beispiele lediglich beispielhaft angesehen werden, wobei der wahre Bereich der Erfindung durch die folgenden Ansprüche angezeigt ist.

Claims (4)

  1. Wandler (200) zum Transformieren eines Satzes von syntaktischen und abgetasteten Daten von einem Allzwecksystem (101), um die Daten für ein Spezialzwecksystem (105) zuzuschneiden, wobei der Wandler (200) ein erstes Wandlermodul aufweist, das betriebsbereit bzw. wirksam mit dem Allzwecksystem (101) gekoppelt ist, um die syntaktischen und abgetasteten Daten von dem Allzwecksystem (101) zu empfangen, und die empfangenen Daten in einen verschiedenen Satz von syntaktischen und abgetasteten Daten transformiert, dadurch gekennzeichnet, dass der Wandler weiterhin ein zweites Wandlermodul aufweist, das betriebsbereit mit dem ersten Wandlermodul gekoppelt ist, um die syntaktischen und abgetasteten Daten zu empfangen, die durch das erste Wandlermodul erzeugt werden, und die empfangenen Daten in einen weiteren Satz von syntaktischen und abgetasteten Daten transformiert, die verschieden von den anderen beiden Sätzen von syntaktischen und abgetasteten Daten sind, um diese für das Spezialzwecksystem (105) zuzuschneiden, wobei zumindest ein Wandlermodul in zwei Teile unterteilt ist, mit einem Teil, der die syntaktischen Daten in eine Programmiersprache übersetzt, und die übersetzten syntaktischen Daten und die abgetasteten Daten nach der Übersetzung vermischt bzw. verbunden werden.
  2. Wandler (200) nach Anspruch 1, bei dem das Allzwecksystem (101) ein Computer ist und das Spezialzwecksystem (105) ein Fernseher (105) ist.
  3. Wandler (200) nach Anspruch 1, bei dem der Satz von syntaktischen und abgetasteten Daten von dem Allzwecksystem (101) im HTML-Format ist.
  4. Wandler (200) zum Transformieren eines Satzes von syntaktischen und abgetasteten Daten von einem Spezialzwecksystem (105), um die Daten für ein Allzwecksystem (101) zuzuschneiden, wobei der Wandler (200) ein erstes Wandlermodul aufweist, das betriebsbereit mit dem Spezialsystem (105) gekoppelt ist, um die syntaktischen und abgetasteten Daten von dem Spezialzwecksystem (105) zu empfangen, und die empfangenen Daten in einen verschiedenen Satz von syntaktischen und abgetasteten Daten transformiert, dadurch gekennzeichnet, dass der Wandler weiterhin ein zweites Wandlermodul aufweist, das betriebsbereit mit dem ersten Wandlermodul gekoppelt ist, um die syntaktischen und abgetastete Daten zu empfangen, die durch das erste Wandlermodul erzeugt werden, und die empfangenen Daten in einen weiteren Satz von syntaktischen und abgetasteten Daten transformiert, die verschieden von den anderen beiden Sätzen von syntaktischen und abgetasteten Daten sind und für das Allzwecksystem (101) zugeschnitten sind, wobei zumindest ein Wandlermodul in zwei Teile unterteilt ist, mit einem Teil, der die syntaktischen Daten in eine Programmiersprache übersetzt, und die übersetzten syntaktischen Daten und die abgetasteten Daten nach der Übersetzung vermischt bzw. verbunden werden.
DE69833565T 1997-11-14 1998-11-16 Verfahren und vorrichtung zum verbinden eines allzweckrechners mit einem spezialsystem Expired - Lifetime DE69833565T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US970735 1997-11-14
US08/970,735 US6108696A (en) 1997-11-14 1997-11-14 Method and apparatus to connect a general purpose computer to a special purpose system
PCT/US1998/024480 WO1999026169A1 (en) 1997-11-14 1998-11-16 Method and apparatus to connect a general purpose computer to a special purpose system

Publications (2)

Publication Number Publication Date
DE69833565D1 DE69833565D1 (de) 2006-04-27
DE69833565T2 true DE69833565T2 (de) 2006-08-10

Family

ID=25517428

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69833565T Expired - Lifetime DE69833565T2 (de) 1997-11-14 1998-11-16 Verfahren und vorrichtung zum verbinden eines allzweckrechners mit einem spezialsystem

Country Status (14)

Country Link
US (1) US6108696A (de)
EP (1) EP1029294B1 (de)
JP (1) JP2001523867A (de)
KR (1) KR100566598B1 (de)
CN (1) CN1113308C (de)
AT (1) ATE318424T1 (de)
AU (1) AU1588399A (de)
BR (1) BR9815314A (de)
DE (1) DE69833565T2 (de)
ES (1) ES2255191T3 (de)
HK (1) HK1032834A1 (de)
NO (1) NO20002448L (de)
NZ (1) NZ504545A (de)
WO (1) WO1999026169A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US6938073B1 (en) * 1997-11-14 2005-08-30 Yahoo! Inc. Method and apparatus for re-formatting web pages
US6545722B1 (en) 1998-01-09 2003-04-08 Douglas G. Brown Methods and systems for providing television related services via a networked personal computer
WO1999040551A1 (en) * 1998-01-26 1999-08-12 Unif/X Inc. A transaction execution system interface and enterprise system architecture thereof
US6380954B1 (en) * 1998-02-09 2002-04-30 Reuters, Ltd. Method and system for layout of objects within a perimeter using constrained interactive search
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7213061B1 (en) 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6877023B1 (en) * 2000-01-28 2005-04-05 Softwired, Inc. Messaging system for delivering data in the form of portable message formats between message clients
US6895558B1 (en) * 2000-02-11 2005-05-17 Microsoft Corporation Multi-access mode electronic personal assistant
DE60039975D1 (de) 2000-06-19 2008-10-02 Hewlett Packard Co Verfahren zur Verwaltung von Einheiten eines Intranet Netzwerkes über das WEB
EP1168160A1 (de) 2000-06-19 2002-01-02 Hewlett-Packard Company, A Delaware Corporation Verfahren zum automatischen Anzeigen von graphischen Objekten wie Knöpfen in einer Web-seite
US6721779B1 (en) * 2000-07-07 2004-04-13 Softwired Ag Messaging proxy system
AU2002213098A1 (en) * 2000-10-26 2002-05-06 Virtual Media, Inc. Translating data streams using instructions in templates
US7661117B2 (en) * 2000-11-27 2010-02-09 Intellocity Usa Inc. Displaying full screen streaming media advertising
US20020122060A1 (en) * 2000-12-18 2002-09-05 Markel Steven O. Wizard generating HTML web pages using XML and XSL
NZ534028A (en) * 2001-12-10 2007-05-31 Redbank Manor Pty Ltd A system for secure distribution of electronic content and collection of fees
US20050068322A1 (en) * 2003-09-29 2005-03-31 Falcioni Richard A. Generating alphanumeric characters
US8904267B2 (en) * 2003-10-14 2014-12-02 International Business Machines Corporation Retrieving slide show content from presentation documents
US9317259B2 (en) * 2005-05-12 2016-04-19 International Business Machines Corporation Apparatus, system, and method for automatically generating a reusable software component for interfacing with a web service
AU2006287639C1 (en) 2005-09-07 2012-06-28 Open Invention Network, Llc Method and computer program for device configuration
KR100972955B1 (ko) * 2008-05-22 2010-07-29 김경민 센서 포밍 장치
US20120151592A1 (en) * 2010-12-13 2012-06-14 Microsoft Corporation String operations with transducers

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69130875T2 (de) * 1990-07-19 1999-06-10 Sony Corp Verfahren zur Aufstellung von Adressen für elektronische Geräte
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
DE69330867T2 (de) * 1993-01-07 2002-04-11 Koninkl Philips Electronics Nv Konsumenteneinrichtung mit erklärendem Text sowie extrasprachlicher Signalisation bei deren Betätigung und reversibles Wechseln zwischen diesen beiden
IL105990A (en) * 1993-06-11 1997-04-15 Uri Segev And Benjamin Machnes Infra-red communication system
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
EP0669748A2 (de) * 1994-02-28 1995-08-30 US WEST Technologies, Inc. Dienstlieferung mit Breitband
CA2139081C (en) * 1994-12-23 1999-02-02 Alastair Gordon Unified messaging system and method
US5838683A (en) * 1995-03-13 1998-11-17 Selsius Systems Inc. Distributed interactive multimedia system architecture
US6009464A (en) * 1995-09-20 1999-12-28 Sun Microsystems, Inc. Method and apparatus for enabling application programs to communicate with network clients and servers
US5694163A (en) * 1995-09-28 1997-12-02 Intel Corporation Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program
US5933603A (en) * 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location
ATE215763T1 (de) * 1995-11-22 2002-04-15 Samsung Electronics Co Ltd Architektur eines heim-multimedia-netzwerkes
US5579308A (en) * 1995-11-22 1996-11-26 Samsung Electronics, Ltd. Crossbar/hub arrangement for multimedia network
US5787259A (en) * 1996-03-29 1998-07-28 Microsoft Corporation Digital interconnects of a PC with consumer electronics devices
US6034689A (en) * 1996-06-03 2000-03-07 Webtv Networks, Inc. Web browser allowing navigation between hypertext objects using remote control
US5892758A (en) * 1996-07-11 1999-04-06 Qualcomm Incorporated Concentrated subscriber wireless remote telemetry system
US6031527A (en) * 1996-07-12 2000-02-29 Sofmap Future Design, Inc. Methods and systems for developing computer applications
US5944795A (en) * 1996-07-12 1999-08-31 At&T Corp. Client-server architecture using internet and guaranteed quality of service networks for accessing distributed media sources
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US5986662A (en) * 1996-10-16 1999-11-16 Vital Images, Inc. Advanced diagnostic viewer employing automated protocol selection for volume-rendered imaging
US5907322A (en) * 1996-10-16 1999-05-25 Catch Tv Acquisition Corp. Television event marking system
US5794039A (en) * 1996-12-18 1998-08-11 Unisys Corp. Method for abstracting messages of various protocols into objects for storage in a database
US5848415A (en) * 1996-12-18 1998-12-08 Unisys Corporation Selective multiple protocol transport and dynamic format conversion in a multi-user network
US5911776A (en) * 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
US5864870A (en) * 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US5909183A (en) * 1996-12-26 1999-06-01 Motorola, Inc. Interactive appliance remote controller, system and method
US5982303A (en) * 1997-02-03 1999-11-09 Smith; Jeffrey Method for entering alpha-numeric data
US5909215A (en) * 1997-02-10 1999-06-01 International Business Machines Corporation Method and apparatus to intercept and process error messages in a data processing system
US5787254A (en) * 1997-03-14 1998-07-28 International Business Machines Corporation Web browser method and system for display and management of server latency
US5943496A (en) * 1997-05-17 1999-08-24 Intertop Corporation Methods for developing and instantiating object classes using a java virtual machine extension
US5983263A (en) * 1998-01-02 1999-11-09 Intel Corporation Method and apparatus for transmitting images during a multimedia teleconference
US5933141A (en) * 1998-01-05 1999-08-03 Gateway 2000, Inc. Mutatably transparent displays
US6038297A (en) * 1998-06-05 2000-03-14 Lucent Technologies Inc. System for party line suppressed ringing access of subscriber lines

Also Published As

Publication number Publication date
DE69833565D1 (de) 2006-04-27
US6108696A (en) 2000-08-22
ES2255191T3 (es) 2006-06-16
WO1999026169A1 (en) 1999-05-27
CN1290370A (zh) 2001-04-04
NO20002448L (no) 2000-07-13
AU1588399A (en) 1999-06-07
KR100566598B1 (ko) 2006-03-31
EP1029294A1 (de) 2000-08-23
NZ504545A (en) 2003-02-28
JP2001523867A (ja) 2001-11-27
EP1029294B1 (de) 2006-02-22
CN1113308C (zh) 2003-07-02
NO20002448D0 (no) 2000-05-11
ATE318424T1 (de) 2006-03-15
KR20010024611A (ko) 2001-03-26
BR9815314A (pt) 2002-02-05
HK1032834A1 (en) 2001-08-03

Similar Documents

Publication Publication Date Title
DE69833565T2 (de) Verfahren und vorrichtung zum verbinden eines allzweckrechners mit einem spezialsystem
DE60207593T2 (de) Ein druckersystem
US7178101B2 (en) Content template system
Price et al. NaturalJava: A natural language interface for programming in Java
DE10042601B4 (de) Sprache für XML-Server-Seiten
EP1672524B1 (de) Systeme und Verfahren zur Konvertierung eines formatierten Dokuments in eine Webseite
DE60007252T2 (de) Graphischer benutzerschnittstellentreiber für eingebettete systeme
DE4440598C1 (de) Durch gesprochene Worte steuerbares Hypertext-Navigationssystem, Hypertext-Dokument für dieses Navigationssystem und Verfahren zur Erzeugung eines derartigen Dokuments
US6507848B1 (en) Embedded dynamic content in a static file format
DE102005046996A1 (de) Anwendungs-generischer Sequenzdiagrammerzeuger, getrieben durch eine nicht-proprietäre Sprache
US20060104511A1 (en) Method, system and apparatus for generating structured document files
US20060129926A1 (en) User interaction when editing web page views of database data
WO2012038014A1 (de) System und verfahren für relevanzbasiertes kategorisieren und zeitnahes lernen von vokabeln
WO2004021211A2 (en) System and method for browser document editing
EP1771795A1 (de) Verfahren, programm und system zur dynamischen, template-basierten generierung von internetseiten
US20080086682A1 (en) Markup language template conversion
US20040205584A1 (en) System and method for template creation and execution
EP3226088A1 (de) Anzeige- und bedieneinheit und verfahren zur bedienung eines feldgeräts mit einer anzeige- und bedieneinheit
DE69907714T2 (de) Komponentbasiertes quellcodegeneratorverfahren
DE10054001A1 (de) Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen
Hartmann et al. Documenting software systems with views II: an integrated approach based on XML
Guetari et al. Amaya: an authoring tool for the web
DE10219899A1 (de) Mehrkanal-Übermittlungssystem
EP1237075A1 (de) Prä-Prozessor für vorgegebene Dokumententypdefinition, System zur Verarbeitung von Auszeichnungssprachen-Dokumenten, Verfahren und Computerprogrammprodukt dazu
EP3411803A1 (de) Gerät und verfahren zur bearbeitung eines binärkodierten strukturdokuments

Legal Events

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

Representative=s name: KUDLEK & GRUNERT PATENTANWAELTE PARTNERSCHAFT, 803

8328 Change in the person/name/address of the agent

Representative=s name: WEICKMANN & WEICKMANN, 81679 MUENCHEN