DE69835397T2 - Endgerät geeignet für ferngesteuertes Laden, Verfahren zum Laden eines Laderprogrammes in einem Endgerät, und Speichermedium, das ein Ladeprogramm speichert - Google Patents

Endgerät geeignet für ferngesteuertes Laden, Verfahren zum Laden eines Laderprogrammes in einem Endgerät, und Speichermedium, das ein Ladeprogramm speichert Download PDF

Info

Publication number
DE69835397T2
DE69835397T2 DE69835397T DE69835397T DE69835397T2 DE 69835397 T2 DE69835397 T2 DE 69835397T2 DE 69835397 T DE69835397 T DE 69835397T DE 69835397 T DE69835397 T DE 69835397T DE 69835397 T2 DE69835397 T2 DE 69835397T2
Authority
DE
Germany
Prior art keywords
area
bank
stored
code
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69835397T
Other languages
English (en)
Other versions
DE69835397D1 (de
Inventor
Toshiya Settsu-shi Osaka-fu Mori
Takashi Toyonaka-shi Osaka-fu Kakiuchi
Tetsuji Nara-shi Nara-ken Maeda
Hisayuki Ikoma-gun Nara-ken Kino
Yoshiyuki Osaka-shi Osaka-fu Miyabe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69835397D1 publication Critical patent/DE69835397D1/de
Application granted granted Critical
Publication of DE69835397T2 publication Critical patent/DE69835397T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Description

  • 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.

Claims (6)

  1. Endgerät-Vorrichtung (10), die aufweist: ein erstes Aufzeichnungsmedium (5), 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 (4-2; 13-7), das dieselbe Speichergruppe 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 (61), angepasst zum Erfassen der Ziel-Bank-Adresse von dem Header-Teil; und eine Schreibeinrichtung (6), die zum Schreiben der neuen Code-Einrichtung, gespeichert in dem zweiten Aufzeichnungsmedium, in den Bereich, spezifiziert durch die erfasste Ziel-Bank-Adresse, angepasst ist.
  2. Endgerät-Vorrichtung nach Anspruch 1, wobei, unter den n Bereichen, ein erster Bereich und ein zweiter Bereich, jeweils, ein Master-Computerprogramm (12), das Code-Einrichtungen aufweist, angepasst so, um Code-Einrichtungen zu laden, und ein Backup-Computerprogramm (22), das Code-Einrichtungen aufweist, angepasst so, um Code-Einrichtungen zu laden, zu speichern, 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.
  3. Endgerät-Vorrichtung nach Anspruch 2, wobei die Endgerätvorrichtung so angepasst ist, um die Code-Einrichtung, gespeichert in dem ersten Bereich, weniger häufig als die Code-Einrichtung, gespeichert in Bereichen, anderen als der erste Bereich, heraufzustufen.
  4. Endgerät-Vorrichtung nach Anspruch 1, wobei ein erster Bereich, unter den n Bereichen, ein Master-Computerprogramm (12) speichert, 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 Be reich, 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 dem zweiten Bereich gespeichert sind, ob das zweite Aufzeichnungsmedium mindestens eine neue Code-Einrichtung entsprechend zumindest 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.
  5. Endgerät-Vorrichtung nach Anspruch 4, wobei die Endgerät-Vorrichtung so angepasst ist, um eine Code-Einrichtung, gespeichert in einem Bereich, der das Master-Computerprogramm speichert, weniger häufig als eine Code-Einrichtung, gespeichert in Bereichen, andere als der Bereich, der das Master-Computerprogramm speichert, heraufzustufen.
  6. Endgerät-Vorrichtung nach Anspruch 1, wobei der Inhalt-Teil eine Vielzahl von neuen Code-Einrichtungen umfasst und der Header-Teil eine Vielzahl von Ziel-Bank-Adressen umfasst, die jeweils einen Bereich spezifizieren, in den hinein jede neue Code-Einrichtung in dem Inhalt-Teil gespeichert werden soll, wobei die Endgerät-Vorrichtung weiterhin ein drittes Aufzeichnungsmedium (14) 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 alter 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 aufgesuchten 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.
DE69835397T 1997-06-05 1998-06-05 Endgerät geeignet für ferngesteuertes Laden, Verfahren zum Laden eines Laderprogrammes in einem Endgerät, und Speichermedium, das ein Ladeprogramm speichert Expired - Lifetime DE69835397T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP14806797 1997-06-05
JP14806797 1997-06-05

Publications (2)

Publication Number Publication Date
DE69835397D1 DE69835397D1 (de) 2006-09-14
DE69835397T2 true DE69835397T2 (de) 2007-08-09

Family

ID=15444474

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69835397T Expired - Lifetime DE69835397T2 (de) 1997-06-05 1998-06-05 Endgerät geeignet für ferngesteuertes Laden, Verfahren zum Laden eines Laderprogrammes in einem Endgerät, und Speichermedium, das ein Ladeprogramm speichert

Country Status (4)

Country Link
US (1) US6209127B1 (de)
EP (4) EP0887729B1 (de)
DE (1) DE69835397T2 (de)
HK (1) HK1017457A1 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412082B1 (en) 1997-12-17 2002-06-25 Sony Corporation Method and apparatus for selecting computer programs based on an error detection mechanism
KR100322006B1 (ko) * 1999-06-09 2002-02-06 윤종용 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법
US6324692B1 (en) * 1999-07-28 2001-11-27 Data General Corporation Upgrade of a program
EP1108984B1 (de) 1999-10-18 2019-08-14 Endress + Hauser Flowtec AG Programmierbares Feldgerät
US6854055B1 (en) 1999-10-18 2005-02-08 Endress + Hauser Flowtec Ag Method and system for switching active configuration memory during on-line operation of programmable field mounted device
AU782310B2 (en) * 2000-01-07 2005-07-21 Thomson Licensing S.A. Method and apparatus for backing up application code upon power failure during acode update
US6704736B1 (en) * 2000-06-28 2004-03-09 Microsoft Corporation Method and apparatus for information transformation and exchange in a relational database environment
US6611902B2 (en) 2000-11-13 2003-08-26 Matsushita Electric Industrial Co., Ltd. Information processor and information processing method
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) * 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
EP1209688B1 (de) * 2000-11-23 2008-01-02 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Aktualisierung von Lesedateien in einem FLASH-Speicher einer industriellen Steuereinrichtung
EP1227667A1 (de) * 2001-01-18 2002-07-31 Sony Service Centre (Europe) N.V. Verfahren und Vorrichtung zur Bereitstellung von heruntergeladenen Objekten an eine Applikation
US6862614B2 (en) * 2001-02-20 2005-03-01 Gemplus Adaptation of service applications to heterogeneous execution context by means of smart cards
US7310800B2 (en) * 2001-02-28 2007-12-18 Safenet, Inc. Method and system for patching ROM code
US20030005408A1 (en) * 2001-07-02 2003-01-02 Pradeep Tumati System and method for creating software modifiable without halting its execution
US20060059479A1 (en) * 2001-07-02 2006-03-16 Pradeep Tumati System and method for modifying software without halting its execution
DE10134463A1 (de) * 2001-07-16 2003-02-13 Tenovis Gmbh & Co Kg Verfahren zur Speicherung von Software einer TK-Anlage
JP4165796B2 (ja) * 2001-08-15 2008-10-15 株式会社スクウェア・エニックス クライアント、データダウンロード方法、プログラム及び記録媒体
US7506097B2 (en) 2001-09-25 2009-03-17 Caterpillar, Inc. Method and apparatus for installing data in a memory on a work machine
KR100484144B1 (ko) * 2002-06-20 2005-04-18 삼성전자주식회사 원격 관리 서버 및 원격 관리 방법
US7555750B1 (en) 2002-08-22 2009-06-30 Hewlett-Packard Development Company, L.P. Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
US20040230965A1 (en) * 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US7975147B1 (en) 2003-03-31 2011-07-05 Hewlett-Packard Development Company, L.P. Electronic device network supporting enciphering and deciphering and update generation in electronic devices
US7343443B1 (en) * 2003-07-08 2008-03-11 Hewlett-Packard Development Company, L.P. Updated package generation based on analysis of bank dependency
US7886093B1 (en) 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
CN1853163A (zh) * 2003-08-15 2006-10-25 约克国际公司 将软件载入冷却器系统控制面板的系统与方法
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
CA2483976C (en) * 2003-10-06 2007-06-26 Lpi Level Platforms, Inc. Method and system for providing instructions and actions to a remote network monitoring/management agent during scheduled communications
DE10351286B4 (de) * 2003-10-31 2009-12-31 Sennheiser Electronic Gmbh & Co. Kg Infrarot-Kopfhörer/Hörhilfe
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
JP4681947B2 (ja) * 2005-05-27 2011-05-11 キヤノン株式会社 デジタルテレビ放送受信装置、デジタルテレビ放送受信装置の制御方法、及びその制御プログラム
TWI332612B (en) * 2006-02-21 2010-11-01 Asia Optical Co Inc Memory access method
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US20080119178A1 (en) * 2006-11-21 2008-05-22 Samsung Electronics Co., Ltd. Allocating Compression-Based Firmware Over the Air
US20100180182A1 (en) * 2009-01-09 2010-07-15 Seagate Technology Llc Data memory device and controller with interface error detection and handling logic
US9448888B2 (en) 2013-11-15 2016-09-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
CN105573787A (zh) * 2015-12-15 2016-05-11 上海博泰悦臻网络技术服务有限公司 基于车载T-Box实现软件升级的方法及装置
CN112527370A (zh) * 2020-12-04 2021-03-19 成都中科慧源科技有限公司 一种对物联网设备进行远程差分升级的方法
CN112988069B (zh) * 2021-03-11 2024-03-26 深圳宏芯宇电子股份有限公司 存储器管理方法、存储器存储装置及存储器控制器
CN114880008A (zh) * 2022-05-17 2022-08-09 联陆智能交通科技(上海)有限公司 软件升级方法及系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2681929B2 (ja) 1987-06-22 1997-11-26 三菱電機株式会社 プログラム起動方式
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
EP0463251A1 (de) * 1990-06-28 1992-01-02 International Business Machines Corporation Software-Installation
CA2049690C (en) 1990-08-23 1999-12-28 Masato Maebayashi Firmware modification system wherein older version can be retrieved
DE69021732T2 (de) * 1990-12-04 1996-01-18 Hewlett Packard Ltd Wiederprogrammierbare Datenspeicherungsanlage.
US5257377A (en) * 1991-04-01 1993-10-26 Xerox Corporation Process for automatically migrating a subset of updated files from the boot disk to the replicated disks
JP3182806B2 (ja) 1991-09-20 2001-07-03 株式会社日立製作所 バージョンアップ方法
US5596738A (en) 1992-01-31 1997-01-21 Teac Corporation Peripheral device control system using changeable firmware in a single flash memory
US5432927A (en) 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
US5343437A (en) 1993-02-19 1994-08-30 Motorola Inc. Memory having nonvolatile and volatile memory banks
US5444850A (en) 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
JP3187624B2 (ja) * 1993-11-19 2001-07-11 京セラミタ株式会社 通信機能を備えた機器の内蔵プログラム更新方法
JPH07319738A (ja) 1994-05-23 1995-12-08 Nec Commun Syst Ltd 差分記録方式
US5666293A (en) 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
DE19525916A1 (de) * 1995-07-04 1997-01-09 Siemens Ag Verfahren zum Aktualisieren des Speicherinhaltes eines elektronischen Speichers eines elektronischen Gerätes
US5771064A (en) * 1995-11-29 1998-06-23 Scientific-Atlanta, Inc. Home communications terminal having an applications module
US5915112A (en) * 1996-01-02 1999-06-22 International Business Machines Corporation Remote procedure interface with support for multiple versions
US6074434A (en) * 1996-06-07 2000-06-13 International Business Machines Corporation Selection of code updates, data updates or new data for client
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6038399A (en) * 1997-07-22 2000-03-14 Compaq Computer Corporation Computer manufacturing architecture with two data-loading processes
US6074435A (en) * 1997-10-30 2000-06-13 Telefonakiebolaget Lm Ericsson (Publ) Remote software download with automatic adjustment for data access compatibility
US5974454A (en) * 1997-11-14 1999-10-26 Microsoft Corporation Method and system for installing and updating program module components
US6070012A (en) * 1998-05-22 2000-05-30 Nortel Networks Corporation Method and apparatus for upgrading software subsystems without interrupting service

Also Published As

Publication number Publication date
EP1300764A3 (de) 2010-05-05
EP1300765A2 (de) 2003-04-09
EP1300765A3 (de) 2010-05-05
HK1017457A1 (en) 1999-11-19
EP1300763A3 (de) 2010-02-17
EP0887729B1 (de) 2006-08-02
DE69835397D1 (de) 2006-09-14
EP1300763A2 (de) 2003-04-09
EP0887729A3 (de) 2000-10-11
EP1300764A2 (de) 2003-04-09
EP0887729A2 (de) 1998-12-30
US6209127B1 (en) 2001-03-27

Similar Documents

Publication Publication Date Title
DE69835397T2 (de) Endgerät geeignet für ferngesteuertes Laden, Verfahren zum Laden eines Laderprogrammes in einem Endgerät, und Speichermedium, das ein Ladeprogramm speichert
AU782310B2 (en) Method and apparatus for backing up application code upon power failure during acode update
DE10296986B4 (de) Verfahren und Vorrichtung zum Programmieren eines BIOS
DE60224281T2 (de) System und verfahren zur kompaktierung von im feld aktualisierbaren softwarekodeabschnitten eines drahtlosen kommunikationsgerätes
DE69637182T2 (de) Vorrichtung und verfahren zur vorverarbeitung von computerprogrammen vor netzwerkübertragung
DE10084862B3 (de) Wieder-Laden von Betriebssystemen
DE69637195T2 (de) Software aktualisierung in einem mobiltelefon
DE69729706T2 (de) Verfahren zum Aktualisieren der Programm-Ausstattung eines Videoempfängers
DE69627814T2 (de) System zum bereitstellen eines bios für den hauptrechner
DE4235193C2 (de) Netzwerksystem und zugehöriges Softwareverwaltungsverfahren
DE69611613T3 (de) Interface für eine speicherkarte
DE102006029690A1 (de) Beibehaltung einer Identifikation einer elektronischen Steuereinheit bei Umprogrammierungsereignissen
DE10315490A1 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE69821426T2 (de) Speicheranordung, und Datenverarbeitungssystem und -Verfahren
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
US6915383B2 (en) Receiver apparatus and method
DE10393235T5 (de) Firmware-Architektur, die sichere Aktualisierungen und mehrere Prozessortypen unterstützt
DE10297281T5 (de) Verfahren zum elementaren Aktualisieren einer Vielzahl von Dateien
DE69923352T2 (de) Verfahren und gerät zur rechnerkodeaktualisierung unter verwendung einer schnittstelle zu einer integrierten schaltung
EP1721248B1 (de) Verfahren und datenverarbeitungsgerät zur aktualisierung von rechnerprogrammen per datenübertragung
DE3511683A1 (de) Elektronisch programmierbarer rechner mit einem speicherpaket
DE602004010458T2 (de) Halbleiterspeicherkarte und rechnerlesbares programm
DE69724154T2 (de) Fernseh- oder radiokontrollsystementwicklung für mpeg
EP1145118A2 (de) Verfahren zum linken von in einen arbeitsspeicher eines prozessors nachgeladenen programmodulen auf einer chipkarte
DE60224937T2 (de) Verfahren und anordnung zum verknüpfen von verwandelten appletdateien

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP