DE69837856T2 - Modemkontrolle - Google Patents

Modemkontrolle Download PDF

Info

Publication number
DE69837856T2
DE69837856T2 DE69837856T DE69837856T DE69837856T2 DE 69837856 T2 DE69837856 T2 DE 69837856T2 DE 69837856 T DE69837856 T DE 69837856T DE 69837856 T DE69837856 T DE 69837856T DE 69837856 T2 DE69837856 T2 DE 69837856T2
Authority
DE
Germany
Prior art keywords
device driver
patterns
receiver
message
modem
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
DE69837856T
Other languages
English (en)
Other versions
DE69837856D1 (de
Inventor
Jerome Meric
Jean-Bernard Gerard Beuque
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of DE69837856D1 publication Critical patent/DE69837856D1/de
Application granted granted Critical
Publication of DE69837856T2 publication Critical patent/DE69837856T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Spectrometry And Color Measurement (AREA)
  • Circuits Of Receivers In General (AREA)
  • Interface Circuits In Exchanges (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Selective Calling Equipment (AREA)
  • Information Transfer Systems (AREA)
  • Electronic Switches (AREA)

Description

  • Die vorliegende Erfindung betrifft Modems und insbesondere die Fernsteuerung von Modems. Diese findet besondere Anwendung bei der Anpassung von Anwendungsprogrammen an physikalische Vorrichtungen, besonders, aber nicht ausschließlich, im Zusammenhang mit Empfängern/Decodern für digitale Übertragungssysteme.
  • Der hier benutzte Begriff "Empfänger/Decoder" kann einen Empfänger zum Empfangen von entweder codierten oder nicht codierten Signalen, beispielsweise Fernseh- und/oder Funksignalen bezeichnen, die ausgestrahlt oder durch irgendwelche anderen Mittel übertragen werden können. Auch kann der Begriff einen Decoder zum Decodieren von Empfangssignalen bezeichnen. Ausführungsformen solcher Empfänger/Decoder können einen mit dem Empfänger integralen Decoder zum Decodieren der Empfangssignale beispielsweise in einer "Set-Top Box" umfassen, wobei ein solcher Decoder in Kombination mit einem physikalisch getrennten Empfänger fungiert oder ein solcher Decoder solche Funktionen enthält wie beispielsweise einen Webbrowser, einen Videorecoder oder einen Fernseher.
  • Durch das Kommen von hauptsächlich für die Ausstrahlung von Fernsehsignalen bestimmten digitalen Übertragungssystemen, insbesondere, aber nicht ausschließlich, Satellitenfernsehsystemen, ist die Möglichkeit der Verwendung solcher Systeme für andere Zwecke eröffnet worden. Einer davon ist die Bereitstellung von Dialogfähigkeit mit dem Endbenutzer.
  • So wie er hier benutzt wird, enthält der Begriff digitales "Übertragungssystem" jedes Übertragungssystem zur Übertragung oder Ausstrahlung von beispielsweise hauptsächlich audiovisuellen oder Multimedien-Digitaldaten. Während die vorliegende Erfindung besonders auf ein ausgestrahltes digitales Fernsehsystem anwendbar ist, kann die Erfindung auch auf ein festes Telekommunikationsnetz für Multimedien-Internetanwendungen, auf eine Fernsehüberwachungsanlage und so weiter anwendbar sein. Der Begriff "digitales Fernsehsystem" enthält beispielsweise jedes terrestrische, Satelliten-, Kabel- und sonstige System.
  • Die vorliegende Erfindung findet spezifische Anwendung in einem digitalen Rundfunkfernsehsystem, in dem Empfangssignale durch einen Empfänger zu einem Empfänger/Decoder und von dort zu einem Fernsehgerät weitergeleitet werden. Der Empfänger/Decoder (auch als Set-Top Box bzw. STB bekannt) decodiert ein komprimiertes MPEG-Signal in ein Fernsehsignal für das Fernsehgerät. Er wird durch ein Fernsteuerungshandgerät, durch eine Schnittstelle im Empfänger/Decoder gesteuert.
  • Eine Weise zur Bereitstellung der oben beschriebenen Dialogfähigkeit besteht darin, eine Anwendung auf dem Empfänger/Decoder ablaufen zu lassen, durch den das Fernsehsignal empfangen wird. Es ist wünschenswert, die Kommunikation einer Vielzahl von Anwendungen mit einer Vielzahl von physikalischen Vorrichtungen transparent zu ermöglichen. In unseren gleichzeitig anhängigen Anmeldungen WO9843172 A2 und WO9843433 sind Systeme beschrieben, bei denen eine oder mehrere Anwendungen durch eine Set-Top Box (STB) heruntergeladen werden können und mit physikalischen Vorrichtungen in der STB wie beispielsweise parallelen und seriellen Schnittstellen und Chipkartenlesern mittels eines Gerätetreibers für jede Vorrichtung und einen Hauptgerätemanager kommunizieren.
  • Nach der vorliegenden Erfindung ist vorgeschlagen worden, die Fähigkeit des Anschließens einer Set-Top Box an eine Vielzahl von unterschiedlichen Signalkanälen wie beispielsweise einen Modem, einen seriellen Kanal, einen parallelen Kanal, einen MPEG-Kanal (komprimiertes und codiertes Videosignal), Durchzugleser und so weiter bereitzustellen. Die Set-Top Box enthält eine virtuelle Maschine, die eine Laufzeitmaschine enthält. Die virtuelle Maschine ist an einen Gerätemanager angekoppelt, der wiederum über Vorrichtungen und Gerätetreiber an die physikalischen Schnittstellen der verschiedenen Kanäle angekoppelt ist.
  • Der Begriff MPEG bezieht sich auf die durch die Arbeitsgruppe "Motion Pictures Expert Group" der International Standards Organisation entwickelten Datenübertragungsstandards und insbesondere aber nicht ausschließlich auf den für Digitalfernsehanwendungen entwickelten und in Dokumenten ISO 13818-1, ISO 13818-2, ISO 13818-3 und ISO 13818-4 aufgeführten MPEG-2-Standard. Im Zusammenhang mit der vorliegenden Patentanmeldung enthält der Begriff alle auf das Gebiet der digitalen Datenübertragung anwendbaren Varianten, Abänderungen und Entwicklungen von MPEG-Formaten.
  • Wie oben bemerkt ist einer der Kanäle vorzugsweise ein Modem. Die Hauptaufgabe der vorliegenden Erfindung besteht in der Bereitstellung verbesserter Steuerung eines solchen Modems. Dies wird durch Bereitstellung eines verbesserten Gerätetreibers zum Steuern des Modems erreicht. Für die gegenwärtigen Zwecke ist die genaue Beschaffenheit irgendwelcher Unterschiede zwischen Vorrichtungen und Gerätetreibern unwesentlich und der hier benutzte Begriff "Gerätetreiber" sollte so ausgelegt werden, daß er jede Form von Schnittstelle zwischen Hardware und einer Anwendung einschließt, es sei denn der Zusammengang erfordert es anderweitig.
  • Gemäß der Erfindung wird ein Gerätetreiber nach Patentanspruch 1 bereitgestellt.
  • Der Gerätemanager wird gewöhnlich zur Steuerung einer Mehrzahl von Gerätetreibern ausgeführt sein und Nachrichten zwischen den Gerätetreibern und einer oder mehreren Anwendungen weiterleiten, aber der Begriff "Gerätemanager" soll jede Instanz mit der Fähigkeit zur Steuerung des Gerätetreibers umfassen und kann selbst eine steuernde Anwendung sein. Weitere bedeutende Merkmale der Erfindung werden aus der nachfolgenden ausführlichen Beschreibung und den Ansprüchen ersichtlich sein.
  • Die Vorrichtung wird bevorzugt als Gerätetreiber in einem Empfänger/Decoder implementiert, beispielsweise für ein digitales Übertragungssystem wie in unseren gleichzeitig anhängigen Anmeldungen WO9843430 A1 und WO9843427 A1 beschrieben. Bei einer solchen Implementierung kann der Gerätetreiber unter der Steuerung einer Anwendung über den Gerätemanager fungieren, wodurch eine zweckdienliche und flexible Anordnung zur Steuerung des Gerätetreibers bereitgestellt wird. Die Anwendung wird vorzugsweise in einer interpretierten Sprache gefahren und der Gerätetreiber ist vorzugsweise kompiliert.
  • Im Vergleicher werden vorzugsweise die gespeicherten Muster mit einer vorbestimmten Endlänge der Nachricht verglichen.
  • Die Muster können mehrere Typen umfassen und es kann eine Mehrzahl von Mustern des gleichen Typs geben. Solche Muster können Ereignisse, ACK (positive Bestätigungen) und NACK (negative Bestätigungen) umfassen, wobei das erzeugte Signal den passenden Mustertyp anzeigt.
  • Der Gerätetreiber kann zum Senden des Signals zum Gerätemanager durch Hinzufügen desselben zu der durch den Modem empfangenen Nachricht angeordnet sein. Befehle können zwischen dem Gerätetreiber und dem Gerätemanager in der Form von Calls weitergeleitet werden, die Parameter im Gerätetreiber aufbauen, IO, die Steuersignale und Daten zu den Gerätetreibern senden, und Events, die Erkennung von Mustern oder Nachrichtenempfang oder Übertragungsprobleme zum Gerätemanager signalisieren. Eine Form von Call-Befehl umfaßt mindestens einen Mustereinstellungsbefehl zum Definieren eines oder mehreren vom Vergleicher zu suchenden Mustern.
  • Es gibt vorzugsweise drei Untertypen von zu suchenden, einen Mustereinstellungsbefehl definierenden Mustern, einen Mustereinstellungsbefehl für jeden Mustertyp. Der oder mindestens ein Mustereinstellungsbefehl kann zum Definieren einer Mehrzahl von zu vergleichenden Mustern angeordnet sein, wobei jedes Muster bei Erkennung eines entsprechenden Musters ein zu erzeugendes zugehöriges Ereignissignal aufweist.
  • Die zu suchenden Muster können in jeweiligen Teilbereichen des Steuerspeichers gespeichert sein. Als Alternative können die zu suchenden Muster in einem einzigen zusammenhängenden Bereich des Steuerspeichers gespeichert sein.
  • Bei einer Ausführungsform wird bei Auftreten einer Mehrzahl von Übereinstimmungen nur auf die letzte Übereinstimmung gehandelt. Als Alternative wird bei Auftreten einer Mehrzahl von Übereinstimmungen der Typ gemäß einer vorbestimmten Prioritätsfolge zwischen den unterschiedlichen Übereinstimmungstypen angezeigt.
  • Funktionen des Gerätetreibers können in Hardware, beispielsweise in einer dedizierten integrierten Schaltung implementiert sein; damit kann eine verbesserte Betriebsgeschwindigkeit bereitgestellt werden. Vorzugsweise wird jedoch mindestens ein Teil des Gerätetreibers in Software implementiert, vorzugsweise durch Verarbeitungsmittel gefahren, die die Anwendung fahren; das erlaubt größere Flexibilität, erfordert weniger Bauteile und erlaubt eine leichtere Aktualisierung des Gerätetreibers.
  • Die vorliegende Erfindung erstreckt sich über ein Verfahren nach Patenspruch 6.
  • Weitere Ausführungsformen der Erfindung sind in den beiliegenden abhängigen Patentansprüchen angegeben.
  • Es werden nunmehr bevorzugten Merkmale der vorliegenden Erfindung rein beispielsweise unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, in denen:
  • 1 ein Schaltschema von Schnittstellen des Empfängers/Decoders ist;
  • 2 ein Funktionsblockschaltbild des Empfängers/Decoders ist;
  • 3 die allgemeine logische Organisation des vorliegenden Gerätetreibers zeigt;
  • 4 ausführlicher die logische Organisation der Musterbearbeitungsaspekte des vorliegenden Gerätetreibers zeigt; und
  • 5 Nachrichtenstruktur und Speicherung darstellt.
  • Grundlagen des Empfängers/Decoders
  • Als Beihilfe zum Verständnis des Gerätetreibers, die bevorzugte Plattform, auf der der Gerätetreiber fungiert, wird zuerst unser digitaler Übertragungsempfänger/Decoder kurz beschrieben.
  • Bezugnehmend auf 1 ist ein Empfänger/Decoder 2020 bzw. eine Set-Top Box zur Verwendung in einem interaktiven digitalen Fernsehsystem, indem der Gerätetreiber der Ausführungsform installiert werden soll, schematisch dargestellt. Einzelheiten eines geeigneten interaktiven Digitalfernsehsystems sind aus unseren gleichzeitig anhängigen Anmeldungen WO9843430 A1 und WO9843427 A1 ersichtlich, auf die Bezug genommen werden sollte, sowie den Offenbarungen, die hier durch Bezugnahme aufgenommen sind. Zur Leichtigkeit der Bezugnahme sind ausführlicher in den oben erwähnten Spezifikationen beschriebene Teile im allgemeinen durch die in diesen Spezifikationen benutzten Bezugsziffern bezeichnet.
  • Bezugnehmend auf 1 enthält, wie ausführlicher in den oben erwähnten Spezifikationen beschrieben, der Empfänger/Decoder 2020 mehrere Schnittstellen; insbesondere einen Tuner 4028 für den MPEG-Signalfluß, eine serielle Schnittstelle 4030, eine parallele Schnittstelle 4032 und zwei Kartenleser 4036, wobei einer für eine Chipkarte Teil des Systems bildet und einer für (für Bezahlungen, Heimbankverbindungen und dergleichen benutzte) Bankkarten. Auch enthält der Empfänger/Decoder eine Schnittstelle 4034 zu einem mit Modem versehenen Rückkanal 4002 zum Fernsehsignal Produzenten, so daß der Benutzer Bevorzugungen und dergleichen zum Produzenten des Fernsehsignals (Programms) zurückmelden kann. Auch umfaßt der Empfänger eine Laufzeitmaschine 4008, einen Gerätemanager 4068 und eine Mehrzahl von Vorrichtungen 4062 und Gerätetreibern 4060 zum Fahren von einer oder mehreren Anwendungen 4056 (siehe 2).
  • Für die Zwecke der vorliegenden Spezifikation ist eine Anwendung ein Stück Computercode zum Steuern von höheren Funktionen vorzugsweise des Empfängers/Decoders 2020. Wenn beispielsweise der Endbenutzer den Brennpunkt einer Fernsteuerung auf ein auf dem Bildschirm des Fernsehgeräts 2022 gesehenes Tastenobjekt positioniert und eine Validierungstaste drückt wird die der Taste zugeordnete Anweisungsfolge gefahren.
  • Durch eine interaktive Anwendung werden Menüs vorgeschlagen und Befehle auf Anforderung des Endbenutzers ausgeführt und auf den Zweck der Anwendung bezogene Daten bereitgestellt.
  • Anwendungen können entweder residente Anwendungen, d.h. im ROM (oder FLASH oder sonstigen nichtflüchtigen Speicher) des Empfängers/Decoders 2020 gespeicherte oder rundgesendete und in den RAM- oder FLASH-Speicher des Empfängers/Decoders 2020 heruntergeladene sein.
  • Einige Beispiele von ausführlicher in den oben erwähnten Anwendungen beschriebenen Anwendungen sind:
    Eine Anfangsanwendung (Initiating Application), die eine anpaßbare Sammlung von Modulen ist, mit denen der Empfänger/Decoder 2020 sofort in der MPEG-2-Umgebung betriebsfähig sein kann.
    Eine Startanwendung (Startup Application), mit der jede Anwendung, entweder heruntergeladen oder resident, auf dem Empfänger/Decoder 2020 ablaufen kann.
    Ein Programmführer (Program Guide), der eine interaktive Anwendung ist, die volle Informationen über die Programmierung erteilt.
    Eine Gebührenfernsehanwendung (Pay Per View), die ein auf jedem PPV-Kanal des Digitalfernsehbouquets verfügbarer interaktiver Dienst ist, mit dem der Endbenutzer das aktuelle Ereignis erwerben kann.
    Eine PC-Herunterladeanwendung (PC Download application), mit der ein Endbenutzer Computersoftware unter Verwendung der PC-Herunterladeanwendung herunterladen kann.
    Eine Magazin-Browseranwendung mit einer zyklischen Videorundsendung von Bildern mit Endbenutzernavigation über Bildschirmtasten.
    Eine Teleshopping-Anwendung, mit der Angebote von Verkaufsgütern zum Empfänger/Decoder 2020 übertragen und auf dem Fernseher 2022 angezeigt werden können und der Benutzer einen bestimmten Gegenstand zum Kauf auswählen kann.
  • Anwendungen werden in Speicherstellen im Empfänger/Decoder 2020 gespeichert und als Ressourcedateien dargestellt. Die Ressourcedateien umfassen graphische Objektbeschreibungseinheitsdateien, variable Blockeinheitsdateien, Anweisungsfolgendateien, Anwendungsdateien und Datendateien, wie ausführlicher in den oben beschriebenen Spezifikationen beschrieben wird.
  • Im MPEG-Datenstrom umfaßt jedes Modul eine Gruppe von MPEG-Tabellen. Jede MPEG-Tabelle kann als eine Anzahl von Abschnitten formatiert sein. Im MPEG-Datenstrom weist jeder Abschnitt eine "Größe" bis zu 4 kByte auf. Zur Datenübertragung über den seriellen und parallelen Anschluß werden beispielsweise Modulen einfach in Tabellen und Abschnitte aufgespaltet, wobei die Größe des Abschnitts sich mit dem Transportmedium ändert.
  • Modulen werden im MPEG-Datenstrom in der Form von Datenpaketen von typischerweise 188 Byte in jeweiligen Typen von Datenstrom, z.B. Videodatenströmen, Audiodatenströmen und Videotextdatenströmen transportiert. Jedem Paket ist eine Paketkennung (PID – Packet Identifier) von 13 Bit vorangesetzt, eine PID für jedes im MPEG-Datenstrom transportiertes Paket. Eine PMT-Tabelle (programme map table) enthält eine Liste und verschiedene Datenströme und definiert den Inhalt jedes Datenstroms entsprechend der jeweiligen PID. Zusätzlich zu Programmen können gewisse PID Anwendungen oder sonstigen im Datenstrom enthaltenen Daten zugewiesen sein, wobei die PID unter Verwendung der PMT-Tabelle identifiziert wird.
  • Der Decoder enthält in ein RAM-Volumen, ein FLASH-Volumen und ein ROM-Volumen eingeteilten Speicher, aber diese physikalische Organisation unterscheidet sich von der logischen Organisation. Der Speicher kann weiterhin in den verschiedenen Schnittstellen zugeordnete Speichervolumen eingeteilt sein. Aus einem Gesichtspunkt kann der Speicher als Teil der Hardware erachtet werden, aus einem anderen Gesichtspunkt kann der Speicher als das gesamte des dargestellten Systems, abgesehen von der Hardware, unterstützend oder enthaltend erachtet werden.
  • Das System kann als auf einer einen Teil einer virtuellen Maschine 4007 bildenden Laufzeitmaschine 4008 zentriert erachtet werden. Dieses ist an einer Seite (der "hohen" Seite) an Anwendungen angekoppelt und an der anderen Seite (der "niedrigen" Seite) über verschiedene, unten besprochene logische Zwischeneinheiten an die Empfänger/Decoder-Hardware 4061 angekoppelt. Die Empfänger/Decoder-Hardware kann als die verschiedenen Anschlüsse oder Schnittstellen wie oben besprochen enthaltend erachtet werden (die Schnittstelle 2030 für den Handapparat 2026, die MPEG-Strom-Schnittstelle 4028, die serielle Schnittstelle 4030, die parallele Schnittstelle 4032, die Schnittstellen zu den Kartenlesern 4036 und die Schnittstelle 4034 zu dem mit Modem versehenen Rückkanal 4002).
  • Unter Bezugnahme auf 2 sind verschiedene Anwendungen 4057 an die Einheit 4007 angekoppelt, wobei einige der allgemeiner benutzten Anwendungen wie bei 4057 angezeigt mehr oder weniger permanent im System resident sein können, während andere beispielsweise aus dem MPEG-Datenstrom oder von anderen Anschlüssen nach Bedarf in das System heruntergeladen werden.
  • Zusätzlich zu der Laufzeitmaschine 4008 enthält die Einheit 4007 einige residente Bibliotheksfunktionen 4006, zu denen eine Toolbox 4058 gehört. Die Bibliothek enthält verschiedenartige in der Maschine 4008 benutzte Funktionen in C-Sprache. Dazu gehört Datenhandhabung wie beispielsweise Komprimierung, Erweiterung oder Vergleich von Datenstrukturen, Linienzeichnung, und so weiter. Auch enthält die Bibliothek 4006 Informationen über Firmware 4061 im Empfänger/Decoder 2020 wie beispielsweise Hardware- und Software-Versionsnummern und verfügbaren RAM-Raum, und eine beim Herunterladen einer neuen Vorrichtung 4062 benutzte Funktion. Funktionen können in die Bibliothek heruntergeladen werden und werden im FLASH- oder RAM-Speicher gespeichert.
  • Die Laufzeitmaschine 4008 ist an einen Gerätemanager 4068 angekoppelt, der an einen Satz Vorrichtungen 4062 angekoppelt ist, die an Gerätetreiber 4060 angekoppelt sind, die wiederum an Anschlüsse oder Schnittstellen angekoppelt sind. Allgemein ausgedrückt kann ein Gerätetreiber als eine logische Schnittstelle definierend erachtet werden, so daß zwei verschiedene Gerätetreiber an einen gemeinsamen physikalischen Anschluß angekoppelt sein können. Eine Vorrichtung wird normalerweise an mehr als einen Gerätetreiber angekoppelt sein; wenn eine Vorrichtung an einen einzelnen Gerätetreiber angekoppelt ist, wird die Vorrichtung normalerweise so ausgelegt sein, daß sie die volle zur Kommunikation erforderliche Funktionalität enthält, so daß sich die Notwendigkeit eines getrennten Gerätetreibers erübrigt. Gewisse Vorrichtungen können untereinander kommunizieren.
  • Wie unten beschrieben wird, gibt es drei Formen von Kommunikation von den Vorrichtungen 4062 zur Laufzeitmaschine hinauf: mittels Variablen, Puffern und Ereignissen, die an eine Menge von Ereigniswarteschlangen weitergeleitet werden.
  • Jede Funktion des Empfängers/Decoders 2020 wird als eine Vorrichtung 4062 dargestellt. Vorrichtungen können entweder lokal oder abgesetzt sein. Lokale Vorrichtungen 4064 enthalten Chipkarten, SCART-Verbindersignale, Modems, serielle und parallele Schnittstellen, einen MPEG-Video- und Audiospieler und eine MPEG-Abschnitts- und Tabellenableitereinheit. An einem entfernten Ort ausgeführte abgesetzte Vorrichtungen 4066 unterscheiden sich von lokalen Vorrichtungen, indem ein Anschluß und eine Prozedur von der Systemstelle oder dem Konstrukteur definiert werden muß, anstatt durch eine Vorrichtung und einen Gerätetreiber, die durch den Empfänger/Decoder-Hersteller bereitgestellt und konstruiert worden sind.
  • Wenn eine neue Vorrichtung 4062 erstellt wird, kann sie durch Herunterladen der entsprechenden Anwendung 4056 von der Rundfunkzentrale in bestehenden Empfängern/Decodern 2020 installiert werden. Dieses Herunterladen wird im Empfänger/Decoder 2020 durch eine Anwendung 4056 durchgeführt, die die Hardware- und Softwareversionen überprüft und bei Richtigkeit das die neue Vorrichtung 4062 darstellende Softwaremodul lädt und eine Prozedur der Bibliothek 4006 anfordert, den neuen Vorrichtungscode in der Firmware (im FLASH-Speicher) zu installieren. Damit kann eine flexible und sichere Installation neuer Funktionen im Empfänger/Decoder 2020 ohne Beeinflussung der übrigen Software bereitgestellt werden.
  • Der Gerätemanager 4068 ist eine gemeinsame Softwareschnittstelle zwischen der Anwendung 4056 und den spezifischen Funktionen des Empfängers/Decoders 2020. Vom Gerätemanager 4068 wird der Zugang zu Vorrichtungen 4062 gesteuert, Empfang eines unerwarteten Ereignisses erklärt und geteilter Speicher verwaltet.
  • Die Laufzeitmaschine 4008 läuft unter Steuerung des Mikroprozessors und einer gemeinsamen Anwendungsprogrammierungsschnittstelle. Sie sind in jedem Empfänger/Decoder 2020 installiert, so daß alle Empfänger/Decoder 2020 aus dem Gesichtspunkt der Anwendung identisch sind.
  • Durch die Maschine 4008 werden Anwendungen 4056 auf dem Empfänger/Decoder 2020 abgearbeitet. Diese führt interaktive Anwendungen 4056 aus und empfängt Ereignisse von außerhalb des Empfängers/Decoders 2020, zeigt Graphiken und Text an, ruft Vorrichtungen für Dienste auf und benutzt Funktionen der mit der Maschine 4008 verbundenen Bibliothek 4006 für spezifische Berechnung.
  • Die Laufzeitmaschine 4008 ist ein in jedem Empfänger/Decoder 2020 installierter ablauffähiger Code und enthält einen Interpretierer zum Interpretieren und Abarbeiten von Anwendungen. Die Maschine 4008 ist an jedes Betriebssystem anpaßbar einschließlich eines Einzeltask-Betriebssystems (wie beispielsweise MS-DOS). Die Maschine 4008 basiert auf Prozeß-Folgesteuerungseinheiten (die verschiedene Ereignisse wie beispielsweise einen Tastendruck zum Ausführen verschiedener Handlungen nehmen) und enthält ihr eigenes Steuerprogramm zum Verwalten von Ereigniswarteschlangen von den verschiedenen Hardwareschnittstellen. Auch bearbeitet sie die Anzeige von Graphiken und Text. Eine Prozeß-Folgesteuerungseinheit umfaßt eine Menge von Aktionsgruppen. Jedes Ereignis bewirkt, daß die Prozeß-Folgesteuerungseinheit sich von ihrer aktuellen Aktionsgruppe zu einer anderen Aktionsgruppe in Abhängigkeit von der Beschaffenheit des Ereignisses bewegt und die Aktionen der neuen Aktionsgruppe ausführt.
  • Die Maschine 4008 umfaßt einen Codelader zum Laden und Herunterladen von Anwendungen 4056 in den Empfänger/Decoder-Speicher 2028. Zur Sicherstellung optimaler Nutzung wird nur der notwendige Code in den RAM- oder FLASH-Speicher geladen. Die heruntergeladenen Daten werden durch einen Authentifizierungsmechanismus überprüft, um irgendeine Abänderung einer Anwendung 4056 oder die Ausführung einer unberechtigten Anwendung zu verhindern. Weiterhin umfaßt die Maschine 4008 einen Dekomprimierer. Da der Anwendungscode (eine Form von Zwischencode) aus Raumersparnis und zum schnellen Herunterladen aus dem MPEG-2-Transportstrom oder über einen eingebauten Empfänger/Decoder-Modus komprimiert ist, muß der Code vor Einladen in den RAM dekomprimiert werden. Auch umfaßt die Maschine 4008 einen Interpretierer zum Interpretieren des Anwendungscodes zum Aktualisieren verschiedener Größenwerte und Bestimmen von Zustandsänderungen, und einen Fehlerprüfer.
  • Vor Benutzung der Dienste irgendeiner Vorrichtung 4062 muß ein Programm (wie beispielsweise eine Anwendungsanweisungsfolge) als "Klient", das heißt eine logische Zugangsweise zu der Vorrichtung 4062 oder dem Gerätemanager 4068 erklärt werden. Vom Manager wird dem Klienten eine Klientennummer erteilt, auf die bei allen Zugriffen auf die Vorrichtung Bezug genommen wird. Eine Vorrichtung 4062 kann mehrere Klienten aufweisen, wobei die Anzahl von Klienten für jede Vorrichtung 4062 in Abhängigkeit von dem Typ der Vorrichtung 4062 abgegeben wird. Ein Klient wird der Vorrichtung 4062 durch eine Prozedur "Device: Open Channel" (Vorrichtung: Kanal öffnen) vorgestellt. Durch diese Prozedur wird dem Klienten eine Klientennummer zugewiesen. Ein Klient kann aus der Klientenliste des Gerätemanagers 4068 durch eine Prozedur "Device: Close Channel" (Vorrichtung: Kanal schließen) herausgenommen werden.
  • Der vom Gerätemanager 4068 für die Vorrichtungen 4062 bereitgestellte Zugriff kann entweder synchron oder asynchron sein. Für synchronen Zugriff wird eine Prozedur "Device: Call" (Vorrichtung: Rufen) benutzt. Das ist ein Mittel zum Zugreifen auf Daten, die sofort verfügbar sind, oder eine Funktionalität, bei der nicht auf die gewünschte Antwort gewartet werden muß. Für asynchronen Zugriff wird eine Prozedur "Device: I/O" (Vorrichtung: E/A) benutzt. Dies ist ein Mittel zum Zugreifen auf Daten, bei dem auf eine Antwort gewartet werden muß, beispielsweise Abfragen von Tunerfrequenzen zum Finden eines Multiplexes oder Zurückerhalten einer Tabelle aus dem MPEG-Strom. Wenn das angeforderte Ergebnis verfügbar ist, wird ein Ereignis in die Warteschlange der Maschine gesetzt, um seine Ankunft zu signalisieren. Eine weitere Prozedur "Device: Event" (Vorrichtung: Ereignis) bietet ein Mittel zum verwalten unerwarteter Ereignisse.
  • Wie oben bemerkt ist die Hauptschleife der Laufzeitmaschine an eine Vielzahl von Prozeß-Folgesteuerungseinheiten angekoppelt, und wenn die Hauptschleife auf ein zutreffendes Ereignis trifft, wird die Steuerung zeitweilig zu einer der Prozeß-Folgesteuerungseinheiten übertragen.
  • So ist ersichtlich, daß das Grundsystem eine Plattform mit beträchtlicher Flexibilität beim Ermöglichen, daß eine Anwendung mit einer Vielzahl von Vorrichtungen kommuniziert, bereitstellt.
  • Modem-Gerätetreiber
  • Die genauen Einzelheiten der Implementierung der verschiedenen Funktionen und die Verteilung zwischen Hardware und Software sind eine Angelegenheit der Wahl für den Implementierer und werden nicht ausführlich beschrieben. Es wird jedoch bemerkt, daß dedizierte integrierte Schaltungen mit der Fähigkeit zur Durchführung der in dem gegenwärtigen Gerätetreiber erforderlichen Operationen im Handel erhältlich sind oder leicht konstruiert werden können und diese können als Grundlage für einen Hardwarebeschleuniger benutzt oder vorzugsweise zur Erzeugung eines dedizierten Hardwarebeschleunigers abgeändert werden, um verschiedene der erforderlichen Operationen zu implementieren und damit die zum Abarbeiten der Software erforderliche Verarbeitungsleistung zu reduzieren. Die erforderlichen Operationen können jedoch in Software implementiert werden, wenn genügend Verarbeitungsleistung zur Verfügung steht. Der Gerätetreiber kann als eine Reihe von einzeln zugänglichen Funktionseinheiten umfassend erachtet werden, von denen jede hiernach als "Befehl" bezeichnet wird.
  • Jeder Befehl ist an einer Anwendung unter Steuerung des Gerätemanagers 4068 mittels einer der drei oben erwähnten Standardprozeduren angeschlossen, die anderen Vorrichtungen gemein sind. Informationen können zwischen einer Anwendung und der Vorrichtung mittels Parametertabellen weitergeleitet werden. Zur leichten Bezugnahme sind die drei Grundprozeduren kurz unten zusammengefaßt:
    • 1) Device: Call (Vorrichtung: Rufen). Diese Prozedur kann von einer Anwendung zur Durchführung von synchronen Befehlen oder Datenübertragung benutzt werden. Ausführung der Anwendung wird so lange eingestellt, bis Steuerung bei Abschluß der Operation durch den Gerätetreiber zurückkehrt; dies erlaubt zuverlässige Steuerung von Operationen, die in strenger Reihenfolge durchgeführt werden müssen.
    • 2) Device: I/O (Vorrichtung: E/A). Diese Prozedur erlaubt asynchrone Operation. Das heißt eine Anwendung kann eine Anforderung einer Datenübertragung oder eine vom Gerätetreiber durchzuführende bestimmte Funktion senden und die Ausführung der Anwendung kann weiterlaufen, während die Datenübertragung oder Funktion vom Gerätetreiber durchgeführt wird.
    • 3) Device: Event (Vorrichtung: Ereignis). Die Ereignisfangfunktion ermöglicht die Signalisierung von Ereignissen durch die Vorrichtung zu einer Anwendung und das Unternehmen einer bestimmten Aktion durch die Anwendung als Reaktion auf das Ereignis unabhängig von dem Code, der von der Anwendung zur Zeit der Ereignissignalisierung ausgeführt wird; im Effekt wird die Anwendung unterbrochen. Ereignisse können priorisiert werden. Ereignisse können zum Signalisieren von an der Schnittstelle auftretenden
  • Ereignissen wie beispielsweise einem Busrücksetzen benutzt werden oder zur Bereitstellung von Überwachung von asynchronen Befehlen, beispielsweise durch Signalisierung der Vollendung einer angeforderten Datenübertragung.
  • Der gegenwärtige Gerätetreiber ist als Block 500 dargestellt (3), mit einer Logikeinheit 501, einem Steuerspeicher 502 und einem Pufferspeicher 503. Diese zwei Speicher sind logisch getrennt, bilden aber beide einen Teil des gleichen physikalischen Speichers (insbesondere wird der Pufferspeicher einen Teil des RAM-Speichers bilden und der Steuerspeicher kann Teil des RAM- oder FLASH-Speichers bilden). Der Gerätetreiber ist wie gezeigt an den Gerätemanager 4068 und die Modemschnittstelle 550 angekoppelt. Jeder Befehl bildet einen Teil der Logikeinheit 501 und kann an Teilen des Steuer- und/oder Pufferspeichers wirken.
  • Allgemein gesagt werden die Modemfunktionen im beschränkten Sinne des Modulierens und Demodulierens von Signalen durch eine Modemeinheit durchgeführt, die in der Schnittstelle 550 enthalten oder an ihr angebracht sein kann. Steuerung und Verwaltung der die Schnittstelle durchfließenden Informationen werden abgesehen von diesen beschränkten Modemfunktionen durch den Gerätetreiber 500 durchgeführt.
  • Wie oben beschrieben wird die Kommunikation zwischen den Vorrichtungen/Gerätetreibern und dem Gerätemanager 4068 durch drei Typen von Prozeduren durchgeführt: Calls, IO und Events. Für vom Gerätetreiber 500 benutzte Prozeduren werden Calls zum Senden verschiedener Parameter von der Anwendung durch den Gerätemanager zum Gerätetreiber benutzt, IO werden zum Senden von Befehlen von der Anwendung durch den Gerätemanager zum Gerätetreiber benutzt und Events werden zum Senden von Nachrichten vom Gerätetreiber über den Gerätemanager zu einer Anwendung benutzt.
  • Nunmehr werden die in einer die Erfindung verwirklichenden Vorrichtung bereitgestellten Befehle beschrieben. Auch von einer Anwendung kann auf jeden Befehl durch Weiterleitung einer Kennung des Befehls als Parameter über eine der obigen drei Standardprozeduren zugegriffen werden. Es müssen nicht alle der unten beschriebenen Befehle bereitgestellt werden und die Funktionen der Befehle lassen sich abändern. Obwohl die Befehle unabhängig bereitgestellt oder abgeändert werden können, versteht es sich, daß aus der durch die beschriebenen Befehle bereitgestellten kombinierten Funktionalität gewisse zusammenwirkende Nutzen entstehen.
  • Die Befehle werden hinsichtlich der durch jeden Befehl bereitgestellten Merkmale und Funktionen zusammen mit wahlweisen und bevorzugten Merkmalen beschrieben. Mit den erteilten Informationen und bereitgestellten Spezifikationen sollte die eigentliche Implementierung dieser Merkmale für einen Fachmann ganz einfach sein und die genauen Einzelheiten sind dem Implementierer überlassen. Beispielsweise könnte jeder Befehl in Software implementiert, vorzugsweise in der Programmierungssprache C geschrieben und vorzugsweise zum Ablaufen auf dem zum Abarbeiten der Anwendung benutzten Prozessor kompiliert sein; der Gerätetreiber kann jedoch auf einem getrennten Prozessor ablaufen und einige oder alle Befehle können durch dedizierte Hardware implementiert sein. Die Befehle Call und IO können Informationen signalisieren oder Parameter durch Einstellen von Werten in einer im Speicher gespeicherten Parametertabelle, zumal deren Adresse zur Vorrichtung weitergeleitet wird, zu einer Anwendung zurückleiten.
  • Ausführlicher sind die benutzten Prozeduren oder Befehle die folgenden:
    • Device: Call (Vorrichtung: Rufen)
    • Set: setzt Puffergrößen, Zeitgeberverzögerungen.
    • Comm Set: setzt Datengröße (5 bis 8 Bit), Parität, Übertragungsrate.
    • Char set: setzt Pausenzeichen und Verzögerung.
    • Control set: zur entfernten Einrichtung gesendetes Freigabe-/Sperrsignal.
    • Pattern set: setzt zu suchende Muster.
    • Device: IO (Vorrichtung: E/A)
    • Command: sendet einen Befehl zum Gerätetreiber ohne Interpretierung
    • Send: sendet Daten zum Gerätetreiber.
    • Action: sendet einen Befehl zum Gerätetreiber mit Interpretierung.
    • Disconnect: trennt den Gerätetreiber ab.
    • Device: Event (Vorrichtung: Ereignis)
    • Receive: signalisiert den Empfang einer Nachricht.
    • Off: signalisiert ein Übertragungsproblem.
  • Eine Prozedur enthält auch einen Fehlercode zum Rückmelden und (außer der Prozedur Event: Off) eine Rufmeldung zum Rückmelden vom Gerätetreiber zum Gerätemanager. Auch enthält eine Prozedur Call oder IO eine Speicheradresse, wo die gesendeten Informationen (Parameter und so weiter) gefunden werden können.
  • Die Funktionen der meisten dieser Befehle sind generell herkömmlich. Das gegenwärtige System enthält jedoch einen Sonderbefehl, den Call-Befehl Pattern set. Durch diesen Befehl wird ein oder mehrere durch die Logikeinheit 501 zu suchendes Muster definiert. Der Befehl enthält eine Speicheradresse und der Speicher enthält beginnend an dieser Adresse eine Reihe von Mustern. (Insbesondere enthält die erste Stelle im Speicher die Anzahl von Mustern gefolgt von den einzelnen Mustern und jedes einzelne Muster im Speicher enthält einen Kopfteil mit der Länge dieses Musters.)
  • Im allgemeinen können 3 verschiedene Mustertypen zum Erzeugen von Events, ACK (positive Bestätigungen) und NACK (negative Bestätigungen) eingestellt werden. Es wäre natürlich möglich, alle drei Mustertypen im gleichen Befehl einzuschließen, wobei der Kopfteil jedes Musters den Typ dieses Musters kennzeichnet. Es ist jedoch zu bevorzugen, drei Teilformen von Befehl für die drei Mustertypen zu benutzen. So werden ACK- und NACK-Muster, die zur Erkennung zuverlässigen Empfangs eines Befehls durch den Modem erfordert sein können, vorzugsweise unter Verwendung dedizierter Befehle eingestellt und alle anderen Muster werden zum Auslösen eines Ereignisses benutzt, wobei jedem Muster eine Nummer zugewiesen wird, damit die Muster unterschieden werden können. Mit diesen Befehlen wird im Steuerspeicher 502 eine Speicherzone 510 aufgebaut (4); diese Speicherzone weist Segmente auf, die die Muster Event, ACK bzw. NACK enthalten. Die Logikeinheit 501 enthält eine Vergleichereinheit 511, die an diese Speicherzone angekoppelt ist.
  • Die Speicherzone 510 kann aus den durch die drei Befehle Pattern set angegebenen Speicherbereichen bestehen. In diesem Fall können die drei Segmente der Speicherzone sich physikalisch in unterschiedlichen Gebieten des Speichers befinden. Die Vergleichereinheit 511 wird die Startadressen der drei Segmente speichern müssen und, um Zugang zu den verschiedenen Mustern zu erhalten, die Anzahl von Mustern (wie zu Beginn jedes Segments gespeichert) und die Längen der einzelnen Muster zum Bestimmen der genauen Orte der Muster und zum Erlangen von Zugang zu jedem von ihnen nacheinander wie erforderlich benutzen. Als Alternative kann die Vergleichereinheit 511 den Speicher durch Aufbauen der Speicherzone 510 als Tabelle von Mustern in einer vorbestimmten Stelle initialisieren.
  • Wenn eine Nachricht empfangen wird, wird sie in einen Puffer im Pufferspeicher 503 weitergeleitet. Dieser Speicher ist in eine Mehrzahl von Puffern 512 eingeteilt, so daß die Nachricht mehr als einen Puffer belegen kann, jedoch ist der Nachrichtenraum logisch fortlaufend für jede einzelne Nachricht. Wenn Musteranpassung durchgeführt wird, durchsucht der Vergleicher 511 die letzten 32 Zeichen der Nachricht auf Übereinstimmungen mit jedem der in der Speicherzone 510 gespeicherten Muster.
  • Wenn eine Übereinstimmung gefunden wird, dann wird der Typ der Übereinstimmung (Event, ACK oder NACK) in den im Puffer gespeicherten Kopfteil der Nachricht eingeschrieben und/oder vom Gerätetreiber wird irgendeine geeignete Handlung unternommen.
  • Es ist zu bemerken, daß ACK- und NACK-Mustererkennung zum Erkennen erwarteter Antworten vom Modem benutzt werden kann, beispielsweise wenn Befehle gesendet werden, während der Modem off-live ist. Andere Signale vom Modem werden mit einer getrennten Liste von Mustern verglichen und zum Auslösen von Ereignissen benutzt; aus diesem Grund wird die Einstellung von ACK- und NACK-Mustern vorzugsweise unabhängig von der Einstellung einer Liste von Mustern durchgeführt, die unerwarteten Ereignissen oder sonstigen Nachrichten vom Modem entspricht.
  • Auf diese Weise ist es möglich, daß eine Anwendung mit einem beliebigen einer Vielzahl von Modems kommuniziert. Beispielsweise können für die Modems Anweisungsfolgen und Antworten allgemein einem Standard wie beispielsweise dem Hages-Standard entsprechen, aber zusätzliche Merkmale aufweisen, für die eine proprietäre Antwortfolge erzeugt wird. In einem solchen Fall werden die ACK- und NACK-Muster nach Standardmustern eingestellt und die zusätzlichen Merkmale in entsprechenden Antwortfolgen können Ereignissignalen zugewiesen werden.
  • 5 zeigt eine im Pufferspeicher 503 residente Nachricht 520. Die Nachricht besteht aus einem Kopfteil 521 und einem Körper 522. Die Nachricht ist in diesem Fall physikalisch zwischen zwei Puffern 512 und 512' aufgeteilt. Vom Vergleicher 520 wird ein Mustervergleich durchgeführt (d.h. Suchen nach einer Übereinstimmung mit den in dem Speicherbereich 510 gespeicherten Mustern) über das Gebiet 523 der letzten 32 Zeichen des Körpers 522 der Nachricht. Die Beschaffenheit jeder gefundenen Übereinstimmung wird in den Nachrichtenkopfteil 521 im Pufferspeicher eingefügt.
  • Es ist möglich, daß mehr als eine Übereinstimmung eintritt, auf zweierlei Weisen: als erstes können zwei Muster des gleichen Typs vorkommen (an unterschiedlichen Stellen in den letzten 32 Zeichen der Nachricht). Diese Doppelübereinstimmung kann außer acht gelassen werden, d.h. als einzelne Übereinstimmung behandelt werden. Als zweites können zwei Übereinstimmungen unterschiedlicher Typen auftreten (wiederum an unterschiedlichen Stellen in den letzten 32 Zeichen). Je nach den Umständen kann der Vergleicher 511 zum Anordnen des Übereinstimmungstyps gemäß entweder einer vorbestimmten Prioritätsfolge zwischen den unterschiedlichen Übereinstimmungstypen oder welches der Muster dem Ende der Nachricht näher ist ausgeführt sein.
  • Im Befehlsmodus, das heißt, wenn die Modemparameter eingestellt werden, kann dieses Verfahren zum Senden einer Befehlsnachricht zum Gerätetreiber benutzt werden. Die Nachricht wird vom Gerätetreiber interpretiert und nicht durch die Schnittstelle beispielsweise zu einem Datenserver gesendet. Für jeden gesendeten Befehl sucht der Gerätetreiber nach einem Muster und antwortet entsprechend auf die Anwendung.
  • In diesem Modus ist es auch möglich, eine Nachricht durch die Schnittstelle zu empfangen, ohne einen Befehl gesendet zu haben. Dies kann geschehen, wenn beispielsweise eine Rufspannung erkannt wird. Auch sollte der Gerätetreiber in diesem Fall nach einem Muster in der Ereignismusterliste suchen.
  • Im On-Line-Betrieb ist der Modem mit einem Datenserver verbunden und es ist möglich, Nachrichten von diesem Server zu empfangen. Der Gerätetreiber sucht nach einem Muster in den letzten 32 vom Datenserver empfangenen Zeichen.
  • Die obigen Befehle und Ereignisse sind nur beispielhaft und die Erfindung kann auf verschiedene Weisen implementiert werden und insbesondere können einige Befehle mit anderen, die ähnliche Funktionen durchführen, kombiniert werden oder einige können in vereinfachten Implementierungen weggelassen werden. Hardware- und Softwareimplementierungen jeder der Funktionen können frei gemischt werden, sowohl zwischen Befehlen und auch innerhalb eines einzigen Befehls.
  • Es ist leicht zu verstehen, daß die von der Hardware, der Computersoftware und dergleichen durchgeführten Funktionen auf oder unter Verwendung elektrischer und gleicher Signale durchgeführt werden. Softwareimplementierungen können im ROM gespeichert werden oder können in FLASH gespeichert oder eingekoppelt werden.
  • Es versteht sich, daß die vorliegende Erfindung oben rein beispielhaft beschrieben worden ist, und Abänderungen der Einzelheiten können im Rahmen der beanspruchten Erfindung durchgeführt werden.

Claims (10)

  1. Gerätetreiber (500) zum Steuern und Kommunizieren mit einem Modem, mit einem Pufferspeicher (503) zum Empfangen und Speichern von vom Modem empfangenen Nachrichten, einem Steuerspeicher (502) zum Speichern von Mustern und einer Logikeinheit (501) zum Steuern des Gerätetreibers und des Flusses von Nachrichten, wobei die Logikeinheit einen Vergleicher (511) zum Vergleichen von im Steuerspeicher gespeicherten Mustern mit einer im Pufferspeicher gespeicherten Nachricht zum Erzeugen eines Signals zum Anzeigen des verglichenen Mustertyps enthält, wobei das Signal in die Nachricht eingefügt wird, zum Senden zu einem an den Gerätetreiber angekoppelten Gerätemanager.
  2. Gerätetreiber nach Anspruch 1, wobei der Vergleicher die gespeicherten Muster mit einem Endteil vorbestimmter Länge der Nachricht vergleicht.
  3. Gerätetreiber nach Anspruch 1 oder 2, wobei die Muster von einer Mehrzahl von Typen sind und es eine Mehrzahl von Mustern des gleichen Typs geben kann.
  4. Gerätetreiber nach Anspruch 3, wobei die Mustertypen Events, ACK (positive Bestätigungen) und NACK (negative Bestätigungen) umfassen, wobei das erzeugte Signal den verglichenen Mustertyp anzeigt.
  5. Gerätetreiber nach Anspruch 4, wobei der Gerätetreiber das Signal durch Zufügen desselben zu der durch den Modem empfangenen Nachricht zum Gerätemanager sendet.
  6. Verfahren zum Steuern und Kommunizieren mit einem Modem unter Verwendung eines Gerätetreibers mit einem Pufferspeicher und einem Steuerspeicher, mit folgenden Schritten am Gerätetreiber: Empfangen und Speichern von Nachrichten vom Modem in dem Pufferspeicher, Vergleichen von in dem Steuerspeicher gespeicherten Mustern mit in dem Pufferspeicher gespeicherten Nachrichten zum Erzeugen eines Signals zum Anzeigen es verglichenen Mustertyps; Einfügen des Signals in die Nachricht, und Senden der Nachricht zu einem an den Gerätetreiber angekoppelten Gerätemanager.
  7. Verfahren nach Anspruch 6, wobei die gespeicherten Muster mit einem Endteil vorbestimmter Länge der Nachricht verglichen werden.
  8. Verfahren nach Anspruch 6 oder 7, wobei die Muster von einer Mehrzahl von Typen sind und es eine Mehrzahl von Mustern des gleichen Typs geben kann.
  9. Verfahren nach Anspruch 8, wobei die Mustertypen Events, ACK (positive Bestätigungen) und NACK (negative Bestätigungen) umfassen, wobei das erzeugte Signal den verglichenen Mustertyp anzeigt.
  10. Verfahren nach Anspruch 9, wobei der Gerätetreiber das Signal durch Hinzufügen desselben zu der durch den Modem empfangenen Nachricht zum Gerätemanager sendet.
DE69837856T 1997-10-03 1998-10-02 Modemkontrolle Expired - Lifetime DE69837856T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97402334A EP0913775A1 (de) 1997-10-03 1997-10-03 Modemsteuerung
EP97402334 1997-10-03
PCT/IB1998/001606 WO1999018513A1 (en) 1997-10-03 1998-10-02 Modem control

Publications (2)

Publication Number Publication Date
DE69837856D1 DE69837856D1 (de) 2007-07-12
DE69837856T2 true DE69837856T2 (de) 2008-01-31

Family

ID=8229868

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69837856T Expired - Lifetime DE69837856T2 (de) 1997-10-03 1998-10-02 Modemkontrolle

Country Status (19)

Country Link
US (1) US6804820B1 (de)
EP (2) EP0913775A1 (de)
JP (1) JP4303884B2 (de)
KR (1) KR100579000B1 (de)
CN (1) CN1188790C (de)
AT (1) ATE363686T1 (de)
AU (1) AU9278198A (de)
BR (1) BR9812704B1 (de)
CA (1) CA2304617A1 (de)
DE (1) DE69837856T2 (de)
HK (1) HK1030274A1 (de)
HR (1) HRP20000163A2 (de)
HU (1) HUP0100547A2 (de)
IL (1) IL135414A0 (de)
NO (1) NO20001650L (de)
PL (1) PL339632A1 (de)
TR (1) TR200001559T2 (de)
WO (1) WO1999018513A1 (de)
ZA (1) ZA988995B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120931B1 (en) * 2000-08-31 2006-10-10 Cisco Technology, Inc. System and method for generating filters based on analyzed flow data
US6651111B2 (en) * 2001-02-16 2003-11-18 Microsoft Corporation System and method for managing a serial port
AU2003241772B2 (en) * 2002-05-31 2008-11-06 Onkyo Corporation Network type content reproduction system
US7912999B2 (en) * 2002-07-03 2011-03-22 Freescale Semiconductor, Inc. Buffering method and apparatus for processing digital communication signals
US8499338B1 (en) * 2010-02-16 2013-07-30 Sprint Communications Company L.P. Internet protocol controlled modem for use over a wireless voice network
GB2521412A (en) * 2013-12-18 2015-06-24 Continuumbridge Ltd An apparatus for network bridging

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484263A (en) * 1981-09-25 1984-11-20 Data General Corporation Communications controller
US4896133A (en) * 1987-02-10 1990-01-23 Davin Computer Corporation Parallel string processor and method for a minicomputer
DE69130154T2 (de) * 1990-12-14 1999-05-20 Sun Microsystems, Inc., Mountain View, Calif. 94043-1100 Verfahren und Gerät zur Nachrichtenvermittlung zwischen Prozessen
US5327558A (en) * 1992-04-30 1994-07-05 Motorola, Inc. Method for asynchronous application communication
DE4321776C1 (de) * 1993-06-30 1994-12-08 Siemens Ag Verfahren zum Bilden und Analysieren von informationselementeorientierten Signalisierungsmeldungen in Kommunikationseinrichtungen
US5499364A (en) * 1993-10-14 1996-03-12 Digital Equipment Corporation System and method for optimizing message flows between agents in distributed computations
US6343263B1 (en) * 1994-08-02 2002-01-29 Apple Computer, Inc. Real-time signal processing system for serially transmitted data
DE69721352T2 (de) * 1996-01-31 2003-12-24 Compaq Computer Corp., Houston Rechnersystem mit einem Modem ohne Steuerung

Also Published As

Publication number Publication date
HUP0100547A2 (hu) 2001-06-28
EP0913775A1 (de) 1999-05-06
PL339632A1 (en) 2001-01-02
BR9812704A (pt) 2000-08-22
US6804820B1 (en) 2004-10-12
DE69837856D1 (de) 2007-07-12
IL135414A0 (en) 2001-05-20
NO20001650L (no) 2000-06-05
EP1019836A1 (de) 2000-07-19
EP1019836B1 (de) 2007-05-30
TR200001559T2 (tr) 2000-11-21
JP4303884B2 (ja) 2009-07-29
BR9812704B1 (pt) 2010-11-16
HK1030274A1 (en) 2001-04-27
JP2001519567A (ja) 2001-10-23
CA2304617A1 (en) 1999-04-15
ATE363686T1 (de) 2007-06-15
KR20010024391A (ko) 2001-03-26
ZA988995B (en) 1999-05-24
HRP20000163A2 (en) 2001-12-31
CN1188790C (zh) 2005-02-09
NO20001650D0 (no) 2000-03-30
CN1280685A (zh) 2001-01-17
AU9278198A (en) 1999-04-27
WO1999018513A1 (en) 1999-04-15
KR100579000B1 (ko) 2006-05-12

Similar Documents

Publication Publication Date Title
DE69901305T3 (de) Modulverwalter für interaktives fernsehsystem
DE69816087T2 (de) Verarbeitung eines digitalen transportstromes
DE69819507T2 (de) Set-top-box gerätetreiber für die ieee1394 norm
DE69531561T2 (de) Ausführungssteuerungsverfahren für ein interaktives audio/video Programm
DE69736489T2 (de) System zur erzeugung von programmführungsinformation für die ausführung von steuer- und kommunikationsfunktionen durch den benutzer
DE69733580T2 (de) Senden und Empfangen von Fernsehprogrammen und anderen Daten
DE69909255T2 (de) Multimediaterminal für mehrere benutzer
DE69833022T2 (de) Fernladen von anwendungen in einen digitalen decoder
DE69418580T2 (de) Fernanzeige von einem Bild durch Übertragung von komprimierten Videorahmen, die seinen Hintergrund und seinen überlagerten Vordergrund darstellen
DE69936156T2 (de) Authentifizierung von Daten in einem digitalen Übertragungssystem
DE69736138T2 (de) Datenfernladung
DE60037318T2 (de) Verfahren und vorrichtung zur auswahl von mehrfach gesendeten ip-daten die innerhalb eines rundfunkstromes übertragen werden
DE69718530T2 (de) Multimedia-Kommunikationsendgerät mit Möglichkeiten für Sonderwiedergabemoden
DE69229529T2 (de) Lokales Busnetzsystem
DE69938273T2 (de) Verfahren und Vorrichtung für verbesserte DVB-CI Funktionalität durch Ermöglichung eines direkten Zugriffs auf das Conditional Access Modul
DE69811532T2 (de) Paketfilterung
DE60303903T2 (de) Verfahren zur Erzeugung einer graphischen Benutzerschnittstelle auf einem HAVi Gerät für die Steuerung eines nicht HAVi Gerätes
DE60217091T2 (de) Synchrones aktualisieren dynamischer interaktiver anwendungen
EP0780990A2 (de) Verfahren zur Fernsteuerung von elektronischen Geräten und Vorrichtung zur Fernsteuerung von elektronischen Geräten sowie elektronisches Gerät
DE10251671A1 (de) Persönlicher Videorekorder mit einer Netzschnittstelle
DE102006026725A1 (de) System und Verfahren zum transparenten Verarbeiten von Multimediadaten
DE102006010731A1 (de) Persönliches Online-Multimedia-Übertragungssystem und Verfahren hierfür
DE69837856T2 (de) Modemkontrolle
DE69921371T2 (de) Dienstbrowserverfahren und system
DE20023148U1 (de) Interface-Modul für einen Host wie ein Decoder und dazugehörender Decoder

Legal Events

Date Code Title Description
8364 No opposition during term of opposition