-
HINTERGRUND
DER ERFINDUNG
-
1. Sachgebiet
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Endgerät-Vorrichtung
in einem Dienstsystem, unter Verwendung eines Kabel- oder drahtlosen Kommunikations-Mediums,
auf ein Verfahren zum Herunterladen eines Ladeprogramms in der Endgerät-Vorrichtung
und auf ein Speichermedium, das das Ladeeinrichtungs-Programm speichert.
-
2. Beschreibung des Stands
der Technik
-
In
den vergangenen Jahren ist dem Sendedienst-Geschäft, das Kabel- oder drahtlose
Kommunikations-Medien verwendet, viel Aufmerksamkeit in der Industrie
geschenkt worden. Insbesondere haben digitale Satellitensende- und
digitale CATV (Communitiy Antenna Television System) große Aufmerksamkeit
im Hinblick auf deren großes
Entwicklungspotenzial erhalten.
-
Andererseits
besteht dabei eine Schwierigkeit bei der Wartung von Endgerät-Vorrichtungen. Die
Endgerät-Vorrichtungen,
auf die hier Bezug genommen wird, sind hoch intelligente Endgeräte, die verschiedene
Typen von Software-Modulen enthalten, so dass die Wartung der Endgerät-Vorrichtungen eine
Bug-Fixierung bzw. ein Bug-Einrichten und Spezifikations-Änderungen
für diese
Software-Module umfasst.
-
Gewöhnlich werden
Bug-Einrichtungs-(Bug-Fixier-) und Spezifikations-Änderungen durch
eine Aufrüstung
der Software-Module ausgeführt.
Allerdings ist es, da mehr und mehr Haushalte solche Endgerät-Vorrichtungen
verwenden, zunehmend schwierig für
eine Sendestation, die Software-Module aufzurüsten.
-
Um
Software-Module in jeder Endgerät-Vorrichtung
gleichförmig
aufzurüsten,
ist es für
eine Host-Station notwendig, die neue Version der Software-Module
zu jeder Endgerät-Vorrichtung über ein Kommunikations-Medium
zu senden. Wenn eine Endgerät-Vorrichtung eine
Vorrichtung vom Personal-Computer-Typ mit einer Festplatten-Vorrichtung und einem
Dateisystem zum Zugreifen auf Bereiche auf der Festplatten- Vorrichtung in Einheiten
von Datei-Verzeichnissen und Dateien ist, kann das Aufwerten (Upgrade)
der Software durch eine Installation erreicht werden. Genauer gesagt
sendet die Host-Station zuerst ein Installationseinrichtungs-Software-Modul
und die neue Version von Software-Modulen zu jeder Endgerät-Vorrichtung.
In jeder Endgerät-Vorrichtung
erzeugt das Installationseinrichtungs-Software-Modul ein neues Datei-Verzeichnis auf
der Festplatte und speichert die neue Version (die neue Version
kann anstelle davon in einem Datei-Verzeichnis gespeichert werden,
das die alte Version speichert).
-
Allerdings
sind Standard-Endgerät-Vorrichtungen,
verwendet für
Sendedienste, um weit verbreitet unter niedrigen Kosten verteilt
zu werden, allgemein aus einem System vom Typ eines Mikro-Computers
aufgebaut, der weder eine Festplatten-Vorrichtung noch ein Dateisystem
besitzt. In dem System vom Typ eines Mikro-Computers werden Software-Module
direkt in einem Speicher, wie beispielsweise einem EEPROM (Electrically
Erasable and Programmable ROM, der zum elektrischen Löschen und Überschreiben
von Speicherinhalten geeignet ist), gespeichert. Dementsprechend
ist es nicht möglich,
auf ein Software-Modul in Einheiten von Datei-Verzeichnissen und
Dateien zuzugreifen, wenn das Software-Modul aufgewertet wird.
-
In
diesen Endgerät-Vorrichtungen
werden die Software-Module, gespeichert in dem EEPROM, oder dergleichen,
durch ein entferntes Herunterladen aufgewertet.
-
Allgemein
ist ein Herunterladen (Download) ein Vorgang eines Schreibens von
Daten, gespeichert in einem sekundären Speicher, in einen primären Speicher
hinein. Bei einem entfernten Herunterladen bzw. Download ist der
primäre
Speicher ein Speicher in jeder Endgerät-Vorrichtung und der sekundäre Speicher
ist eine Festplatten-Vorrichtung in der Host-Station.
-
In
dem Fern-Download-Prozess sendet die Host-Station Daten in dem sekundären Speicher
zu jeder Endgerät-Vorrichtung.
Jede Endgerät-Vorrichtung
analysiert die empfangenen Daten und führt eine Fehlererfassung und
eine andere Verarbeitung durch, bevor sie in einen freien Bereich
des primären Speichers
hineingeschrieben werden (hier ist der freie Bereich ein Bereich,
der nicht durch andere Software-Module belegt ist).
-
Der
vorstehende Prozess in der Endgerät-Vorrichtung wird durch einen
Prozessor, der ein Ladeeinrichtungs-Programm ausführt, das
in dem EEPROM der Endgerät-Vorrichtung gespeichert
ist, durchgeführt.
-
Hierbei
ist es nicht für
die Endgerät-Vorrichtung
sicher, die neue Version des Software-Moduls, empfangen von der
Host-Station, direkt über
die alte Version zu schreiben. Falls die Versorgung zu der Endgerät-Vorrichtung
während
des Überschreibens unterbrochen
wird, werden sowohl die neue als auch die alte Version in dem primären Speicher
unvollständig
und nicht betriebsfähig
sein. Demzufolge ist es notwendig, eine Sicherungs- bzw. Backup-Kopie
der alten Version in dem Fall einer Unterbrechung der Stromversorgung
während
des Überschreibens
zu sichern.
-
Um
die alte Version eines Software-Moduls zu sichern, ist es notwendig,
alle Software-Module, gespeichert in dem primären Speicher der Endgerät-Vorrichtung,
aus dem folgenden Grund zu kopieren. Wenn ein neues Software-Modul
eine Speichergröße größer als
seine alte Version besitzt, wird sie nicht nur in einen Bereich
hineingeschrieben werden, der durch seine alte Version belegt ist,
sondern auch in einen Bereich, der durch andere Software-Module belegt
ist. Es wird angenommen, dass Software-Module 1-5, die in Folge,
beginnend von der ersten Adresse des primären Speichers, geschrieben
worden sind, aufgewertet werden sollen. Wenn die neue Version eines
Software-Moduls 1 eine Speichergröße größer als deren alte Version
besitzt, wird sie nicht nur über
deren alte Version geschrieben werden, sondern auch über die
Software-Module 2 und 3. Als eine Folge werden die Software-Module
2 und 3 von dem primären
Speicher gelöscht
werden. Wenn die Stromversorgung der Endgerät-Vorrichtung an dieser Stufe
unterbrochen wird, kann es nicht möglich sein, die Endgerät-Vorrichtung
wieder zu starten.
-
Um
Fehlfunktionen, verursacht durch Unterbrechungen zu der Stromversorgung
während
des entfernten Herunterladens, zu vermeiden, werden die folgenden
zwei Design-Beschränkungen
einer Endgerät-Vorrichtung
vom herkömmlichen
Typ eines Mikrocomputersystems auferlegt.
-
Die
erste Design-Beschränkung
ist diejenige, dass eine Endgerät-Vorrichtung
mit zwei Speicherchips versehen sein sollte, wobei jeder davon eine
Kapazität
gleich zu der Gesamtgröße der Software-Module,
gespeichert in der Endgerät-Vorrichtung,
einen Speicherchip für
ein Backup der alten Software-Module und der andere Speicherchip
zum Beschreiben neuer Software-Module, hat. Indem dies so vorgenommen
wird, kann, gerade dann, wenn die Stromversorgung während des
Beschreibens der neuen Software-Module unterbrochen wird, die Endgerät-Vorrichtung
erneut unter Verwendung der Backup-Kopie der alten Software-Module
wieder gestartet werden.
-
Die
zweite Design-Beschränkung
ist diejenige, dass das Ladeeinrichtungs-Programm für ein Herunterladen nicht aufgewertet
werden soll.
-
1 stellt
ein Beispiel einer herkömmlichen Endgerät-Vorrichtung
dar, die gemäß den vorstehenden
Einschränkungen
aufgebaut ist. In der Figur umfasst die Endgerät-Vorrichtung einen Haupt-EEPROM 81 als
einen primären
Speicher, der Software-Module speichert, die Programme und Daten
enthalten, einen Upgrade-EEPROM 82, einen ROM 83, der
ein Ladeeinrichtungs-Programm speichert, und eine Programm-Ausführungseinheit 84 zum
Ausführen
des Ladeeinrichtungs-Programms.
-
Wenn
die Endgerät-Vorrichtung
gestartet wird, führt
die Programm-Ausführungseinheit 84 die Programme,
gespeichert in dem Haupt-EEPROM 81, entsprechend einem
Boot-Programm, gespeichert in einem Boot-ROM, aus. Beim Empfangen
neuer Software-Module von der Host-Station während der Programmausführung speichert
die Programm-Ausführungseinheit 84 aufeinander
folgend diese in den Upgrade-EEPROM 82.
-
Beim
Abschluss des Upgrade schaltet die Programm-Ausführungseinheit 84 um,
um die neuen Programme, gespeichert in dem Upgrade-EEPROM 82,
zu starten. Wenn andererseits ein Aufwerten bzw. Upgrade fehlschlägt, startet
die Programm-Ausführungseinheit 84 die
Programme, die in dem Haupt-EEPROM 81 gespeichert sind,
erneut und versucht erneut das Upgrade.
-
Um
Sicherungskopien aller Software-Module zu sichern, muss jede Endgerät-Vorrichtung mit EEPROMs
ausgestattet sein, die zweimal so groß wie die gesamte Größe der Software-Module
sind. Obwohl dies notwendig ist, um sicherzustellen, dass die Endgerät-Vorrichtungen
immer gestartet werden können,
bewirkt dies auch Erhöhungen
in dem Hardware-Umfang und den Produktionskosten jeder Endgerät-Vorrichtung.
Die gesamte Software-Größe, umfasst
in einer herkömmlichen
Endgerät-Vorrichtung, muss
begrenzt werden, um Produktionskosten niedrig zu halten, was bedeutet,
dass die fortschrittliche Software-Funktionsweise beeinträchtigt wird.
-
Auch
ist ein umfangreicher Vorgang zum Austauschen eines ROM für jede herkömmliche
Endgerät-Vorrichtung
notwendig, wenn ein Bug-Fixieren und Spezifikations-Änderungen in Bezug auf das
Ladeeinrichtungs-Programm vorgenommen werden müssen. In einem solchen Fall
muss die Sendegesellschaft ihr Dienstpersonal zu jedem Kun den schicken,
um den ROM, ohne Bezahlung, auszutauschen. Die Arbeitskosten, die
sich aus einem solchen Dienst ergeben, legen einer Firma eine große Belastung
auf.
-
Das
Dokument US5,343,437 offenbart ein Verfahren zum Simulieren eines
nicht flüchtigen Speichers,
der sich durch die kurzen Zugriffszeiten der Chips für den flüchtigen
Speicher auszeichnet. Das Dokument US5,029,078 offenbart eine Programm-Ladeeinrichtung für einen
umordenbaren, ausführbaren
Programm-Code in einer ähnlichen
Art und Weise zu einer Code-Umordnung von EXE-Dateien unter MSDOS.
Das Dokument US5,432,927 offenbart ein Verfahren zum Aktualisieren
von auf einem EEPROM basierenden Boot-Systemen, wie, zum Beispiel,
eines Personal-Computers, in einer fehlersicheren Art und Weise
unter Verwendung eines zusätzlichen
EEPROM als Backup.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es
ist eine Aufgabe der vorliegenden Erfindung, eine Endgerät-Vorrichtung
zu schaffen, die eine fortschrittliche Software ohne Erhöhen der
Produktionskosten ausführen
kann.
-
Es
ist eine andere Aufgabe der vorliegenden Erfindung, eine Endgerät-Vorrichtung
zu schaffen, in der es möglich
ist, das Ladeeinrichtungs-Programm aufzuwerten.
-
Die
vorstehende Aufgabe kann durch eine Endgerät-Vorrichtung gelöst werden,
die umfasst:
ein erstes Aufzeichnungsmedium, das n Bereiche besitzt,
denen jeweils eine eindeutige Bankadresse gegeben ist, wobei n eine
ganze Zahl ist, die nicht kleiner als 2 ist,
wobei jeder Bereich
aus einem belegten Bereich, der mindestens eine Code-Einrichtung speichert,
und einem freien Bereich, der dann verwendet wird, wenn sich eine
Datengröße der Code-Einrichtung
als eine Folge einer Heraufstufung der Code-Einrichtung erhöht, zusammengesetzt ist;
ein
zweites Aufzeichnungsmedium, das dieselbe Speichergröße wie jeder
Bereich besitzt;
eine Empfangseinrichtung, die so angepasst
ist, um Sendedaten von einer Host-Station zu empfangen,
wobei die
Sendedaten einen Inhalt-Teil und einen Header-Teil umfassen,
wobei
der Inhalt-Teil mindestens eine neue Code-Einrichtung entsprechend
zu mindestens einer Code-Einrichtung, gespeichert in irgendeinem
der n Bereiche, umfasst, und der Header-Teil eine Ziel-Bank-Adresse
umfasst, die einen Bereich spezifiziert, in den die neue Code-Einrichtung
gespeichert werden soll,
wobei jede neue Code-Einrichtung für die Endgerät-Vorrichtung
neu ist, das bedeutet jede neue Code-Einrichtung besitzt Versionen-Informationen,
die eine Version einer neueren Code-Einrichtung darstellen als diejenige
einer entsprechenden Code-Einrichtung,
die in irgendeinem der n Bereiche gespeichert ist;
eine Separations-Einrichtung,
angepasst zum Separieren des Header-Teils von den Sende-Daten und zum
Speichern des Inhalt-Teils, der die neue Code-Einrichtung umfasst,
in das zweite Aufzeichnungsmedium;
eine Erfassungseinrichtung,
angepasst zum Erfassen der Ziel-Bank-Adresse von dem Header-Teil;
und
eine Schreibeinrichtung, die zum Schreiben der neuen Code-Einrichtung,
gespeichert in dem zweiten Aufzeichnungsmedium, in den Bereich,
spezifiziert durch die erfasste Ziel-Bank-Adresse, angepasst ist.
-
Mit
dem angegebenen Aufbau wird der Speicher in eine Vielzahl von Bereichen
unterteilt, um eine Software zu speichern, die jeweils, ein Bereich zu
einem Zeitpunkt, aufgewertet wird. Indem dies so vorgenommen wird,
wird ein Speicher mit derselben Größe wie ein Bereich nur als
der temporäre
Speicher, verwendet dann, wenn eine Aufwertung bzw. ein Upgrade
durchgeführt
wird, benötigt.
Die Endgerät-Vorrichtung
benötigt
nur einen Speicher, der „1+1/n" Mal so groß wie die
gesamte Software ist, wenn dort n Bereiche vorhanden sind, während eine herkömmliche
Endgerät-Vorrichtung
ein Speicher sein muss, der zweimal so groß wie die gesamte Software
ist.
-
Es
ist möglich,
den Umfang einer Hardware zu verringern, die Fehlern, die während Software-Aufwertungen
auftreten, standhalten. Als eine Folge kann eine fortschrittliche
Software in der Endgerät-Vorrichtung
ohne Erhöhen
der Produktionskosten installiert werden.
-
Auch
ist es möglich,
sicher Software-Module in einer kurzen Zeitperiode durch Schreiben
der neuen Software-Module in einen geeigneten Bereich, ohne eine
Gefahr eines Überschreibens
von Software-Modulen in anderen Bereichen, aufzuwerten.
-
Hierbei
speichern, unter den n Bereichen, ein erster Bereich und ein zweiter
Bereich jeweils ein Master-Computerprogramm, das Code-Einrichtungen
besitzt, die so an gepasst sind, um Code-Einrichtungen zu laden,
und ein Backup-Computerprogramm, das eine Code-Einrichtung aufweist,
die so angepasst ist, um eine Code-Einrichtung zu laden,
wobei
die Schreibeinrichtung umfasst:
eine erste Schreibsteuereinrichtung,
angepasst zum Schreiben, wenn die erfasste Ziel-Bank-Adresse einen
Bereich, einen anderen als den ersten Bereich, spezifiziert, der
neuen Code-Einrichtungen, gespeichert in dem zweiten Aufzeichnungsmedium,
in den Bereich, einen anderen als den ersten Bereich, entsprechend
dem Master-Computerprogramm
in dem ersten Bereich; und
eine zweite Schreibsteuereinrichtung,
angepasst zum Schreiben, wenn die erfasste Ziel-Bank-Adresse den
ersten Bereich spezifiziert, der neuen Code-Einrichtung, gespeichert
in dem zweiten Aufzeichnungsmedium, in den ersten Bereich, entsprechend
zu dem Backup-Computerprogramm in dem zweiten Bereich.
-
Mit
dem angegebenen Aufbau werden zwei Ladeeinrichtungs-Programme in
unterschiedlichen Bereichen gespeichert, so dass ein Ladeeinrichtungs-Programm
durch Schreiben des neuen Ladeeinrichtungs-Programms über ein
Ladeeinrichtungs-Programm aufgewertet werden kann, während das
andere Ladeeinrichtungs-Programm ausgeführt wird. Bug-Fixierung und
Spezifikations-Änderungen für das Ladeeinrichtungs-Programm
können
einfach durch Aufwerten des Ladeeinrichtungs-Programms in der vorstehenden
Art und Weise, ohne Austauschen von ROMs, das große Arbeitskosten
für die Sendegesellschaft
mit sich bringt, durchgeführt
werden.
-
Hierbei
speichert ein erster Bereich, unter den n Bereichen, ein Master-Computerprogramm, das
eine Code-Einrichtung aufweist, die dazu angepasst ist, die Code-Einrichtungen
zu laden,
wobei die Schreibeinrichtung umfasst:
eine erste
Schreibsteuereinrichtung, angepasst zum Schreiben, wenn die erfasste
Ziel-Bank-Adresse einen Bereich, einen anderen als den ersten Bereich, spezifiziert,
der neuen Code-Einrichtung, gespeichert in dem zweiten Aufzeichnungsmedium,
in den Bereich, einen anderen als den ersten Bereich, entsprechend
zu dem Master-Computerprogramm
in dem ersten Bereich;
eine zweite Schreibsteuereinrichtung,
angepasst zum Schreiben, wenn die erfasste Ziel-Bank-Adresse den
ersten Bereich spezifiziert, der neuen Code-Einrichtung, gespeichert
in dem zweiten Aufzeichnungsmedium, in einen zweiten Bereich, der
gegenüber dem
ersten Bereich unterschiedlich ist, entsprechend dem Master-Computerprogramm
in dem ersten Bereich;
eine Überwachungseinrichtung, angepasst
zum Überwachen,
nachdem die neuen Code-Einrichtungen in den zweiten Bereich gespeichert
sind, ob das zweite Aufzeichnungsmedium mindestens eine neue Code-Einrichtung
entsprechend zu mindestens einer Code-Einrichtung speichert, die
zuvor in dem zweiten Bereich gespeichert wurde; und
eine dritte
Schreibsteuereinrichtung, angepasst zum Schreiben, wenn das zweite
Aufzeichnungsmedium die neue Code-Einrichtung, entsprechend zu der
Code-Einrichtung,
die zuvor in dem zweiten Bereich gespeichert wurde, speichert, der
neuen Code-Einrichtung, gespeichert in dem zweiten Aufzeichnungsmedium,
in den ersten Bereich, entsprechend zu einem neuen Master-Computerprogramm,
umfasst in der neuen Code-Einrichtung, geschrieben in dem zweiten
Bereich.
-
Mit
dem angegebenen Aufbau kann das Ladeeinrichtungs-Programm ohne Verwendung
des Backup-Ladeeinrichtungs-Programms durch Schreiben der neuen
Software-Module
für den
ersten Bereich in einen anderen Bereich aufgewertet werden. Unter
Verwendung nur des Master-Ladeeinrichtungs-Programms können mehr
Software-Module anstelle des Backup-Ladeeinrichtungs-Programms gespeichert
werden.
-
Hierbei
umfasst der Inhalt-Teil eine Vielzahl von neuen Code-Einrichtungen,
und der Header-Teil umfasst eine Vielzahl von Ziel-Bank-Adressen,
die jeweils einen Bereich spezifizieren, in den hinein jede neue
Code-Einrichtung in den Inhalt-Teil gespeichert werden soll,
wobei
die Endgerät-Vorrichtung
weiterhin ein drittes Aufzeichnungsmedium aufweist, das dieselbe
Speichergröße wie jeder
Bereich besitzt,
wobei die Schreibeinrichtung umfasst:
eine
Aufsucheinrichtung, die zum Suchen einer der Vielzahl der neuen
Code-Einrichtungen
in dem Inhalt-Teil von dem zweiten Aufzeichnungsmedium angepasst
ist;
eine erste Schreibsteuereinrichtung, die zum Schreiben
aller Code-Einrichtungen, gespeichert in einem Bereich, spezifiziert
durch eine erfasste Ziel-Bank-Adresse für die aufgesuchte neue Code-Einrichtung
in das dritte Aufzeichnungsmedium, angepasst ist;
eine Ersetzungs-Einrichtung,
die zum Ersetzen einer Code-Einrichtung, von den Code-Einrichtungen,
gespeichert in dem dritten Aufzeichnungsmedium, das der aufge suchten
neuen Code-Einrichtung entspricht, gegen die aufgesuchte neue Code-Einrichtung, angepasst
ist;
eine zweite Schreibsteuereinrichtung, die zum Schreiben
der Code-Einrichtung nach einem Ersetzen durch die Ersetzungs-Einrichtung
von dem dritten Aufzeichnungsmedium in den Bereich, spezifiziert
durch die erfasste Ziel-Bank-Adresse, angepasst ist; und
eine
Aufsuchsteuereinrichtung, die dazu angepasst ist, die Aufsucheinrichtung,
eine andere neue Code-Einrichtung, aus der Vielzahl der neuen Code-Einrichtungen,
von dem zweiten Aufzeichnungsmedium nach einem Schreiben durch die
zweite Schreibsteuereinrichtung aufsuchen zu lassen.
-
Mit
dem angegebenen Aufbau empfängt
die Endgerät-Vorrichtung
die neue Version von Software-Modulen, um aufgewertet zu werden,
von der Host-Station, und ersetzt jedes Software-Modul. Als eine
Folge kann die Upgrade-Verarbeitung schneller abgeschlossen werden
als die Upgrade-Verarbeitung, die durch Ersetzen von Software-Modulen
in Bereichseinheiten durchgeführt
wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Diese
und andere Aufgaben, Vorteile und Merkmale der Erfindung werden
aus der nachfolgenden Beschreibung davon ersichtlich werden, die
in Verbindung mit den beigefügten
Zeichnungen vorgenommen wird, die eine spezifische Ausführungsform der
Erfindung darstellen. In den Zeichnungen:
-
1 stellt
den Aufbau einer herkömmlichen Endgerät-Vorrichtung
dar;
-
2 stellt
den Aufbau der Endgerät-Vorrichtung 10 in
dem Fern-Download-System der ersten und der zweiten Ausführungsform
dar;
-
3A stellt
den Aufbau von elementaren Datenfolgen, decodiert durch den TS-Decodierer 2, dar;
-
3B stellt
den Aufbau eines Programm-Headers dar;
-
4A stellt
den Aufbau eines Software-Moduls dar;
-
4B stellt
den Aufbau eines Modul-Headers dar;
-
5A und 5B stellen
dar, welche Software-Module in jeder Bank gespeichert sind;
-
6 stellt
den Aufbau einer Privat-Datenfolge der dritten Ausführungsform
dar;
-
7 stellt
den Aufbau der Endgerät-Vorrichtung 10 der
dritten Ausführungsform
dar;
-
8 zeigt
ein Flussdiagramm, das die Kernel-Verarbeitung der ersten Ausführungsform
darstellt;
-
9 zeigt
ein Flussdiagramm, das die Verarbeitung des Ladeeinrichtungs-Programms der ersten
Ausführungsform
darstellt;
-
10 zeigt
ein Flussdiagramm, das die Verarbeitung des Ladeeinrichtungs-Pragramms der zweiten
Ausführungsform
darstellt;
-
11 zeigt
ein Flussdiagramm, das die Verarbeitung des Ladeeinrichtungs-Programms der dritten
Ausführungsform
darstellt;
-
12A und 12B stellen
dar, wie Bank-Daten für
eine Bank n in einen ROM gemäß einem
Ladeeinrichtungs-Programm der ersten Ausführungsform gespeichert werden;
-
13A-13C stellen dar, wie Bank-Daten
für Bank
1 in den ROM gemäß dem Ladeeinrichtungs-Programm
der ersten Ausführungsform
gespeichert werden;
-
14A-14D stellen dar, wie Bank-Daten
für Bank
1 in den ROM gemäß einem
Ladeeinrichtungs-Programm der zweiten Ausführungsform gespeichert werden;
-
15A-15D stellen dar, wie jedes Software-Modul
für eine
jeweilige Bank in den ROM gemäß einem
Ladeeinrichtungs-Programm der dritten Ausführungsform gespeichert wird;
-
16A-16C stellen dar, wie jedes Software-Modul
für eine
jeweilige Bank in den ROM gemäß dem Ladeeinrichtungs-Programm
der dritten Ausführungsform
gespeichert wird;
-
17 stellt
den Aufbau der Endgerät-Vorrichtung 10 der
vierten Ausführungsform
dar; und
-
18 stellt
den Aufbau der Endgerät-Vorrichtung 10 der
fünften
Ausführungsform
dar.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Erste Ausführungsform
-
Das
Nachfolgende ist eine Erläuterung
einer Endgerät-Vorrichtung
der vorliegenden Erfindung unter Bezugnahme auf die Figuren.
-
Hierbei
ist eine Endgerät-Vorrichtung 10 in jedem
Haushalt vorgesehen, der ein Subscriber bzw. Teilnehmer eines Sendedienstes
A ist. Der Sendedienst A sendet eine Vielfalt von TV-Programmen, wie
beispielsweise Filmen, Theaterstücken,
Sport und Bildungsprogrammen, über
Satellit. Dieser Sendedienst A kann mehr Kanäle und eine höhe re Bildqualität als Sendedienste
vorsehen, die Bodenwellen verwenden. Die Endgerät-Vorrichtung 10 ist mit verschiedenen
intelligenten Funktionen, zusätzlich
zu einem Tuner und einem Decodierer, zum Anzeigen der Programme
auf einem TV-Empfänger,
ausgestattet. Die intelligenten Funktionen umfassen eine Anzeige
von wöchentlichen
und monatlichen, elektrischen Programm-Führungen (Electric Program Guides-EPG),
Anzeige von Schlagzeilen-Nachrichten, Rechnung, On-line-Quizze,
TV-Shopping, Spiele, Karaoke, mit dem Schwerpunkt einer Benutzer-Interaktion.
-
2 stellt
den Aufbau der Endgerät-Vorrichtung 10 dar.
In der Figur umfasst die Endgerät-Vorrichtung 10 einen
CS-Tuner 1, einen TS-Decodierer 2, einen AV-Decodierer 3,
einen Download-RAM 4, eine Software-Modul-Gruppen-Speichereinheit 5,
einen Prozessor 6 und einen Boot-ROM 7. Die Vorrichtung
ist mit einem TV-Empfänger
und einem Videodeck in jedem Haushalt verbunden.
-
Wenn
eine CS-Antenne eine π/4QPSK (Quadrature
Phase Shift Keying) modulierte Sendewelle empfängt, demoduliert der CS-Tuner 1 diese und
gibt das sich ergebende Transport-Paket, das mit einem MPEG 2 (Moving
Picture Expert Group 2) Standard übereinstimmt, zu dem TS-Decodierer 2 aus.
-
Der
TS-Decodierer 2 separiert das Transport-Datenpaket in vier
elementare Datenfolgen, die eine Video-Datenfolge, eine Audio-Datenfolge,
eine PCR-(Program Clock Referenc)-Datenfolge und eine Privat-Datenfolge
sind. Die Video-Datenfolge, die Audio-Datenfolge und die PCR-Datenfolge, die
ein TV-Programm zusammensetzen, werden zu dem AV-Decodierer 3 ausgegeben,
während
die Privat-Datenfolge, die für
die Wartung der intelligenten Funktionen verwendet wird, in den
Download-RAM 4 gespeichert wird.
-
3A stellt
den Aufbau von 4 elementaren Datenfolgen dar. Die Video-Datenfolge
ist aus einer PID (Packet Identification), Video-Daten und einem CRC
(Cyclic Redundancy Check Code) zusammengesetzt. Die Audio-Datenfolge
ist aus einer PID, Audio-Daten und einer CRC zusammgesetzt. Die PCR-Folge
ist aus einer PID, PCR-Daten und einem CRC zusammengesetzt. Die
Privat-Datenfolge ist aus einer PID, einem Programm-Header (Programm-Header
in 3A), Bank-Daten und einem CRC zusammengesetzt.
Jede PID wird durch den TS-Decodierer 2 zum Beurteilen
verwendet, ob die elementare Datenfolge zu dem AV-Decodierer 3 oder dem
Download-RAM 4 ausgegeben werden soll.
-
Die
Bank-Daten sind eine Software-Modul-Gruppe, die von der Sendestation
aus übertragen werden
und die in derselben Bank gespeichert werden sollen. In der vorliegen den
Ausführungsform
ist eine Bank ein unterteilter Bereich in dem Speicher der Endgerät-Vorrichtung.
-
Ein
Beispiel des Programm-Headers, umfasst in der privaten Datenfolge,
ist in 3B dargestellt. in der Figur
stellt „Programm-Name" einen Bank-Daten-Namen
dar, „Daten-Größe" stellt eine Bank-Daten-Größe dar, „Bank-Nummer" stellt eine Bank-Adresse
dar, in der die Bank-Daten gespeichert werden sollen, und „Version-Informationen" stellen ein Produktionsdatum
oder ein am kürzesten
vorher liegendes Erneuerungsdatum der Bank-Daten dar.
-
Der
AV-Decodierer 3 decodiert die Video- und Audio-Datenfolge
in Bildsignale unter Verwendung der PCR-Datenfolge und gibt die
Bildsignale zu dem TV-Empfänger
aus.
-
Der
Download-RAM 4 ist ein SIMM (Single In-Line Memory Module)
Typ eines RAM (Dynamic RAM) oder ein EEPROM zum Speichern der privaten Datenfolge, übertragen
von dem TS-Decodierer 2.
-
Die
Software-Modul-Gruppen-Speichereinheit 5 ist aus n Banken,
die eine Mehrzahl von Software-Modulen speichern (in 2 sind
die n Banken vier Banken 1-4), zusammengesetzt. Jede Bank ist ein
EEPROM-Chip (nachfolgend EEPROMs 51-54) und besitzt
eine Speicher-Kapazität
ungefähr
dieselbe wie der Download-RAM 4. Software-Module, gespeichert
in der Software-Modul-Gruppen-Speichereinheit 5, sind eine
Mehrzahl von Typen von Software-Modulen, umfassend Daten und Programme,
die gleichförmig
modularisiert worden sind.
-
Die
EEPROMs 51-54 sind mit einem zweiten Bus 9 verbunden.
Eine logische Adresse ist zu jedem internen Speicherbereich in jedem
EEPROM so zugeordnet, dass der Prozessor 6 direkt auf die
internen Speicherbereiche zugreifen kann. Jede logische Adresse
wird als eine Kombination einer Bank-Adresse, die jeder Bank zugeordnet
ist, und einer Offset-Adresse, die einen internen Speicherbereich
in jeder Bank spezifiziert, ausgedrückt.
-
5A stellt
ein Speicherbild der EEPROMs 51-54 dar. In der
Fig. entsprechen logische Adressen 000000 bis 0FFFFF einer Bank-Adresse
01, während logische
Adressen 10000 1FFFFF einer Bank-Adresse 02 entsprechen.
-
Bank
1 speichert Software-Module 1-10, während Bank 2 Software-Module
11-20 speichert. Die Software-Module werden darauf folgend von der Oberseite
jeder Bank so gespeichert, dass ein freier Bereich an der Unterseite
belassen wird. Dieser freie Bereich wird dann verwendet, wenn die
Software-Module in jeder Bank aufgewertet werden. Zum Beispiel besitzt,
wenn während
eines Upgrade der Software-Module 1-10 der Bank 1, die neue Version eine
größere Größe als die
alte Version besitzt, die neue Version in den Bereich, belegt durch
die alte Version der Software-Module 1-10, und den freien Bereich
hineingeschrieben, allerdings nicht in den Bereich, der durch die
Software-Module 11-20 in Bank 2 belegt ist.
-
Demzufolge
können
die Software-Module in jeder Bank ohne Überschreiben von Software-Modulen
in der nächsten
Bank unter Verwendung des freien Bereichs aufgewertet werden.
-
4A stellt
ein Beispiel eines Software-Modul-Formats dar.
-
Das
Software-Modul ist aus einem Modul-Header, einer Entity-Einheit
und einem CRC zusammengesetzt.
-
4B stellt
ein Beispiel des Modul-Headers dar. Der Modul-Header ist aus „Programm-Name", „Daten-Größe", „Bank-Nummer" und „Version-Informationen" zusammengesetzt. „Programm-Name" stellt einen Software-Modul-Namen dar, „Daten-Größe" stellt eine Software-Modul-Größe dar, „Bank-Nummer" stellt eine Bank-Adresse
dar, in der das Software-Modul gespeichert werden soll, und „Version-Informationen" stellen ein Produktionsdatum
oder ein am kürzesten
vorher liegendes Erneuerungsdatum des Software-Moduls dar. Es sollte angemerkt werden,
dass die Bank-Daten aus einer Vielzahl von Software-Modulen zusammengesetzt
sind, die in derselben Bank gespeichert werden sollen, wobei jedes
Software-Modul das Format, dargestellt in 4A, besitzt.
-
In
der vorliegenden Ausführungsform
muss jedes Software-Modul „umordenbar" sein, das bedeutet
das Software-Modul kann ungeachtet davon ausgeführt werden, ob es in der Software-Modul-Gruppen-Speichereinheit 5 gespeichert
ist. Dies kommt daher, dass es für
die Sendegesellschaft mehr erwünscht
ist, dass eine Stelle jedes Software-Moduls in der Software-Modul-Gruppen-Speichereinheit 5 änderbar
ist.
-
Jedes
Software-Modul ist entweder als eine Betriebssystem-Komponente oder
ein Anwendungs-Programm kategorisiert. Dies bedeutet, dass die Endgerät-Vorrichtung 10 einen
Software-Management-Aufbau ähnlich
zu einem Standard-Computer besitzt, in dem jedes Anwendungs-Programm basierend
auf dem Betriebssystem betrieben wird.
-
5B stellt
dar, welche Software-Module in Banken 1 und 2 der Software-Modul-Gruppen-Speichereinheit 5 gespeichert
sind. Wie in der Fig. dargestellt ist, speichert die Software-Modul-Gruppen-Speichereinheit 5 eine
Vielzahl von Software-Modulen, umfassend Font-Daten, Bitlisten-Daten und
grafische Daten. Haupt-Software-Module, die das Betriebssystem bilden,
sind ein Kernel 11, ein Ladeeinrichtungs-Programm 12 und
ein Ladeeinrichtungs-Programm 22.
-
Das
Kernel 11 ist ein Software-Modul zum Ausführen der
Grundverarbeitung für
die intelligenten Funktionen der Endgerät-Vorrichtung 10.
Diese Verarbeitung umfasst ein Prüfen jedes Software-Moduls, nachdem
die Endgerät-Vorrichtung
eingeschaltet ist, und Starten eines Ladeeinrichtungs-Programms.
-
Das
Ladeeinrichtungs-Programm 12 ist ein Master-Ladeeinrichtungs-Programm,
das in Bank 1 gespeichert ist. In der vorliegenden Ausführungsform wird
das Ladeeinrichtungs-Programm durch den Prozessor 6 zum
Starten der Anwendungs-Programme, gespeichert in der Software-Modul-Gruppen-Speichereinheit 5,
und zum Aufwerten der Software-Module durch ein Download verwendet.
-
Die
Haupt-Download-Verarbeitung des Ladeeinrichtungs-Programms 12 umfasst
eine Fehlererfassung und eine Defragmentierung.
-
Eine
Fehlererfassung ist ein Vorgang einer Erfassung von verstümmelten
Bank-Daten in der
privaten Datenfolge unter Verwendung des CRC, oder dergleichen.
Bank-Daten, die
dahingehend beurteilt sind, dass sie normal sind, als eine Folge
der Fehlererfassung, werden in einer Ziel-Bank (eine Bank, in der
die Bank-Daten gespeichert werden sollen) gespeichert. Andererseits
sucht, für
Bank-Daten, in denen ein Fehler erfasst ist, der Prozessor 6 die Bank-Daten
von der Sendestation entsprechend dem Master-Ladeeinrichtungs-Programm 12 auf.
Wenn die digitale Satelliten-Sendestation dieselbe, Privat-Datenfolge
in einem vorbestimmten Zyklus sendet, empfängt der Prozessor 6 die
Privat-Datenfolge und führt
die Fehlererfassung erneut durch.
-
Eine
Defragmentierung ist aus den folgenden zwei Prozessen zusammengesetzt.
Zuerst werden, wenn neue Software-Module, die größer als die entsprechenden
alten Software-Module sind, nicht innerhalb eines Bereichs, belegt
durch die alten Software-Module,
enthalten sein können,
andere Software-Module, die in dem Speicher umgeschrieben worden
sind, neu zugeordnet, um so einen freien Bereich zu erzeugen, der
zum Schreiben der neuen Software-Module ausreichend ist. Als zweites
werden, wenn ein freier Bereich nach Schreiben von neuen Software-Modulen,
die kleiner als die entsprechenden alten Software-Module sind, in
einen Bereich, der durch die alten Software-Module belegt ist, belassen
wird, andere Software-Module, die in den Speicher geschrieben worden
sind, so umgeordnet, um den freien Bereich zu beseitigen.
-
Die
vorstehenden Prozesse müssen
jedes Mal durchgeführt
werden, wenn die Endgerät-Vorrichtung 10 Bank-Daten
empfängt.
Dementsprechend erfordert die Download-Verarbeitung des Master-Ladeeinrichtungs-Programms 12 gewöhnlich eine wesentliche
Zeitdauer.
-
Das
Backup-Ladeeinrichtungs-Programm 22 ist in einer unterschiedlichen
Bank (Bank 2) gegenüber
dem Master-Ladeeinrichtungs-Programm 12 gespeichert und
besitzt dieselbe Download-Verarbeitung wie das Master-Ladeeinrichtungs-Programm 12.
-
Der
Prozessor 6 umfasst einen Programm-Zähler zum Spezifizieren einer
Lese-Adresse in
der Software-Modul-Gruppen-Speichereinheit 5, eine Leseschaltung
zum Lesen einer Maschinenanweisung eines Software-Moduls, das an
der Lese-Adresse angeordnet ist, einen Decodierer zum Decodieren
der gelesenen Anweisung und eine arithmetische Einheit zum Durchführen einer
arithmetischen Operation entsprechend der decodierten Anweisung.
Der Prozessor 6 greift auf den Download-RAM 4 und
auf den Boot-ROM 7 zu,
die mit einem ersten Bus 16 verbunden sind, und führt die
Anwendungs-Programme
in der Software-Modul-Gruppen-Speichereinheit 5 aus.
-
Der
Boot-ROM 7 speichert ein Boot-Programm, das durch den Prozessor 6 verwendet
wird, um einen Bootstrap durchzuführen, wenn die Endgerät-Vorrichtung 10 eingeschaltet
wird.
-
Eine
MMU (Memory-Management-Unit) 8 ordnet jede tatsächliche
Adresse in den EEPROMs 51-54 zu einer jeweiligen,
logischen Adresse zu. Wenn der Prozessor 6 eine Lese-Adresse
zu dem ersten Bus 19 ausgibt, interpretiert die MMU 8 die
Lese-Adresse als eine logische Adresse und gibt eine tatsächliche
Adresse entsprechend zu der logischen Adresse zu dem zweiten Bus 9 aus.
Die MMU 8 ist zwischen dem ersten Bus 19 und dem
der Software-Modul-Gruppen-Speichereinheit 5 so angeordnet, dass
den EEPROMs 51-54 ein
linearer Adressenraum gegeben ist, der durch den Prozessor 6 zugänglich ist.
-
Die 8 und 9 stellen
Flussdiagramme dar, die die Verarbeitung des Kernels 11,
nachdem die Endgerät-Vorrichtung 10 eingeschaltet
ist, und die Download-Verarbeitung des Ladeeinrichtungs-Programms
darstellen.
-
Wenn
die Endgerät-Vorrichtung 10 eingeschaltet
ist, demoduliert der CS-Tuner 1 eine π/4QPSK-modulierte, Digital-Satelliten-Sendewelle und
gibt das sich ergebende Transport-Paket, das mit dem MPEG2 Standard übereinstimmt,
zu dem TS-Decodierer 2 aus. Der TS-Decodierer 2 separiert das
empfangene Transport-Datenpaket in eine Video-Datenfolge, eine Audio-Datenfolge, eine PCR-Datenfolge
und eine Privat-Datenfolge. Der AV-Decodierer 3 decodiert
die Video- und Audio-Datenfolgen in Bildsignale unter Verwendung
der PCR-Datenfolge und gibt die Bildsignale zu dem TV-Empfänger aus.
Als eine Folge können
sich Benutzer einer Vielfalt von TV-Programmen, wie beispielsweise
Filmen, Theaterstücken,
Sport, Bildungsprogrammen, angezeigt auf dem TV-Empfänger, erfreuen.
-
Dabei
wird der Programm-Zähler
in dem Prozessor 6 an einer ersten Adresse des Boot-ROMs 7 eingestellt.
Der Prozessor führt
den Bootstrap entsprechend dem Boot-Programm, gespeichert in dem Boot-ROM 7,
durch. Der Programm-Zähler
in dem Prozessor 6 wird dann in einem ersten Schritt der Kernel-Verarbeitung,
dargestellt in 8, eingestellt.
-
Zuerst
prüft der
Prozessor 6 einen CRC jedes Software-Moduls, gespeichert
in Banken 1-4 (Schritt S1). Wenn ein Fehler erfasst ist, wird eine
geeignete Fehler-Handhabung,
wie beispielsweise ein erneuter Versuch eines Lesens von Software-Modulen, durchgeführt (Schritt
S2). Wenn kein Fehler erfasst wird, beurteilt der Prozessor 6,
ob dort eine Vielzahl von Ladeeinrichtungs-Programmen vorhanden ist
(Schritt S3). Falls dort nur ein Ladeeinrichtungs-Programm vorhanden
ist, startet der Prozessor 6 das Ladeeinrichtungs-Programm
(Schritt S5). Wenn, andererseits, dort zwei oder mehr Ladeeinrichtungs-Programme
vorhanden sind, wie beispielsweise die Ladeeinrichtungs-Programme 12 und 22, nimmt
der Prozessor 6 auf Version-Informationen jedes Ladeeinrichtungs-Programms
Bezug und startet das neueste Ladeeinrichtungs-Programm (Schritt S4).
-
Für das Beispiel
in 5A wird, wenn das Master-Ladeeinrichtungs-Programm 12 neuer
als das Backup-Ladeeinrichtungs-Programm 22 ist, der Programm-Zähler des
Prozessors 6 auf eine erste Adresse des Master-Ladeeinrichtungs-Programms 12 eingestellt
und der Prozessor 6 verzweigt von dem Kernel 11 zu
dem Master-Ladeeinrichtungs-Programm 12.
-
Der
Prozessor 6 startet eine Vielzahl von Anwendungs-Programmen
durch sequenzielles Ausführen
des Master-Ladeeinrichtungs-Programms 12. Dabei startet
der Prozessor 6 die Download-Verarbeitung, dargestellt
in 9.
-
Der
Prozessor 6 beurteilt, ob eine Privat-Datenfolge neu in
den Download-RAM 4 gespeichert worden ist (Schritt S11).
Schritt S11 wird wiederholt, bis eine Privat-Datenfolge in den Download-RAM 4 gespeichert
ist. Wenn Bank-Daten für
Bank n in den Download-RAM 4, wie dies in 12A dargestellt ist (ein kreuzweise schraffierter
Bereich in der Fig.), gespeichert sind, prüft der Prozessor 6 einen
CRC der Privat-Datenfolge (Schritt S12). Wenn ein Fehler erfasst
ist, kehrt die Verarbeitung zu Schritt S11 zurück. Falls kein Fehler erfasst
ist, beurteilt der Prozessor 6, ob neue Bank-Daten (nachfolgend
bedeutet der Ausdruck „neu" neu in Bezug auf
die Endgerät-Vorrichtung 10,
das bedeutet, dass die Download-Version am kürzesten vorher liegenden Version-Informationen
gegenüber
der Version in der Software-Modul-Gruppen-Speichereinheit 5 besitzt)
in der Privat-Datenfolge
umfasst sind, unter Bezugnahme auf Version-Informationen in dem
Programm-Header
der Privat-Datenfolge (Schritt S13).
-
Beim
Beurteilen, dass die neuen Bank-Daten umfasst sind, erfasst der
Prozessor 6 eine Ziel-Bank, in die die neuen Bank-Daten
gespeichert werden sollen, unter Bezugnahme auf eine Bank-Nummer
in dem Programm-Header der Privat-Datenfolge (Schritt S14). Beim
Erfassen der Ziel-Bank erkennt der Prozessor 6 eine Bank-Adresse,
in der das aktivierte Ladeeinrichtungs-Programm gespeichert ist (Schritt
S15). Der Prozessor 6 beurteilt dann, ob die Ziel-Bank
dieselbe wie die Bank ist, die das aktivierte Ladeeinrichtungs-Programm speichert
(Schritt S16).
-
Wenn
sie nicht dieselben sind, wie dies in 12A dargestellt
ist, wo das Master-Ladeeinrichtungs-Programm 12 in
Bank 1 gespeichert ist, während
die Ziel-Bank der neuen Bank-Daten Bank n ist, schreitet die Verarbeitung
zu Schritt S6 fort. Der Prozessor 6 unterteilt die neuen
Bank-Daten in eine Vielzahl von Software-Modulen (Schritt S6) auf
und schreibt sie in Bank n (Schritt S8) hinein.
-
Im
Schritt S8 werden neue Software-Module einfach in die Bank ohne
Durchführen
einer Fehlererfassung und einer Defragmentierung geschrieben, so dass
die Schreib-Verarbeitung
nur eine kurze Zeitperiode erfordert. Da dabei eine niedrige Wahrscheinlichkeit
vorhanden ist, dass die Stromversorgung während einer solchen kurzen
Periode unterbrochen wird, wird das Upgrade der Bank-Daten, gespeichert in
Bank n, erfolgreich abgeschlossen, wie dies in 12B dargestellt ist.
-
Nach
einem Aufwerten der Bank-Daten von Bank n wird eine andere Privat-Datenfolge, umfassend
Bank-Daten für
Bank 1, in den Download-RAM 4 hinein gespei chert, wie dies
in 13A dargestellt ist. Der Prozessor 6 prüft eine
CRC der Privat-Datenfolge
(Schritt S12), beurteilt, ob die Privat-Datenfolge die neuen Bank-Daten
umfasst (Schritt S13) und erfasst, dass eine Ziel-Bank der Bank-Daten
Bank 1 ist, unter Bezugnahme auf eine Bank-Nummer in dem Programm-Header
der Privat-Datenfolge (Schritt S14), vor einem Erfassen der Bank,
die das aktivierte Ladeeinrichtungs-Programm speichert (Schritt
S15).
-
Der
Prozessor 6 beurteilt, ob die Ziel-Bank dieselbe wie die
Bank ist, die das aktivierte Ladeeinrichtungs-Programm speichert
(Schritt S16). Hierbei sind sowohl die Ziel-Bank als auch die Bank, die das aktivierte
Ladeeinrichtungs-Programm speichert, Bank 1. Dementsprechend wählt der
Prozessor 6 „Ja" im Schritt S16 aus
und verzweigt zu dem Kernel 11, um die Version-Informationen
des Backup-Ladeeinrichtungs-Programms 22 zu ändern (Schritt
S17). Nach Ändern
eines Datums, dargestellt in Version-Informationen des Backup-Ladeeinrichtungs-Programms 22,
gespeichert in Bank 2, zu neueren Daten entsprechend dem
Kernel 11, kehrt der Prozessor 6 zu der Verarbeitung
des Ladeeinrichtungs-Programms zurück. Der Prozessor 6 ändert einen
CRC des Backup-Ladeeinrichtungs-Programms 22 in
Abhängigkeit
von den geänderten
Version-Informationen
(Schritt S18). Dann wird der Programm-Zähler des Prozessors 6 zurückgesetzt
(Schritt S19).
-
Als
eine Folge der vorstehenden Verarbeitung wird das Ladeeinrichtungs-Programm, das durch
den Prozessor 6 gestartet werden soll, zum nächsten Zeitpunkt
das Backup-Ladeeinrichtungs-Programm 22, gespeichert in
Bank 2, und nicht das Master-Ladeeinrichtungs-Programm 12.
Das bedeutet, dass dann, wenn die Endgerät-Vorrichtung 10 nach
einem Zurücksetzen
des Programm-Zählers des
Prozessors 6 gestartet wird, das Ladeeinrichtungs-Programm
mit den Informationen der neuesten Version in der Kernel-Verarbeitung, wie
sie in 13B dargestellt ist (siehe Schritt
S4 in 8), ausgewählt.
-
Das
Nachfolgende ist eine Erläuterung
der Verarbeitung, wenn der Prozessor 6 das Backup-Ladeeinrichtungs-Programm 22 ausführt. Der
Programm-Zähler
des Prozessors 6 wird auf die erste Adresse des Boot-ROM 7 zurückgesetzt.
Nach Durchführen
des Bootstraps gemäß dem Boot-Programm,
gespeichert in dem Boot-ROM 7, prüft der Prozessor 6 einen
CRC jedes Software-Moduls in Banken 1-4 (Schritt S1). Wenn kein
Fehler erfasst ist, beurteilt der Prozessor 6, ob dort
eine Vielzahl von Ladeeinrichtungs-Programmen vorhanden ist (Schritt S3),
und startet ein Ladeeinrichtungs-Programm mit den Informatio nen
der neuesten Version (Schritt S4). Hierbei besitzt, wenn die Version-Informationen
der Ladeeinrichtungs-Programme 12 und 22 verglichen werden,
das Backup-Ladeeinrichtungs-Programm 22 die
Informationen der neueren Version als ein Ergebnis der Änderung,
so dass der Programm-Zähler
des Prozessors 6 auf eine erste Adresse des Backup-Ladeeinrichtungs-Programms 22 gesetzt
wird. Der Prozessor 6 schaltet dann die Verarbeitung von
dem Kernel 11 zu dem Backup-Ladeeinrichtungs-Programm 22 um.
-
Der
Prozessor 6 startet eine Vielzahl von Anwendungs-Programmen
durch sequenzielles Ausführen
des Backup-Ladeeinrichtungs-Programms 22. Dabei startet
der Prozessor 6 die Download-Verarbeitung, wie dies in 9 dargestellt
ist.
-
Der
Prozessor 6 beurteilt, ob eine Privat-Datenfolge neu in
den Download-RAM 4 gespeichert ist (Schritt S11). Hierbei
sind die Bank-Daten für
Bank 1 bereits in dem Download-RAM 4 gespeichert worden,
wie dies in 13B dargestellt ist (ein kreuzweise
schraffierter Bereich in der Figur). Dementsprechend prüft der Prozessor 6 einen
CRC der Privat-Datenfolge (Schritt S12), beurteilt, ob die neuen Bank-Daten
in der Privat-Datenfolge
umfasst sind (Schritt S13), und erfasst eine Ziel-Bank der neuen Bank-Daten
unter Bezugnahme auf eine Bank-Nummer in dem Programm-Header der
Privat-Datenfolge (Schritt
S14). Beim Erfassen der Ziel-Bank erkennt der Prozessor 6 eine
Bank, in der das aktivierte Ladeeinrichtungs-Programm gespeichert
ist (Schritt S15). Der Prozessor 6 beurteilt dann, ob die Ziel-Bank
dieselbe wie die Bank ist, die das aktivierte Ladeeinrichtungs-Programm
speichert (Schritt S16).
-
Hierbei
schreitet, da das aktivierte Ladeeinrichtungs-Programm das Backup-Ladeeinrichtungs-Programm 22,
gespeichert in Bank 2, ist, während
die Ziel-Bank Bank 1 ist, der Prozessor 6 zu Schritt S6
fort. Der Prozessor 6 unterteilt die neuen Bank-Daten in
eine Vielzahl von Software-Modulen (Schritt S6) und schreibt sie
in Bank 1 hinein (Schritt S8). Als eine Folge werden die Bank-Daten,
gespeichert in Bank 1, aufgewertet, wie dies in 13C dargestellt ist. Das Master-Ladeeinrichtungs-Programm 12,
umfasst in den Bank-Daten in Bank 1, wird auch aufgewertet.
-
In
der vorliegenden Ausführungsform
werden Software-Module in jeder einer Mehrzahl von Banken gespeichert
und aufgewertet, so dass ein RAM mit einer Speicher-Größe, dieselbe
wie eine Bank, ausreichend als ein Puffer für heruntergeladene Bank-Daten, ist. Es ist
möglich,
einen Umfang einer Hardware zu reduzieren, die Fehlern standhalten kann,
die während
Software-Aufwertungen auftreten. Als eine Folge kann eine fort schrittliche
Software in der Terminal-Vorrichtung ohne Erhöhen der Produktionskosten installiert
werden.
-
Auch
ist es, durch Speichern eines Master-Ladeeinrichtungs-Programms
und eines Backup-Ladeeinrichtungs-Programms in unterschiedlichen
Banken, möglich,
ein Ladeeinrichtungs-Programm aufzuwerten, während die anderen Ladeeinrichtungs-Programme
ausgeführt
werden. Als eine Folge können
ein Bug-Fixieren und Spezifikations-Änderungen
für das
Ladeeinrichtungs-Programm einfach durch Aufwerten des Ladeeinrichtungs-Programms
in der vorstehenden Art und Weise ohne Austauschen von ROMs durchgeführt werden, die
umfangreiche Arbeitskosten für
die Sendegesellschaft mit sich bringen.
-
Es
ist nicht erwünscht,
häufig
Bank-Daten der Bank, die das Master-Ladeeinrichtungs-Programm speichert,
aufzuwerten, da das Upgrade des Master-Ladeeinrichtungs-Programms die umfangreiche
Verarbeitung eines Startens des Backup-Ladeeinrichtungs-Programms, gespeichert
in einer unterschiedlichen Bank, erfordert. Dementsprechend ist es
bevorzugt, Software-Module zu speichern, die häufig in Banken, andere als
die Banken, die das Master-Ladeeinrichtungs-Programm speichern,
aufgewertet werden müssen.
Insbesondere müssen Software-Module,
die sich auf eine MPEG-Datenfolge-Decodierung
beziehen, und Software-Module zum Anzeigen von wöchentlichen oder monatlichen, elektrischen
Programm-Führungen,
häufig
aufgewertet werden, und werden so vorzugsweise in Banken, andere
als die Bank, die das Master-Ladeeinrichtungs-Programm
speichert, gespeichert.
-
In
der vorliegenden Ausführungsform
wird die Ziel-Bank jedes Software-Moduls durch eine Bank-Nummer
in einem Modul-Header des Software-Moduls bestimmt, während eine
Ziel-Bank basierend auf einer Upgrade-Häufigkeit jedes Software-Moduls
geändert
werden kann.
-
Zweite Ausführungsform
-
In
der zweiten Ausführungsform
wird eine Ladeeinrichtungs-Bank (eine Bank, die das Master-Ladeeinrichtungs-Programm
speichert) ohne Verwendung eines Backup-Ladeeinrichtungs-Programms aufgewertet,
um so die Effektivität
der ROM-Benutzung zu verbessern. Unter Verwendung nur eines Master-Ladeeinrichtungs-Programms
können
mehr Software-Module in einem Bereich gespeichert werden, der durch
das Backup-Ladeeinrichtungs-Programm
in der ersten Ausführungsform
belegt wurde.
-
Dabei
ist eine Voraussetzung zum Aufwerten des Ladeeinrichtungs-Programms
in der zweiten Ausführungsform
vorhanden. Die Voraussetzung ist so, dass Banken, andere als die
Ladeneinrichtungs-Bank, eine wiederherstellbare Bank umfassen sollten.
Eine wiederherstellbare Bank bedeutet eine Bank, die Daten speichert,
die sogar dann wiederhergestellt werden kann, wenn sie beschädigt sind,
entweder da Bank-Daten der wiederherstellbaren Bank wiederholt von
der Host-Station oder regelmäßigen Intervallen übertragen
werden, oder da die Terminal-Vorrichtung die Host-Station anweist,
die Bank-Daten durch Senden eines Anforderungssignals zu übertragen.
-
10 zeigt
ein Flussdiagramm, das die Verarbeitung des Ladeeinrichtungs-Programms in der
zweiten Ausführungsform
darstellt. Die Terminal-Vorrichtung 10 der zweiten Ausführungsform
ist in einer solchen Art und Weise aufgebaut, um das Master-Ladeeinrichtungs-Programm
ohne Verwendung eines Backup-Ladeeinrichtungs-Programms aufzuwerten. Das Folgende
ist eine Erläuterung
der Ladeeinrichtungs-Programm-Upgrade-Verarbeitung unter
Bezugnahme auf die 10 und 14A-14D. 14A stellt
einen Anfangszustand der Verarbeitung dar. Hierbei ist die Ladeeinrichtungs-Bank eine Bank 1,
während
die wiederherstellbare Bank die Bank 2 ist. Die neuen Bank-Daten für Bank 1
sind in dem Download-RAM 4 gespeichert.
-
Zuerst
führt der
Prozessor 6 dieselbe Verarbeitung wie in den Schritten
S11-S14 in 9 durch. Im Schritt S11 beurteilt
der Prozessor 6, ob eine Privat-Datenfolge neu in den Download-RAM
hinein gespeichert ist. Falls dies der Fall ist, prüft der Prozessor 6 einen
CRC der Privat-Datenfolge (Schritt S12), beurteilt, ob die Privat-Datenfolge
neue Bank-Daten umfasst
(Schritt S13) und erfasst eine Ziel-Bank der neuen Bank-Daten (Schritt
S14). Als nächstes
beurteilt der Prozessor 6, ob die Ziel-Bank der neuen Bank-Daten
die Ladeeinrichtungs-Bank ist (Schritt S22).
-
Wenn
die Ziel-Bank die Ladeeinrichtungs-Bank ist, schreibt der Prozessor 6 die
neuen Bank-Daten nicht in die Bank 1, die die Ladeeinrichtungs-Bank
ist, sondern in die Bank 2, die die wiederherstellbare Bank ist
(Schritt S23). Hierbei führt
der Prozessor 6 dieselbe Schreib-Verarbeitung wie in den
Schritten S6-S8 in 9 durch. Der Prozessor 6 unterteilt
die Bank-Daten in eine Mehrzahl von Software-Modulen (Schritt S6)
und schreibt sie in die wiederherstellbare Bank hinein (Schritt
S8).
-
Beim
Schreiben der Bank-Daten in die wiederherstellbare Bank hinein ändert der
Prozessor 6 die Ladeeinrichtungs-Bank zu der alten Ladeeinrichtungs-Bank,
und die wiederherstellbare Bank zu der neuen Ladeeinrichtungs-Bank
(Schritt S24).
-
14B stellt einen Zustand nach Abschluss von Schritt
S24 in der Ladeeinrichtungs-Programm-Upgrade-Verarbeitung dar. In
der Figur werden die alten Ladeeinrichtungs-Bank-Daten und die neuen
Ladeeinrichtungs-Bank-Daten entsprechend in den Banken 1 und 2 gespeichert.
Dann wird der Programm-Zähler
des Prozessors 6 zurückgesetzt (Schritt
S25).
-
Als
eine Folge der vorstehenden Verarbeitung wird das Ladeeinrichtungs-Programm, das durch
den Prozessor 6 zum nächsten
Zeitpunkt gestartet werden soll, das neue Ladeeinrichtungs-Programm,
gespeichert in der neuen Ladeeinrichtungs-Bank. Das bedeutet, dass
dann, wenn die Terminal-Vorrichtung 10 erneut nach einem
Zurücksetzen
des Programm-Zählers
des Prozessors 6 gestartet wird, das neue Ladeeinrichtungs-Programm in der neuen
Ladeeinrichtungs-Bank in der Kernel-Verarbeitung, wie sie in 14B dargestellt ist (siehe Schritt S4 in 8),
ausgewählt
wird.
-
Beim
Starten des neuen Ladeeinrichtungs-Programms in der neuen Ladeeinrichtungs-Bank
führt der
Prozessor 6 dieselbe Verarbeitung wie in den Schritten
S11-S14 in 9 durch. Im Schritt S11 beurteilt
der Prozessor 6, ob eine Privat-Datenfolge neu in den Download-RAM 4 hinein gespeichert
wird.
-
Hierbei
wird eine Privat-Datenfolge, umfassend neue Bank-Daten für Bank 2,
die die wiederherstellbare Bank war, in dem Download-RAM 4 gespeichert,
wie dies in 14C dargestellt ist, als eine
Folge einer periodischen Übertragung
der Bank-Daten von der Host-Station. Der Prozessor 6 prüft einen CRC
der Privat-Datenfolge (Schritt S12), beurteilt, ob die neuen Bank-Daten
in der Privat-Datenfolge umfasst sind (Schritt S13) und erfasst
eine Ziel-Bank der neuen Bank-Daten (Schritt S14) Der Prozessor 6 beurteilt
dann, ob die Ziel-Bank die frühere
Ladeeinrichtungs-Bank ist (Schritt S22). Da die Ziel-Bank die wiederherstellbare
Bank ist, wählt
der Prozessor 6 „Nein" im Schritt S22 aus
und geht weiter zu Schritt S26.
-
Der
Prozessor 6 beurteilt, ob die Ziel-Bank die frühere, wiederherstellbare
Bank ist (Schritt S26). Falls dies der Fall ist, beurteilt der Prozessor 6,
ob die wiederherstellbare Bank zu der neuen Ladeeinrichtungs-Bank
hin geändert
worden ist (Schritt S27). Wenn die wiederherstellbare Bank nicht
geändert worden
ist, schreibt der Prozessor 6 die neuen Bank-Daten in die
wiederherstellbare Bank (Schritt S29) und schließt die Upgrade-Verarbeitung ab.
-
Wenn
die wiederherstellbare Bank (Bank 2) zu der neuen Ladeeinrichtungs-Bank,
wie in dem vorliegenden Beispiel, dargestellt in 14B, geändert worden
ist, wählt
der Prozessor 6 „Ja" im Schritt S27 aus
und geht weiter zu Schritt S28.
-
Der
Prozessor 6 ändert
die Bank 1, die zu der alten Ladeeinrichtungs-Bank, im Schritt S24,
geändert
worden ist, zu der wiederherstellbaren Bank (Schritt S28). Als eine
Folge ist die Bank 1 die wiederherstellbare Bank und Bank 2 ist
die Ladeeinrichtungs-Bank,
nach Abschließen
des Schritts S28.
-
Der
Prozessor 6 schreibt dann die neuen Bank-Daten, gespeichert
in dem Download-RAM 4, in die Bank 1 hinein, die die neue,
wiederherstellbare Bank ist (Schritt S29). 14D stellt
einen Endzustand der Upgrade-Verarbeitung, dargestellt in 10,
dar. Wie in der Fig. dargestellt ist, werden die Banken 1 und 2
beide aufgewertet, während
sie jeweils so geändert
werden, um die wiederherstellbare Bank und die Ladeeinrichtungs-Bank
zu werden.
-
In
der vorliegenden Ausführungsform
werden, wenn die neuen Bank-Daten für die Ladeeinrichtungs-Bank
von der Host-Station übertragen
sind, die neuen Bank-Daten in die wiederherstellbare Bank hineingeschrieben
und die Ladeeinrichtungs-Bank wird zu einer neuen, wiederherstellbaren
Bank hin geändert.
Demzufolge kann das Ladeeinrichtungs-Programm unter Verwendung nur des Master-Ladeeinrichtungs-Programms
aufgewertet werden. Dementsprechend können mehr Software-Module in
der Endgerät-Vorrichtung 10 anstelle
des Backup-Ladeeinrichtungs-Programms gespeichert werden.
-
Dritte Ausführungsform
-
In
der dritten Ausführungsform
wird das Upgrade in Einheiten von Software-Modulen durchgeführt. 6 stellt
den Aufbau einer Privat-Datenfolge in der dritten Ausführungsform
dar. Der Unterschied zu der ersten Ausführungsform liegt darin, dass
n Software-Module für
unterschiedliche Banken in einer Privat-Datenfolge multiplexiert
werden.
-
7 stellt
den Aufbau der Endgerät-Vorrichtung 10 der
dritten Ausführungsform
dar. Der Unterschied zu der Endgerät-Vorrichtung 10,
dargestellt in 2, liegt darin, dass der Download-RAM 4 gegen
einen Software-Modul-RAM 13 und einen Bank-Daten-Kopie-RAM 14 ersetzt
wird.
-
Der
neue Software-Modul-RAM 13 speichert eine Privat-Datenfolge,
in der Software-Module multiplexiert worden sind, wobei die Privat-Datenfolge durch
den TS-Decodierer 2 separiert
worden ist.
-
Der
Bank-Daten-Kopie-RAM 14 wird verwendet, um Bank-Daten zu
speichern, wenn Software-Module ersetzt werden. Bei der Software-Modul-Ersetzung
werden, wenn ein neues Software-Modul in den neuen Software-Modul-RAM 13 gespeichert
wird, Bank-Daten,
die das alte Software-Modul umfassen, entsprechend zu dem neuen
Software-Modul,
von einer Bank in den Bank-Daten-Kopie-RAM 14 hineingeschrieben,
so dass das alte Software-Modul in den kopierten Daten in dem Bank-Daten-Kopie-RAM 14 gegen
das neue Software-Modul ersetzt werden kann. Diese überarbeiteten Bank-Daten
werden dann in die originale Bank überschrieben.
-
11 zeigt
ein Flussdiagramm, das die Ladeeinrichtungs-Programm-Verarbeitung
in Einheiten von Software-Modulen darstellt. Die 15A-15D und 16A-16C stellen Zustände der Software-Modul-Upgrade-Verarbeitungen dar.
-
15A stellt einen Anfangszustand der Verarbeitung
dar. In der Figur werden Software-Module A11.old bis A16.old in
der Bank 1 gespeichert, und die Software-Module B11.old bis B16.old
werden in Bank 2 gespeichert. Ein Titel „Old" zeigt an, dass das Software-Modul die
alte Version ist. Zwei Software-Module A13.new und B13.new werden
in dem neuen Software-Modul-RAM 13 gespeichert. Diese sind
neue Software-Module, die in einer Privat-Datenfolge, separiert
durch den TS-Decodierer 3, eingeschlossen wurden.
-
Wenn
die Endgerät-Vorrichtung 10 eingeschaltet
ist, beginnt der Prozessor 6 damit, zu überwachen, ob eine Privat-Datenfolge
neu in den neuen Software-Modul-RAM 13 gespeichert worden
ist (Schritt S31 in 11). Wenn eine Privat-Datenfolge gespeichert
worden ist, prüft
der Prozessor 6 einen CRC der Privat-Datenfolge (Schritt
S32). Wenn kein Fehler erfasst ist, erhält der Prozessor 6 n
neue Software-Module, umfasst in der Privat-Datenfolge (Schritt
S33), und stellt einen Anfangswert einer Variablen i ein (Schritt
S34). Die Variable i wird zum Spezifizieren jedes der n Software-Module,
gespeichert in dem neuen Software-Modul-RAM 13, verwendet. Durch
Einstellen der Variablen i auf 1 wird das erste Software-Modul unter
den n Software-Modulen als ein verarbeitendes Objekt eingestellt.
-
Der
Prozessor 6 erhält
Version-Informationen in einem Modul-Header des „i"-ten Software-Moduls (Schritt S35) und
erfasst eine Bank-Nummer k in den Version-Informationen (Schritt S36).
-
Da
das erste Software-Modul in dem neuen Software-Modul-RAM 13 ein
neues Software-Modul A13.new mit den Version-Informationen, die
die Bank-Nummer 1 spezifizieren, ist, wird Bank 1 als eine Ziel-Bank
erkannt. Der Prozessor 6 schreibt dann Bank-Daten, gespeichert
in der Bank k (Bank 1), in den Bank-Daten-Kopie-RAM 14 hinein
(Schritt S37). 15B stellt einen ersten Zwischenzustand nach
Abschluss von Schritt S37 dar. In der Figur sind Software-Module
A11.old bis A16.old, gespeichert in der Bank 1, in den Bank-Daten-Kopie-RAM 14 hineingeschrieben
worden.
-
Der
Prozessor 6 ersetzt dann ein entsprechendes altes Software-Modul
in dem Bank-Daten-Kopie-RAM 14 gegen das „i"-te (erstes) Software-Modul,
gespeichert in dem neuen Software-Modul-RAM 13 (Schritt
S38).
-
15C stellt einen zweiten Zwischenzustand nach
Abschluss von Schritt S38 dar. In der Figur wird das Software-Modul
A13.old gegen das Software-Modul A13.new in dem Bank-Daten-Kopie-RAM 14 ersetzt.
Demzufolge wird das Software-Modul A13.old in der Bank 1 aufgewertet.
-
Der
Prozessor 6 schreibt die überarbeiteten Bank-Daten von
dem Bank-Daten-Kopie-RAM 14 zurück in die
Bank k (Bank 1) (Schritt S39).
-
15D stellt einen dritten Zwischenzustand nach
Abschluss von Schritt S39 dar. In der Figur werden die Bank-Daten,
die das neue Software-Modul A13.new umfassen, in Bank 1 gespeichert. Unter
Abschluss der Upgrade-Verarbeitung des ersten Software-Moduls beurteilt
der Prozessor 6, ob i=n gilt (Schritt S40). Wenn i≠n gilt, erhöht der Prozessor 6 die
Variable i um 1 (Schritt S41) und kehrt zu Schritt S35 zurück.
-
Der
Prozessor 6 erhält
Version-Informationen des zweiten Software-Moduls, gespeichert in dem
neuen Software-Modul-RAM 13 (Schritt S35), und erfasst
eine Bank-Nummer
k in den Version-Informationen (Schritt S36).
-
Hierbei
ist das zweite Software-Modul ein Software-Modul B15.new mit einer
Bank-Nummer, die
Bank 2 spezifiziert. Dementsprechend erkennt der Prozessor 6 Bank
2 als eine Ziel-Bank. Der Prozessor 6 schreibt dann Bank-Daten,
gespeichert in der Bank k (Bank 2), in den Bank-Daten-Kopie-RAM 14 hinein
(Schritt S37). 16A stellt einen vierten Zwischenzustand
nach Abschluss von Schritt S37 dar. Wie in der Figur dargestellt ist,
werden die Software-Module B11.old bis B16.old, gespeichert in Bank 2,
in den Bank-Daten-Kopie-RAM 14 hineingeschrieben.
-
Der
Prozessor 6 ersetzt dann ein entsprechendes, altes Software-Modul
in dem Bank-Daten-Kopie-RAM 14 gegen das „i"-te (zweite) Software-Modul,
gespeichert in dem neuen Software-Modul-RAM 13 (Schritt
S38).
-
16B stellt einen fünften Zwischenzustand nach
Abschluss von Schritt S38 dar. Wie in der Figur dargestellt ist,
wird das Software-Modul B15.old gegen ein neues Software-Modul B15.new
in dem Bank-Daten-Kopie-RAM 14 ersetzt. Demzufolge wird
das Software-Modul B15.old in Bank 2 aufgewertet.
-
Der
Prozessor 6 schreibt die überarbeiteten Bank-Daten von
dem Bank-Daten-Kopie-RAM 14 zurück in die
Bank k (Bank 2) (Schritt S39).
-
16C stellt einen Endzustand nach Abschluss von
Schritt S39 dar. Wie in der Figur dargestellt ist, werden die Bank-Daten,
die das neue Software-Modul B15.new umfassen, in Bank 2 gespeichert.
-
Beim
Abschluss der Upgrade-Verarbeitung für das zweite Software-Modul
beurteilt der Prozessor 6, ob i=n gilt (Schritt S40). Hierbei
wird, da i=n=2 gilt, die Upgrade-Verarbeitung
für alle
neuen Software-Module in dem neuen Software-Modul-RAM 13 abgeschlossen.
-
In
der dritten Ausführungsform
empfängt
die Endgerät-Vorrichtung 10 die
neue Version der Software-Module, um von der Host-Station aufgewertet zu
werden, und führt
die Upgrade-Verarbeitung in Einheiten von Software-Modulen durch.
Wenn mit der ersten und der zweiten Ausführungsform verglichen wird,
wo die Upgrade-Verarbeitung in Bank-Einheiten durchgeführt wird, kann das Upgrade
bzw. die Aufwertung in einer kürzeren
Verarbeitungszeit abgeschlossen werden.
-
Vierte Ausführungsform
-
In
der vierten Ausführungsform
ist es möglich,
entfernte Upgrades einer Software in einer Endgerät-Vorrichtung
durchzuführen,
die nicht die Upgrade-Funktion besitzt, indem eine Smart-Card 15 in
die Endgerät-Vorrichtung
geladen wird. 17 stellt den Aufbau der Endgerät-Vorrichtung 10 der
vierten Ausführungsform
dar. Wenn mit der Endgerät-Vorrichtung 10,
dargestellt in 2, verglichen wird, werden ein
Software-Modul-Gruppen-Speicher-ROM 16 und ein
Karten-Schlitz 17 mit dem zweiten Bus 9 anstelle der
Software- Modul-Gruppen-Speichereinheit 5 verbunden,
und ein Boot-ROM 18 wird mit dem ersten Bus 19 anstelle
des Boot-ROMs 7 verbunden.
-
Die
Smart-Card 15 ist eine Speicherkarte, die die EEPROMs 52-54 enthält, die
in der Endgerät-Vorrichtung 10 der
ersten bis dritten Ausführungsform
umfasst sind. Deren Verbinder, Package und elektrischen Charakteristika
sind entsprechend zu, zum Beispiel, PCMCUA-(Personal Computer Memory
Card International Association)-Standard ausgefegt.
-
Der
Software-Modul-Gruppen-Speicher-ROM 16 speichert dieselben
Software-Module wie
die Software-Modul-Gruppen-Speichereinheit 5 der ersten
bis dritten Ausführungsform,
so dass eine Verarbeitung, eine andere als das entfernte Download,
mit dem Software-Modul-Gruppen-Speicher-ROM 16 durchgeführt werden
kann.
-
Der
Karten-Schlitz 17 wird zum Einladen der Smart-Card 15 in
die Endgerät-Vorrichtung 10 verwendet.
Wenn einmal die Smart-Card 15 in die Endgerät-Vorrichtung 10 eingeladen
ist, werden die EEPROMs 51-54 in der Smart-Card 15 mit
dem zweiten Bus 9 verbunden und sind über den Prozessor 6 zugänglich.
-
Der
Boot-ROM 18 wird zum Überprüfen eines
Ladezustands der Smart-Card 15 in dem Karten-Schlitz 17 verwendet,
wenn die Endgerät-Vorrichtung 10 eingeschaltet
ist. Wenn die Smart-Card 15 nicht in den Karten-Schlitz 17 eingeladen
ist, führt der
Prozessor 6 einen Bootstrap zum Starten jedes Software-Moduls,
gespeichert in dem Software-Modul-Gruppen-Speicher-ROM 16,
durch. Wenn andererseits die Smart-Card 15 in den Karten-Schlitz
eingeladen ist, führt
der Prozessor 6 einen Bootstrap zum Starten jedes Software-Moduls,
gespeichert in den EEPROMs 51-54, in der Smart-Card 15,
durch.
-
Mit
der vorliegenden Ausführungsform
ist es, wenn die Endgerät-Vorrichtung,
die zu einem Zeitpunkt hergestellt und verkauft wurde, zu dem die
entfernten Upgrades einer Software nicht möglich waren, einen Karten-Schlitz 17 besitzt,
dann möglich, entfernte
Upgrades einer Software in derselben Art und Weise wie bei der ersten
Ausführungsform
der vorliegenden Erfindung durch nur Anbringen der Smart-Card 15 durchzuführen.
-
Fünfte Ausführungsform
-
In
der fünften
Ausführungsform
wird eine Smart-Card 15 in eine Endgerät-Vorrichtung eingeladen, um ein Ladeeinrichtungs-Programm
aufzuwerten. 18 stellt den Aufbau einer Endgerät-Vorrichtung 10 der
fünften
Ausführungsform
dar. Wenn mit der Endgerät-Vorrichtung 10 in 2 verglichen wird,
wird ein Karten-Schlitz 17 mit dem zweiten Bus 9 anstelle
des EEPROM 51 verbunden, und ein Boot-ROM 18 wird
mit dem ersten Bus 19 anstelle des Boot-ROM 7 verbunden.
-
Die
Smart-Card 15 in der vorliegenden Ausführungsform enthält den EEPROM 51,
der mit dem zweiten Bus 9 in der ersten bis dritten Ausführungsform
verbunden wurde. Der EEPROM 52 speichert ein Ladeeinrichtungs-Programm
und ein Kernel, so dass die Verarbeitung, eine andere als das entfernte Download,
mit den EEPROMs 52-54 durchgeführt werden kann.
-
Der
Boot-ROM 18 wird zum Prüfen
eines Ladezustands der Smart-Card 15 in dem Karten-Schlitz 17 verwendet,
wenn die Endgerät-Vorrichtung 10 eingeschaltet
ist. Wenn die Smart-Card 15 nicht in den Karten-Schlitz 17 eingeladen
ist, führt
der Prozessor 6 einen Bootstrap zum Starten des Ladeeinrichtungs-Programms
und des Kernels, gespeichert in dem EEPROM 52, durch. Wenn
andererseits die Smart-Card 15 in den Karten-Schlitz 17 eingeladen ist,
führt der
Prozessor 6 einen Bootstrap zum Starten eines Ladeeinrichtungs-Programms
und eines Kernels, gespeichert in dem EEPROM 51, in der Smart-Card 15,
durch.
-
Das
Ladeeinrichtungs-Programm kann in derselben Art und Weise wie bei
der ersten Ausführungsform
durch Speichern des Ladeeinrichtungs-Programms und des Kernels,
beide in den EEPROMs 51 und 52, aufgewertet werden.
Das bedeutet, dass dann, wenn neue Software-Module für die Bank
1 in dem EEPROM 51 in dem Download-RAM 4 hinein
gespeichert werden, die neuen Software-Module in den EEPROM 51 durch
Umschalten des aktivierten Programms von dem Ladeeinrichtungs-Programm
in dem EEPROM 51 zu dem Ladeeinrichtungs-Programm in dem
EEPROM 52 geschrieben werden können.
-
Mit
der vorliegenden Ausführungsform
ist es, wenn die Endgerät-Vorrichtung,
die zu einem Zeitpunkt hergestellt und verkauft wurde, zu dem entfernte
Upgrades einer Software nicht möglich
waren, einen Karten-Schlitz 17 besitzt, dann möglich, entfernte
Upgrades einer Software in derselben Art und Weise wie bei der ersten
Ausführungsform
der vorliegenden Erfindung nur durch Verbinden der Smart-Card 15 durchzuführen.
-
Während eine
Smart-Card 15, die mit einem PCMCIA Standard übereinstimmt,
in der Endgerät-Vorrichtung 10 der
vierten und fünften
Ausführungsform
verwendet wird, kann eine Karte, die mit anderen Standards übereinstimmt,
auch verwendet werden. Auch kann ein anderes, löschbares Speichermedium, wie
beispielsweise ein optischer DVD- RAM
vom Phasen-Änderungs-Typ,
anstelle der Smart-Card 15 verwendet werden. In einem solchen Fall
ist die Endgerät-Vorrichtung 10 mit
einem Plattenlaufwerk anstelle des Karten-Schlitzes 17 ausgestattet,
um den DVD-RAM zu laden, der Software-Module speichert.
-
Während die
vorstehende erste bis fünfte Ausführungsform
als Beispiel eines Erreichens der Effekte der Erfindung erläutert worden
sind, ist die vorliegende Erfindung nicht hierauf beschränkt, sondern
kann bei irgendeinem System angewandt werden, um sicherzustellen,
dass eine Aktivierung für eine
Endgerät-Vorrichtung
möglich
sein wird. Zum Beispiel sind die folgenden Modifikationen möglich.
- (a) Während
die Upgrade-Verarbeitung gestartet wird, wenn einmal die Endgerät-Vorrichtung neue Bank-Daten
in den vorstehenden Ausführungsformen
empfängt,
können
die neuen Bank-Daten in einem RAM gespeichert werden, bis der Benutzer eine
Endtaste oder eine Stromversorgungstaste berührt, wonach die Upgrade-Verarbeitung
gestartet wird.
- (b) Andere Anordnungen können
für den
Programm-Header und für
den Modul-Header
verwendet werden. Zum Beispiel können
ein Programm-Name, eine Daten-Größe, eine
Speicher-Adresse in einer Bank, und Version-Informationen in einen
Header von Bank-Daten eingeschlossen werden.
- (c) Während
eine Ziel-Bank durch den Prozessor 6, unter Bezugnahme
auf eine Bank-Nummer, geschrieben in einem Programm, oder einem
Modul-Header jeder Privat-Datenfolge
oder jedes Software-Moduls gemäß einem
Ladeeinrichtungs-Programm in den vorstehenden Ausführungsformen,
erfasst wird, können
andere Verfahren anstelle davon verwendet werden. Zum Beispiel kann
eine Ziel-Bank entsprechend zu Informationen, wie beispielsweise
dem Programm-Namen und den Version-Informationen, bestimmt werden.
- (d) Die vorliegende Erfindung ist nicht auf einen digitalen
Satelliten-Sende-Dienst beschränkt, sondern
kann bei anderen Sende-Diensten, wie beispielsweise dem digitalen
CATV, angewandt werden.
-
Obwohl
die vorliegende Erfindung vollständig
anhand von Beispielen unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben worden ist, sollte angemerkt werden, dass verschiedene Änderungen
und Modifikationen für
Fachleute auf dem betreffenden Fachgebiet ersichtlich werden. Deshalb sollten,
ohne dass solche Änderungen
und Modifikationen außerhalb
des Schutzumfangs der vorliegenden Erfindung liegen, sie dahingehend
ausgelegt werden, dass sie darin umfasst sind.