-
Deutschsprachige Übersetzung
der Beschreibung der Europäischen
Patentanmeldung Nr. 98 950 242.2 des Europäischen Patents Nr. 1 025 698
-
Die
vorliegende Anmeldung bezieht sich auf ein Verfahren und eine Vorrichtung
zum Herunterladen ausführbarer
Anwendungen in eine in einem digitalen Rundfunksystem verwendete
Dekodiereinrichtung, beispielsweise wie sie in einem digitalen Fernsehsystem
verwendet wird.
-
Eine
Rundsendungsübertragung
digitaler Daten ist auf dem Gebiet der Pay-TV-Systeme bekannt, wo verwürfelte audiovisuelle
Informationen üblicherweise über Satellit
oder eine Satelliten/Kabelverbindung zu einer Vielzahl von Teilnehmern
gesendet werden, die jeweils eine Dekodiereinrichtung oder einen
Empfänger/Dekodierer
zum Entwürfeln
des übertragenen
Programms zum anschließenden
Ansehen besitzen. Terrestrische digitale Rundfunksysteme sind bekannt.
Jüngste
Systeme verwenden die Rundfunkverbindung auch zum Übertragen
anderer Daten zusätzlich
zu audiovisuellen Daten oder sowie audiovisuelle Daten, wie Computerprogramme
oder interaktive Anwendungen, zu der Dekodiereinrichtung oder einem
verbundenen PC.
-
Die
gleiche Dekodiereinheit kann vom Systementwickler einer Vielzahl
verschiedener Serviceanbietern oder Rundfunkgesellschaften einer
Vielzahl verschiedener Länder
zugeführt
werden. Unter diesen Umständen
ist üblicherweise
ein gewisser Grad an Überprüfung oder
ein Kundenzuschnitt der Dekodiereinheit durch den Serviceanbieter
erforderlich. Typischerweise wird eine Testanwendung zum Überprüfen des
korrekten Betriebs der Hardwareelemente der Dekodiereinrichtung
beispielsweise zum Bestätigen
verwendet, dass der Tuner in der Dekodiereinrichtung korrekt arbeitet,
und so weiter.
-
Dieser
Vorgang wird typischerweise durch den Serviceanbieter oder Verteiler
ausgeführt,
bevor die Dekodiereinrichtung zum Kunden kommt, beispielsweise unter
Verwendung eines dedizierten PC und einer parallelen oder seriellen
Verbindung zur Dekodiereinrichtung. Eine vom Systementwickler bereitgestellte
Anwendung, die auf dem PC läuft,
wird zur Anpassung der Betriebsparameter der Dekodiereinrichtung
verwendet.
-
In
Abhängigkeit
von der Komplexität
des Betriebs und den Fähigkeiten
des Bedieners, der zur Ausführung
dieser Aufgabe eingesetzt wird, kann die zum Testen der Dekodiereinrichtung
erforderliche Zeit erheblich sein, und die realen Kosten der fertigen
Einheit um einen signifikanten Betrag erhöhen.
-
Wenn
sie dann beim Kunden installiert ist, kann ein Benutzer auch die
Einführung
einer Vielzahl von Anwendungen nach eigenem Gutdünken wünschen, die mit der Dekodiereinrichtung
funktionieren. Wieder sieht sich der Benutzer dem Problem der Konfiguration
und dem Betreiben der Dekodiereinrichtung mit einer in einen PC
und so weiter geladenen Anwendung ausgesetzt.
-
Der
Erfindung liegt die Aufgabe zugrunde, die Zeit und Komplexität dieses
Vorgangs zu verringern und ein einfaches Mittel zum Aufnehmen von
Anwendungen in die Dekodiereinrichtung auszubilden.
-
Erfindungsgemäß ist ein
Verfahren zum Herunterladen einer ausführbaren Anwendung in eine Dekodiereinrichtung
bereitgestellt, dadurch gekennzeichnet, dass die Anwendung auf einer
tragbaren Speicherkarte gespeichert ist, die in einen Kartenleser
der Dekodiereinrichtung eingefügt
wird, wobei die Dekodiereinrichtung die Anwendung von der Karte
liest und herunterlädt.
-
Die
Verwendung einer tragbaren Speicherkarte ermöglicht die einfache und leichte
Einführung
einer vorbestimmten Anwendung in die Dekodiereinrichtung beispielsweise
ohne das Erfordernis einer Verbindung der Dekodiereinrichtung mit
einem PC, dem Laden eines Programms in den PC und so weiter. Die
beispielsweise zur Ausführung
eines Testvorgangs erforderliche Zeit wird stark verkürzt, da
ein Bediener die Anwendung in die Dekodiereinrichtung durch einfaches
Einfügen
der Karte in die Dekodiereinrichtung laden kann.
-
Obwohl
tragbare Speicherkarten auf dem Gebiet der Dekodierer-Technologie bekannt
sind, war ihre Verwendung bisher auf den einfachen Transfer statischer
Daten, beispielsweise von Finanzdaten von einer in die Dekodiereinrichtung
eingefügten
Kreditkarte oder zum Speichern von Entschlüsselungscodes beschränkt, die
mit Rundsendungsübertragungen
verknüpft
sind. Bisher wurden derartige Karten nicht zum Herunterladen ausführbarer
Anwendungen verwendet. Der Grund dafür ist teilweise die wahrgenommene
Langsamkeit der Datenverbindung, die mit der Verwendung eines Kartenslots
verbunden ist, was Systementwickler von dieser Lösung abgehalten hat.
-
In
der PCT WO 93/07715 ist ein System offenbart, in dem Kanalfrequenzinformationen
entsprechende statische Daten im Speicher einer Superchipkarte gespeichert
sind, wobei die Superchipkarte in den Fernseher zum Abstimmen des
Fernsehers auf die richtigen Kanäle
eingefügt
wird. Ein ähnliches
System ist in der
DE 4344317 beschrieben,
bei dem eine Superchipkarte in einen Schlitz in eine Fernsehfernsteuerung
zur Steuerung des Tuners des Fernsehers eingefügt wird. Keine der Druckschriften
offenbart das Herunterladen einer ausführbaren Anwendung in eine Dekodiereinrichtung.
In der
US 5,448,568 ist
eine Vorrichtung beschrieben, bei der aus interaktiven Anwendungen
Transportpakete zur Rundsendung gebildet werden. Die
EP 0,585,833 beschreibt eine Dekodiereinrichtung,
die einen Code und Autorisierungsdaten von einer Teilnehmersuperchipkarte
erhält.
-
Die
Erfindung ist nicht auf das Herunterladen einer Testanwendung beschränkt. Die
Karte kann gleichermaßen
zur Einführung
einer Anwendung verwendet werde, die zum anfänglichen Konfigurieren der
Dekodiereinrichtung verwendet wird. Alternative Verwendungen sind
auch denkbar, bei denen beispielsweise Karten mit einer Werbeanwendung,
wie einem Videospiel oder dergleichen direkt an den Endbenutzer
der Dekodiereinrichtung verteilt werden. Dekodiereinheiten beinhalten
immer mehr Funktionalitäten,
die mit allgemeinen Multimediaprodukten verbunden sind, und die
Verwendung einer tragbaren Speicherkarte liefert eine relativ einfache
Einrichtung für
einen nicht technischen Verbraucher zum Einführen ausführbarer Anwendungen in die
Dekodiereinrichtung.
-
Der
Ausdruck „tragbare
Speicherkarte" umfasst
beliebige tragbare Karten, die in einen entsprechenden Kartenschlitz
in der Dekodiereinrichtung eingeführt werden können. Die
Karte kann einen Mikroprozessorchip zusätzlich zu einem einfachen Speicherelement
enthalten. Die Karte kann über
eine Verbindung mit einer Stromquelle versorgt werden, die sich
intern im Leseschlitz der Dekodiereinrichtung befindet, oder kann
eine Batteriespannungsquelle enthalten.
-
Bei
einem Ausführungsbeispiel
kann die Karte den Standards entsprechen, die zum Ermöglichen
des Lesens in einer PCMCIA-Leseeinrichtung
in der Dekodiereinrichtung erforderlich sind. Vorzugsweise ist die Karte
aber derart ausgebildet, dass sie in einem Superchipkartenleser
in der Dekodiereinrichtung gelesen werden kann. Diese Lösung besitzt
eine Vielzahl von bemerkenswerten Vorteilen verglichen beispielsweise
mit einer PCMCIA-Karte aufgrund der Einfachheit der auf der Karte
gebildeten Kontakte, was die Herstellungskosten reduziert, und aufgrund
der Verbreitetheit der Superchipkartenleser in Dekodiereinheiten.
-
Die
Eigenschaften von Superchipkarten und Superchipkartenlesern sind
bekannt und sind beispielsweise in den internationalen Standards
ISO 7816_1 (physikalische Eigenschaften), ISO 7816_2 (Kontaktdimensionen
und Anordnung) und ISO 7816_3 (elektrische Signale und Übertragungsprotokolle)
definiert.
-
Anders
als beispielsweise Bankkarten müssen
mit Dekodiereinheiten verbundene Superchipkarten nicht vollständig in
die Einheit eingeführt
werden und können
um einiges aus der Dekodiereinrichtung vorstehen. Obwohl die Kartenbreite
und die Dicke für
den eingeführten
Teil der Karte den genormten Werten entsprechen müssen, kann
die Karte demzufolge länger
als eine Standardkreditkarte sein. Dies führt zu der Möglichkeit,
mehr und längere
Komponenten auf der Karte aufzunehmen.
-
Vorteilhafterweise
ist die in der Karte gespeicherte und in die Dekodiereinrichtung
heruntergeladene ausführbare
Anwendung entsprechend einem Rundsendungsdatenformat formatiert,
wie einem MPEG-Datenformat. Im Fall von Anwendungsdaten, die in
der Nutzlast eines Transportpakets gehalten werden, beschreibt der
MPEG-Standard die Organisation von Daten in einer Reihe von Tabellen,
wobei jede Tabelle eine Tabellen-ID enthält, und so weiter.
-
Bei
einem Ausführungsbeispiel
können
die Anwendungsdaten in eine Anzahl von Modulen im Speicher der Karte
unterteilt sein, wobei die Module von der Dekodiereinrichtung zum
Bilden der vollständigen
Anwendung zusammengesetzt werden.
-
Die
mit der Verwendung von Daten im MPEG-Format verbundenen Vorteile
sind erheblich, da die Dekodiereinrichtung derartige Anwendungen
auf die gleiche Weise abwickeln und verarbeiten kann, wie sie über die
Rundfunkverbindung heruntergeladene Anwendungen abwickelt. Umfasst
die Dekodiereinrichtung beispielsweise eine virtuelle Einrichtung
zur Verarbeitung von Daten, kann die Anwendung in Interpretiercode
geschrieben sein, wobei dieser Code durch die gleichen Logikeinheiten
in der Einrichtung interpretiert und verarbeitet wird, wie sie für Rundfunk-MPEG-Anwendungen
verwendet werden.
-
Ist
die Dekodiereinrichtung zum Herunterladen von digitalen Rundfunkübertragungen
entsprechend einem alternativen Datenformat eingerichtet, können die
gleichen Vorteile durch das Organisieren der Daten in der Karte
in diesem Format erzielt werden.
-
Gemäß einem
weiteren bevorzugten Ausführungsbeispiel
ist ein Teil der auf der Speicherkarte gespeicherten Anwendung mit
einem oder mehreren Verschlüsselungscodes
verschlüsselt.
Insbesondere kann ein Teil der in der Speicherkarte gespeicherten
Karten mit einem privaten Code verschlüsselt und/oder signiert sein,
wobei die Dekodiereinrichtung Zugang zu dem äquivalenten öffentlichen
Code hat, um das Original der Anwendung zu entschlüsseln und/oder
zu authentisieren. Bei einer Nichtauthentisierung des Codes kann
die Dekodiereinrichtung das Herunterladen des Codes verweigern.
Andere Anordnungen, die zwei Geheimcodes eines symmetrischen Algorithmus
verwenden, oder beispielsweise eine Kombination eines Hash/Verschlüsselungsverfahrens
sind zusätzlich
zu dem oder anstelle dieses Signiervorgangs möglich.
-
Der
Vorteil einer Speicherkarte liegt in der Einfachheit, mit der eine
Anwendung in die Dekodiereinrichtung aufgenommen werden kann. Aus
dem gleichen Grund kann die Verwendung einer Speicherkarte möglicherweise
zu einem Sicherheitsproblem führen,
indem die Installation von Piraterieanwendungen in einer Dekodiereinrichtung
ermöglicht
wird. Die Verwendung von signiertem Code stellt die Integrität und Anwendungen in
Dekodiereinrichtungen sicher und verhindert beispielsweise die Aufnahme
eines trojanischen Pferdes oder dergleichen in das System.
-
Vorzugsweise
ist die Dekodiereinrichtung mit einer Vielzahl von Superchipkartenlesern
versehen, um das Lesen einer die ausführbare Anwendung führenden
Superchipkarte zusammen mit einer anderen Superchipkarte zu ermöglichen,
beispielsweise einer einen Entschlüsselungscode tragenden Superchipkarte.
-
Wie
vorstehend beschrieben bezieht sich die prinzipielle Verwendung
von Superchipkarten im Zusammenhang mit einer Dekodiereinrichtung
auf die Speicherung von Entschlüsselungs- und Verschlüsselungscodes,
die mit dieser Dekodiereinrichtung verbunden sind. Ist der aus der
Speicherkarte heruntergeladene ausführbare Code teilweise oder
ganz verschlüsselt,
wird die Entschlüsselung
am wahrscheinlichsten bezüglich
eines auf einer Teilnehmersuperchipkarte gespeicherten öffentlichen
Codes ausgeführt.
Eine Multischlitz-Dekodiereinrichtung erlaubt eine Interaktion zwischen
den zwei Karten.
-
Weitere
Ausführungsbeispiele
für eine
Einzelschlitzdekodiereinrichtung sind möglich, bei denen beispielsweise
die Anwendung von der ersten Superchipkarte heruntergeladen und
in einem Puffer gespeichert wird, bevor die erste Karte entfernt
wird, und die zweite Karte zum Verifizieren der Anwendung eingefügt wird, oder
bei denen ein Adapter verwendet wird, um das parallele Einfügen beider
Karten zu ermöglichen,
und so weiter.
-
Gemäß einem
Ausführungsbeispiel
umfasst das Verfahren die Schritte des Herunterladens der Anwendung
in die Dekodiereinrichtung, des Einstellens eines oder mehrerer
mit der Anwendung verbundener Parameter und die Speicherung der
Parameter in der Speicherkarte für
eine spätere
Verwendung.
-
Wird
die Speicherkarte beispielsweise als Vehikel für eine vom Systementwickler
entwickelte Testanwendung verwendet, kann die Anwendung gewisse
Parameter, wie eine Abstimmfrequenz enthalten, die vom Testbediener
einzustellen sind.
-
Beim
ersten Laden der Anwendung in eine Dekodiereinrichtung hat der Bediener
die Option der Auswahl dieser Parameter, beispielsweise unter Verwendung
der Fernsteuerung der Dekodiereinrichtung. Sind sie eingestellt,
können
die Parameter auf der Speicherkarte gespeichert werden. Danach wird
das Testen folgender Dekodiereinrichtungen automatisch mit diesen
gespeicherten Parametern ausgeführt.
-
Aus
Sicherheitsgründen
ist es zu bevorzugen, dass die Anwendung unverändert bleibt und lediglich die
neu eingestellten Parameter zurück
auf die Karte neu geladen werden. Die Parameter können beispielsweise
in einem zugangsbeschränkten
Flash- oder ROM-Speicher gespeichert werden, und die in eine EEPROM-Speichereinheit
geladenen Parameter auf der Speicherkarte.
-
Vorteilhafterweise
enthält
die Speicherkarte eine physikalische Schalteinrichtung zur Auswahl
einer einer Vielzahl auf der Karte gespeicherter Anwendungen, die
beim Einfügen
der Speicherkarte in die Dekodiereinrichtung herunter geladen werden
wird. Wird die Karte beispielsweise als Vehikel für einer
Anzahl von Konfigurationsanwendungen für eine Vielzahl von Serviceanbietern
verwendet, kann die Karte eine DIL-Schalteinrichtung enthalten,
die von einem Betreiber zur Auswahl der mit diesem Serviceanbieter
verbundenen Konfigurationsanwendung eingestellt werden kann.
-
Die
vorliegende Erfindung erstreckt sich auf eine Dekodiereinrichtung
zur Verwendung bei einem wie vorstehend beschriebenen Verfahren,
insbesondere eine Dekodiereinrichtung zum Lesen von Rundsendungs-(beispielsweise
MPEG-)Formatdaten, die über
einen Kartenleser in die Dekodiereinrichtung aufgenommen werden.
Die Erfindung erstreckt sich auch auf eine Speicherkarte zur Verwendung
bei einem derartigen Verfahren, insbesondere mit einer im Rundsendungsformat
auf der Karte gespeicherten Anwendung.
-
Obwohl
sich die Beschreibung auf „Empfänger/Dekodierer" und „Dekodiereinrichtungen" bezieht, ist ersichtlich,
dass die Erfindung gleichermaßen
bei Ausführungsbeispielen
mit einem Empfänger,
der mit der Dekodiereinrichtung integriert vorhanden ist, sowie
bei einer Dekodiereinheit anwendbar ist, die in Kombination mit
einem physikalisch separaten Empfänger funktioniert. Eine derartige
Dekodiereinrichtung kann von der Art einer in einem digitalen Satelliten-,
terrestrischen, Kabel-, usw. -Rundfunksystem verwendeten Dekodiereinrichtung
sein, und kann weitere Multimediafähigkeiten umfassen, oder kann
in anderen Einrichtungen, wie in einem Videorekorder oder Fernseher
integriert sein.
-
Gleichermaßen deckt
der Ausdruck „ausführbare Anwendung" Anwendungen ab,
die in einer beliebigen Codeform geschrieben sind (Interpretiercode,
kompilierter Code, Maschinencode, und so weiter) und von einem Mikroprozessor
in der Dekodiereinrichtung ausgeführt werden kann.
-
Der
Ausdruck MPEG bezieht sich auf die Datenübertragungsstandards, die von
der International Standards Organisation Arbeitsgruppe „Motion
Pictures Expert Group" entwickelt
wurden, und insbesondere aber nicht ausschließlich auf den für digitale
Fernsehanwendungen entwickelten und in den Druckschriften ISO 13818-1,
ISO 13818-2, ISO
13818-3 und ISO 13818-4 dargestellten MPEG-2-Standard. Im Zusammenhang mit
dieser Anmeldung umfasst der Ausdruck alle Varianten, Modifikationen
oder Entwicklungen von MPEG-Formaten,
die auf dem Gebiet der digitalen Datenübertragung anwendbar sind.
-
Die
Erfindung ist durch die beigefügten
Patentansprüche
definiert.
-
Nachstehend
wird ein bevorzugtes Ausführungsbeispiel
der Erfindung unter Bezugnahme auf die beiliegende Zeichnung beschrieben.
Es zeigen:
-
1 einen Überblick über die
Elemente einer Dekodiereinrichtung,
-
2 eine
Speicherkarte, die in einem Kartenleserschlitz in der Dekodiereinrichtung
in 1 gelesen werden kann,
-
3 ein
Schaltbild der Komponenten der Karte in 2 und
-
4 die
Softwarearchitektur der Dekodiereinrichtung in 1.
-
Unter
Bezugnahme auf 1 werden die Elemente eines
Empfängers/Dekodierers 1 oder
einer aufgesetzten Box zur Verwendung in einem digitalen Rundfunksystem
beschrieben, die zur Verwendung mit der Erfindung eingerichtet sind.
Die Hardwareelemente dieses Dekodierers gehören weitgehend zum Stand der Technik
und ihre Implementierung liegt innerhalb der Fähigkeiten des Fachmanns.
-
Wie
gezeigt ist der Dekodierer 1 mit mehreren Schnittstellen
zum Empfangen und Senden von Daten ausgestattet, insbesondere mit
einem MPEG-Tuner und Demultiplexer 2 zum Empfangen von
Rundfunk-MPEG-Übertragungen,
einer seriellen Schnittstelle 3, einer parallelen Schnittstelle 4 und
einem Modem-Rückkanal 5 zum
Senden und Empfangen von Daten über
das Telefonnetz. Bei diesem Ausführungsbeispiel
umfasst der Dekodierer auch einen ersten und zweiten Superchipkartenleser 6 und 7,
wobei der erste Leser 6 zur Aufnahme einer Teilnehmersuperchipkarte
mit mit dem System verbundenen Entschlüsselungscodes und der zweite
Leser 7 zur Aufnahme von Bankkarten und in diesem Fall
einer Superchipkarte mit einer herunter zu ladenden Anwendung eingerichtet
ist.
-
Der
Dekodierer umfasst auch einen Empfänger 8 zum Empfangen
von Infrarotsteuersignalen von einer Handfernsteuerung 9 und
einen Peritel-Ausgang 10 zum Senden audiovisueller Signale
zu einem mit dem Dekodierer verbundenen Fernseher 11.
-
Die
Verarbeitung von über
die Schnittstellen empfangenen digitalen Signalen und die Erzeugung
digitaler Ausgangssignale wird durch eine zentrale Steuereinheit 40 abgewickelt.
Die Softwarearchitektur der Steuereinheit in dem Dekodierer kann
viele Formen annehmen. Sie kann beispielsweise auf einer virtuellen Einrichtung
beruhen, die mit einer Schnittstellenschicht mit einem Betriebssystem
unterer Ebene interagiert, das in den Hardwarekomponenten des Dekodierers
implementiert ist. Bezüglich
der Hardwarearchitektur ist der Dekodierer mit einem Prozessor,
Speicherelementen, wie einem ROM-, RAM-, Flash-Speicher und so weiter
wie bei bekannten Dekodierern ausgestattet.
-
Nachstehend
wird eine bestimmte Implementierung einer Softwarearchitektur unter
Bezugnahme auf 4 beschrieben. Es ist ersichtlich,
dass eine Schichtarchitektur verwendet wird. Die erste Schicht 51 stellt das
Betriebssystem der Hardware des Empfängers/Dekodierers dar. Dabei
handelt es sich um ein Echtzeitbetriebssystem, das vom Hersteller
zur Steuerung der Hardwareelemente des Empfängers/Dekodierers gewählt wird.
Das Echtzeitbetriebssystem besitzt eine relativ schnelle Antwortzeit,
um Hardwareoperationen korrekt synchronisieren zu können. Eine
Datenverarbeitungssystemschicht sitzt über dem Hardwarebetriebssystem und
umfasst eine Middlewareschicht 52 und eine Anwendungsschnittstellenschicht 53.
-
Ereignisnachrichten
werden zwischen der Betriebssystemschicht 51 und der unmittelbar
darüber
liegenden Middlewareschicht 52 geführt. Die Middlewareschicht
ist in der Sprache wie C ANSI geschrieben und umfasst die Elemente
einer virtuellen Einrichtung 54 und eine Vielzahl von Schnittstellen 55 mit
einer Graphikschnittstelle 56, einer Flash/PROM-Speicherschnittstelle 57,
Protokollschnittstelle 58 und Einrichtungsschnittstelle 59.
-
Die
Verwendung einer virtuellen Maschine beziehungsweise Einrichtung 54 ermöglicht die
Unabhängigkeit
zwischen Anwendungen der oberen Ebenen 66, die für gewöhnlich vom
Systemmanager oder einem oder mehreren Betreibern vorgesehen sind,
und einem Betriebssystem auf unterer Ebene 51, das für gewöhnlich durch
den Hardwarehersteller des Dekodierers implementiert wird.
-
Die
Schnittstellen 60 liefern die Verbindung zwischen Operationen
der virtuellen Einrichtung und des Betriebssystems der unteren Ebene 51 und
enthalten auch eine Vielzahl von Anwendungsmodulen der Zwischenebene,
die auf dieser Ebene leichter ausgeführt werden.
-
Die
Anwendungsschnittstellen-(API)-Schicht 53 umfasst eine
Vielzahl von Paketen der hohen Ebene 60 bis 65,
die in einer objektorientierten Interpretiersprache, wie Java geschrieben
sind. Diese Pakete liefern eine Schnittstelle zwischen den im allgemeinen
vom Serviceanbieter erzeugten Anwendungen der hohen Ebene (interaktive
Programmführung,
Teleshopping, Internetbrowser und so weiter) und der virtuellen
Einrichtung des Systems.
-
Das
Betriebssystem OS der unteren Ebene ist normalerweise in die Hardwarekomponenten
des Dekodierers eingebettet, obwohl in manchen Realisierungen das
Betriebssystem der unteren Ebene herunter geladen werden kann. Die
Middleware- und Anwendungsschnittstellenschichtpakete können in
den RAM- oder Flash-Speicher des Dekodierers anhand einer Rundfunkübertragung
herunter geladen werden. Alternativ dazu können einige oder alle Middleware-
oder Anwendungsschnittstellenschichtelemente im ROM oder (wenn vorhanden)
Flash-Speicher des Dekodierers gespeichert werden. Die physikalische
Organisation der Speicherelemente des Dekodierers ist von der logischen
Organisation des Speichers ziemlich verschieden.
-
Nachstehend
wird die Schnittstellenschicht 55 über der virtuellen Einrichtung 54 näher beschrieben. Sie
umfasst vier Module, ein Graphikmodul 56, ein Speicherdateiverwaltungsmodul 57,
ein Protokollmodul 58 und einen Einrichtungsverwalter 59.
Obwohl die Module in dieser Ebene als Schnittstellenmodule beschrieben sind,
besteht ihre Funktion in der Bereitstellung einer „Klebe"-Schicht für die Implementierung
der Anwendungsschnittstellenpakate und für den Betrieb der virtuellen
Einrichtung allgemein.
-
Das
Graphikmodul 56 stellt die Erzeugung und Verwaltung graphischer
Objekte bereit. Es fordert das Betriebssystem auf der unteren Ebene
zur Anzeige grundlegender graphischer Formen wie eines einzelnen Bildelementes
wie Linien, Rechtecken, und so weiter auf. Auf die gleiche Weise
umfasst das Speicherdateiverwaltungsmodul 57 Lese-/Schreibdateibefehle
der unteren Ebene, die mit den Speicherkomponenten des Systems verbunden
sind. Das Protokollverwaltungsmodul 58 definiert eine Bibliothek
von Kommunikationsprotokollen, die bei Kommunikationen beispielsweise über die
TCP/IP-Schicht des Dekodierers aufgerufen werden können.
-
Der
Einrichtungsverwalter 59 unterscheidet sich etwas von den
anderen Modulen auf dieser Schicht dahingehend, dass er die Verbindung
oder Schnittstelle zwischen dem Hardwarebetriebssystem und den Schichten
darüber
bereitstellt, die die anderen Module in der Schnittstellenschicht
und der virtuellen Einrichtung enthalten. Befehle oder Ereignisnachrichten,
die von dem Hardware-OS von der virtuellen Einrichtung empfangen
beziehungsweise zu dieser gesendet werden, müssen beispielsweise den Einrichtungsverwalter für eine Umwandlung
entsprechend den Schnittstellenbestimmungen zwischen den zwei Ebenen
durchlaufen.
-
Nun
wird auf die Anwendungsschnittstellenschicht 53 Bezug genommen.
Die Pakete in dieser Schicht sind in einer objektorientierten Sprache
wie Java geschrieben. Jedes Paket definiert einen Satz von Klassenbibliotheken,
die während
des Betriebs des Systems aufgerufen werden. Ihr Klassenverhalten
hängt von
der gewählten
Sprache ab, wobei im Fall von Java an einer einzigen Vererbungsklassenstruktur
festgehalten wird. Im vorliegenden System sind die folgenden Pakete
installiert.
-
Lang/Util-Paket 60.
Diese Pakete definieren die für
die Manipulation von Objekten durch die virtuelle Einrichtung erforderlichen
Klassen. Diese Klassenbibliotheken bilden normalerweise einen Teil
einer mit der gewählten
objektorientierten Sprache verbundenen Standardbibliothek.
-
MHEG-5-Paket 61.
Dieses Paket definiert die mit der Manipulation von Graphikobjekten
auf dem Fernsehbildschirm verbundenen Klassen. Diese Objekte unterscheiden
sich von audiovisuellen Daten und können beispielsweise Kanalidentifizierer
oder angezeigten Bildern überlagerten
Text bilden. Die Definition von Klassen in diesem Paket sollte die
MHEG-5-Normen berücksichtigen,
die durch die Standards ETS 300777-3 und ISO/ISE 13522-5 (und den
Standard ISO/ISE 13522-6 im Fall eines Java-implementierten Systems)
definiert sind.
-
Toolboxpaket 62.
Dieses Paket enthält
die zum Herunterladen und Dekomprimieren von Informationen verwendeten
Klassen sowie die mit der Verwaltung des Dateisystems und des Speichers
im Empfänger/Dekodierer
verbundenen Klassen und die mit der Verbindung zum Internet verbundenen
Klassen, und so weiter.
-
Einrichtungspaket 63.
Dieses Paket definiert die zur Verwaltung der mit dem Empfänger/Dekodierer wie
vorstehend beschrieben verbundenen Peripherieeinrichtungen erforderlichen
Klassen, die das Modem, die Superchipkartenleser, den MPEG-Flusstuner, und so
weiter umfassen.
-
Servicepaket 65.
Dieses Paket definiert die für
die Implementierung der Entwicklung interaktiver Anwendungen höherer Ebene
erforderlichen Klassen, wie die Verwaltung von Kreditkartendaten
und so weiter.
-
DSMCC-UU-Paket 65.
Dieses Paket implementiert die für
eine Kommunikation zwischen einem Client und einem Server für eine Datendateisuche
und zum Lesen erforderlichen Protokolle. Die Implementierung dieses
Pakets sollte die Norm ISO/IEC 13818-6 und in DAVIC Teil 9 definierte
Direktiven berücksichtigen.
-
Schließlich sitzt
eine Vielzahl von Anwendungen 66 hoher Ebene darüber und
kommuniziert mit den unteren Ebenen im System über die Anwendungsschnittstellenschicht 53.
Bei diesem Ausführungsbeispiel
bedeutet die Verwendung einer virtuellen Einrichtungsarchitektur,
dass Anwendungen in einer Interpretiersprache wie Java geschrieben
sind. Andere Softwaresysteme zum Abwickeln ausführbarer Anwendungen, die in alternativem
Code geschrieben sind, sind natürlich
möglich.
Wie nachstehend beschrieben können
Anwendungen von einer Vielzahl von Quellen und/oder Betreibern kommen.
Bei dem vorliegenden Ausführungsbeispiel
der Erfindung werden ausführbare
Anwendungen insbesondere über
eine Superchipkartenschnittstelle installiert.
-
Eine
in den Dekodierer aufgenommene Anwendung entspricht einem in die
Einrichtung aufgenommenen Abschnitt eines Codes, der die Steuerung
beispielsweise der Funktionen der Einrichtung höherer Ebene erlaubt. Diese
können
die Erzeugung einer Graphiksequenz auf dem Bildschirm der Fernsehanzeige
im Ansprechen auf einen Befehl von der Fernsteuerung oder das Aussenden
einer Nachricht über
das Modem 5 zu einem mit dem digitalen Rundfunksystem verbundenen
Server beinhalten. Die Ausführung
und Aufrechterhaltung der Anwendungen kann durch einen Anwendungsverwalter 67 abgewickelt
werden, der selbst in der Anwendungsschicht installiert ist.
-
Anwendungen
können
im ROM oder Flash-Speicher des Dekodierers gespeicherte residente
Anwendungen sein, oder über
die MPEG- Schnittstelle 2 des
Dekodierers rundgesendete und herunter geladene Anwendungen sein.
Anwendungen können
Programmführungsanwendungen,
Spiele, interaktive Dienste, Teleshoppinganwendungen, sowie initiierende
Anwendungen sein, die dem Dekodierer den unmittelbaren Betrieb beim
Einschalten ermöglichen,
und Anwendungen zum Konfigurieren und Testen des Dekodierers umfassen. Anwendungen
sind an Speicherorten im Dekodierer gespeichert und werden als Betriebsmitteldateien
dargestellt, die Graphikobjektbeschreibungsdateien, Einheitdateien,
Variablen-Blockdateien, Anweisungssequenzdateien, Anwendungsdateien,
Datendateien, und so weiter umfassen.
-
Im
Fall einer Rundfunkübertragung
kann eine Vielzahl von Datenstromtypen vorhanden sein, beispielsweise
ein Videodatenstrom, ein Audiodatenstrom, ein Textdatenstrom und
so weiter. Entsprechend MPEG-Standards geht jedem Transportpaket
ein Paketidentifizierer (PID) aus 13 Bits voraus, ein PID für jedes im
MPEG-Strom transportierte Paket. Eine Programmabbildungstabelle
(PMT) enthält
eine Liste der verschiedenen Ströme
für einen
bestimmten Dienst oder „Kanal" und definiert den
Inhalt jeden Stroms entsprechend dem jeweiligen PID. Ein PID kann
die Einrichtung über
das Vorhandensein von Anwendungen im Datenstrom alarmieren, wobei
der PID durch die PMT-Tabelle identifiziert wird.
-
In
einem MPEG-Transportstrom mit einer Anwendung kann es drei oder
mehr Ebenen einer Paketstruktur geben. Eine erste Schicht entspricht
der Basistransportschicht mit einer Reihe von Transportpaketen fester
Größe.
-
Des
weiteren sind in dem Dekodierer über
die Rundfunkverbindung herunter geladene Anwendungen in Module unterteilt,
wobei jedes Modul einer oder mehreren MPEG-Tabellen entspricht, die in den vorstehend angeführten Transportpaketen
eingekapselt sind. Jede MPEG-Tabelle kann in eine Vielzahl von Abschnitten unterteilt
sein. Für
einen Datentransfer über
die seriellen und parallelen Anschlüsse sind auch Module in Tabellen
und Sektionen beziehungsweise Abschnitte aufgesplittert, wobei die
Größe des Abschnitts
vom verwendeten Kanal abhängt.
Eine ähnliche
Abschnittsbildung wird bei MPEG-Tabellen angewendet, die unter Verwendung
der Superchipkarte des Ausführungsbeispiels
herunter geladen werden.
-
Schließlich ist
die Abschnittsbildung einer Anwendung in MPEG-Tabellen von der Struktur der Anwendungsdaten
selbst unabhängig.
Beispielsweise kann eine Anwendung als Vielzahl von Dateien organisiert sein,
die beispielsweise in einem Datenkarussell wie für das DSM-CC-Protokoll angeordnet
sind.
-
Nachstehend
wird die Struktur einer Superchipkarte 12 zum Laden einer
ausführbaren
Anwendung in den Dekodierer unter Bezugnahme auf die 2 und 3 beschrieben. 2 zeigt
eine Draufsicht der Superchipkarte mit einem Bereich von Kontakten 13,
einem Flash-ROM-Speicher 14, einem EEPROM-Speicher 15,
einem Mikroprozessor 16, einer DIL-Schalteinheit 17 und
einer Anzahl weiterer diskreter Komponenten. Anders als Standardsuperchipkarten
ermöglicht
das Vorhandensein zusätzlicher
Speicherelemente 14, 15 die Speicherung einer
ausführbaren
Anwendung einer erheblichen Größe auf der
Superchipkarte.
-
Die
Speicherkarte 2 hat die Breite und Dicke einer genormten
Standardsuperchipkarte, um ein Einfügen in einen Superchipkartenschlitz
des Dekodierers zu ermöglichen.
Wie es allerdings aus 2 ersichtlich ist, ist die Karte
länger
als eine Standardkarte, um die Aufnahme aller beschriebenen Komponenten
auf ihrer Oberfläche
zu ermöglichen.
Im Zusammenhang mit ihrer Verwendung bei der Anfangskonfiguration
des Dekodierers mag die Vergrößerung nicht
signifikant sein. In alternativen Lösungen, beispielsweise wenn
die Karte dem eventuellen Benutzer des Dekodierers zugeführt werden
soll, können
einige Komponenten, wie die DIL-Schalteinheit 17 und das
EEPROM 15 weggelassen werden. Die verbleibenden Komponenten
können
miniaturisiert werden und die gesamte Karte kann zum entsprechen
der Superchipkartennormen entworfen werden.
-
Gemäß 3 können die
in den Superchipkartenleser im Dekodierer eingreifenden Kontakte 13 anhand
der Funktion in eine Spannungsversorgungsleitung 18, die
die Kartenspannung Vcc zuführt,
eine Rücksetzleitung 19,
die mit dem entsprechenden Rücksetzanschluss 20 des
Mikroprozessors verbunden ist, eine Taktleitung 21, die
mit dem Taktanschluss 22 des Mikroprozessors verbunden
ist, und eine I/O-Leitung 23 eingeteilt werden, die mit
den entsprechenden Eingangs- und Ausgangsanschlüssen 24, 25 des
Mikroprozessors verbunden ist. Wie gezeigt werden die Verbindungen über eine
Reihe von Operationsverstärkern 26 ausgebildet.
Die Spannungsversorgung wird mittels eines Kondensators C4 reguliert.
-
Die
EEPROM-Speichereinheit 15 ist über Leitungen 27, 28 mit
dem Mikroprozessor 16 verbunden, wobei diese Leitungen
mit der Spannungsversorgung Vcc beaufschlagt sind, die über die
Widerstände
R1 und R2 angelegt wird. Die Funktion des EEPROM-Speichers wird nachstehend hinsichtlich
der Konfigurationsanwendung näher
beschrieben. Der Mikroprozessor 16 ist mit einer Reihe
von Leitungen 29 mit entsprechenden Anschlüssen des
Flash-Speichers 14 verbunden. Der Zustand von drei dieser
Leitungen 30, 31, 32 wird durch die Schalteinheit 17 bestimmt,
die über
eine Reihe von Dioden D1, D2, D3 verbunden sind, und über die
Widerstände
R3, R4, R5 mit der Spannungsversorgung Vcc verbunden sind. Durch
Ein- beziehungsweise
Ausschalten des jeweiligen Schalters kann ein binäres Steuerwort
000, 001, 010, 011 und so weiter definiert werden. Wie nachstehend
beschrieben wird dieses binäre
Wort zur Bestimmung des ersten Blocks in dem Flash-Speicher verwendet,
auf den beim Einfügen
der Karte zugegriffen wird, und somit zur Bestimmung der Anwendung,
die in den Dekodierer geladen wird.
-
Die
Karte 12 ist zum Eingreifen in den Kreditkartenleser 7 des
Dekodierers 1 entwickelt, wobei der Leser 6 für die Teilnehmerkarte
reserviert ist, die mit dem Rundfunksystem verbunden ist, und unter
Anderem die für
die Dekodierung verwürfelter Übertragungen
und die Verifizierung von herunter geladenem Code erforderlichen
Schlüssel
beziehungsweise Codes enthält.
Beim Einfügen überprüft der Leser
den Typ der eingefügten Karte
mittels eines einfachen Handshake-Signals für die Karte. Identifiziert
der Leser die Karte als Karte mit Anwendungscode zum Laden in die
Einrichtung, greift der Dekodierer auf den ersten Codeblock im Flash-Speicher 15 einer
der Hexadezimaladresse zu, die der durch die Schalteinheit 17 angegebenen
binären
Nachricht entspricht.
-
Soll
die Karte beispielsweise beim Testen von Dekodiereinrichtungen für eine Vielzahl
von Serviceanbietern verwendet werden, kann entsprechend dem in
Frage kommenden Serviceanbieter oder entsprechend den zu testenden
Funktionen eine andere Anwendung geladen werden. Zusätzlich oder
alternativ kann eine erste Einstellung der Schalter zum Herunterladen
der mit der Karte zugeführten
Anwendung und eine zweite zum Herunterladen einer anderen Anwendung
und/oder zugehöriger
Parameter verwendet werden, die vom Serviceanbieter eingestellt
sind (siehe unten).
-
Der
Anwendungscode wird von der Karte in eine Reihe von Modulen herunter
geladen, wobei die Module zur Bildung einer Reihe von MPEG-2-(Kurzform)-Tabellen
zusammengesetzt werden, wie es vorstehend in Verbindung mit Rundfunkdaten
beschrieben ist. Der Vorteil des Formatierens von Daten entsprechend
dem MPEG-Format besteht darin, dass die virtuelle Einrichtung in
der zentralen Steuereinheit des Dekodierers die in diesem Format
empfangenen Anwendungen direkt verarbeiten kann, wie sie über die
Rundfunkverbindung empfangene Anwendungen verarbeitet. Dies führt zu einer
erheblichen Verringerung der Zeit, die zur Verarbeitung der Anwendung,
usw. erforderlich ist.
-
Das
Format der MPEG-Privat-Sektionen in diesem Fall ist folgendes:
table_id | 8
Bits |
section_syntax_indicator
(= 0) | 1
Bit |
private_indicator
(= 1) | 1
Bit |
reserved | 2
Bits |
private_section_length | 12
Bits |
table_id_extension | 16
Bits |
reserved | 2
Bits |
version_number | 5
Bits |
current_next_indicator | 1
Bit |
section_number | 8
Bits |
last_section_number | 8
Bits |
private_data_byte | unbestimmt |
-
Auf
eine Anwendung wird durch den Dekodierer unter Verwendung der table_id
(Tabellen_id) und table_id_extension values (Tabellen_id_Erweiterungswerte)
zugegriffen.
-
Vor
der Speicherung in der Karte wird der in den MPEG-Tabellen enthaltene
Anwendungscode zur Bereitstellung einer digitalen Signatur verschlüsselt. Diese
Signatur wird durch den Vertreiber der Karte unter Verwendung eines
privaten Codes eines öffentlichen/privaten
Code-Algorithmus wie RSA erzeugt, der nur ihm selbst bekannt ist.
Der Dekodierer hat Zugang zu einer Reihe öffentlicher Codes auf einer
in den anderen Kartenleser eingefügten Teilnehmerkarte.
-
Bestätigt der
Dekodierer, dass der Code von einer bekannten Quelle stammt, indem
die digitale Signatur verifiziert wird, wird die Anwendung in der
Einrichtung installiert. Nicht verifizierter Code wird von der Dekodiereinrichtung
verworfen.
-
Zusätzlich zum
Verifizieren des Codes kann der Dekodierer auch den öffentlichen
Code zur Entschlüsselung
des Codes vor dem Betrieb verwenden.
-
Ferner
kann eine Verschlüsselung
durch einen privaten/öffentlichen
Algorithmus mit einer Einwege-Hash-Funktion wie MD5 kombiniert werden.
Beispielsweise kann ein Abschnitt des Codes zum Bereitstellen eines
Hashwerts verarbeitet werden, wobei dieser Hashwert dann mit dem
privaten Code zur Bereitstellung der digitalen Signatur verschlüsselt wird.
-
Es
können
auch andere in digitalen Rundfunksystemen verwendete Verschlüsselungsverfahren
angewendet werden, beispielsweise zur Verschlüsselung des Codes entsprechend
einem oder mehreren privaten Codes, die dem Vertreiber der Anwendungskarte
bekannt sind, um zu verhindern, dass ein Dritter die auf der Karte
gespeicherte Anwendung entschlüsselt
und verwendet. Der Dekodierer besitzt den Code beziehungsweise die
Codes, die zur Entschlüsselung
des Codes erforderlich sind, wie er auf einer Teilnehmerkarte gespeichert
ist. Diese Verschlüsselung
kann zusätzlich
zu und nach der Signatur des Codes ausgeführt werden. Diese Verschlüsselung/Entschlüsselung
kann beispielsweise unter Verwendung eines symmetrischen Algorithmus
ausgeführt
werden.
-
Die
Verwendung einer Teilnehmerkarte zum Speichern der erforderlichen
Entschlüsselungscodes
erfordert im allgemeinen, dass der Dekodierer auch mit einem zweiten
Superchipkartenleser versehen ist, da auf beide Karten durch den
Dekodierer während
der Herunterlade- und Verifizierungsschritte zugegriffen wird. Es sind
alternative Ausführungsbeispiele
denkbar, beispielsweise in den Daten zuerst von der Anwendungskarte in
einen Puffer herunter geladen werden, die Anwendungskarte entfernt
und die Karte mit den Entschlüsselungscodes
eingefügt
wird, und so weiter. Diese Ausführungsbeispiele
sind allerdings weniger bequem als die Verwendung eines Dekodierers
mit zwei oder mehr Superchipkartenlesern, insbesondere da die eine
oder andere Karte in jedem beliebigen Moment neu adressiert werden
können
muss.
-
Nachstehend
wird das Installieren einer Testanwendung im Dekodierer beschrieben.
Typischerweise wird eine derartige Testanwendung von einem Serviceanbieter
zum Testen des korrekten Betriebs der Hardwareschicht verwendet.
Beispielsweise kann die Testanwendung den Tuner des Dekodierers
zum Testen steuern, dass der Dekodierer auf einer gegebenen Kanalfrequenz übertragene
Daten korrekt empfangen kann.
-
Die
geladene Anwendung kann interaktiv sein, sodass der Bediener beziehungsweise
Betreiber spezifische Parameter in den Dekodierer beispielsweise
mittels der Handfernsteuerung eingeben kann. Im Fall des Abstimmens
der Frequenz kann der Bediener die eingestellte Frequenz manuell
anpassen, bis der klarste Empfang erhalten wird. Sind diese Parameter
für einen
Dekodierer einmal bekannt, sind sie die gleichen für den Rest
der Serie. Daher ist es erwünscht,
dass diese und andere Parameterwerte gespeichert werden können, um
ein Wiederholen dieses Vorgangs für jeden Dekodierer zu vermeiden.
-
Sind
sie für
einen ersten Dekodierer vom Bediener einmal definiert, werden diese
Parameter in den EEPROM-Speicher 15 der Karte herunter
geladen. Beim Entfernen der Karte ändert der Bediener die Einstellung
der Schalter in der Schalteinheit 17 derart, dass beim
nächsten
Einfügen
der Karte in einen Dekodierer auf eine Anwendung an einer anderen
Adresse im Flash-Speicher zugegriffen wird. Wird die Karte dann
in den nächsten
Dekodierer in der Serie wieder eingefügt, wird diese neue Anwendung
in den Dekodierer geladen. Bei der Ausführung signalisiert die Anwendung
das Vorhandensein vorbestimmter Parameterwerte, die im EEPROM gespeichert
sind, und diese Werte werden automatisch in den Dekodierer geladen
und dort eingestellt. Im Fall des Tuners stellt die Anwendung beispielsweise
automatisch den Tuner auf die durch den Bediener für den ersten
Dekodierer ausgewählte
Frequenz ein, und der Bediener kann dann unmittelbar bestimmen,
ob der Tuner korrekt arbeitet oder nicht.
-
In
Anbetracht der relativen Schwierigkeit beim Schreiben von Daten
in eine Flash-Einheit (verglichen mit einem EEPROM) wird bevorzugt,
dass der Flash-Speicher für
Anwendungen verwendet wird, die bei der Anwendung nicht modifiziert
werden, und der EEPROM-Speicher für in die Karte herunter geladene
Daten verwendet wird, was aber nicht wesentlich ist.
-
Zur
Erhöhung
der Sicherheit des Systems kann der Flash-Speicher ferner in eine Nur-Lese-Konfiguration
durch den Mikroprozessor bei der anfänglichen Verbindung der Karte
und/oder beim Empfang einer unbekannten Anweisung verriegelt werden.
Andere Speicherkombinationen und Konfigurationen unter Verwendung
von ROM-Einrichtungen usw. sind natürlich möglich.
-
Obwohl
das vorstehende Ausführungsbeispiel
bezüglich
einer Superchipkartenrealisierung beschrieben wurde, können andere
tragbare Speicherkarten, wie PCMCIA-Karten verwendet werden, wenn
der Dekodierer derartige Karten lesen kann.