-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf das Gebiet des Programmierens
oder Umprogrammierens eines Set-Top-Terminals in einer Kabelfernsehanlage.
Genauer bezieht sich die vorliegende Erfindung auf das Gebiet des
Steuerns des Herunterladens von Programmierung, wie etwa eines Betriebssystems
oder von Objekten der systemspezifischen Programmfamilie (Native
Suite), für
ein Set-Top-Terminal
für anfängliche
oder hochrüstende
Programmierung des Set-Top-Terminals über das
Kabelnetz.
-
ALLGEMEINER
STAND DER TECHNIK
-
Bei
einer typischen Kabelfernsehanlage wird den Teilnehmern eine Set-Top-Box oder ein Set-Top-Terminal
bereitgestellt. Das Set-Top-Terminal ist eine Box mit elektronischer
Ausrüstung,
die verwendet wird, um den Fernseher des Teilnehmers und eventuell
andere elektronische Ausrüstungen
mit dem Kabelnetz zu verbinden. Die Set-Top-Box ist mit dem Kabelnetz
normalerweise über
eine koaxiale Steckdose verbunden.
-
Die
Set-Top-Box ist im Wesentlichen ein Computer, der programmiert ist,
um die Signale von dem Kabelnetz zu verarbeiten, um den Teilnehmer mit
den Kabeldiensten zu versorgen. Diese Dienste des Kabelfernsehunternehmens
umfassen typischerweise Zugang zu einer Reihe von Fernsehkanälen und
vielleicht einen elektronischen Programmierführer (EPG). Zusätzliche
Vorzugskanäle
können
den Teilnehmern für
eine zusätzliche
Gebühr
ebenfalls bereitgestellt werden. Per-Sendung-Bezahl-Veranstaltungen
und Videoabrufdienst können ebenfalls über das
Kabelnetz bereitgestellt werden. Die Set-Top-Box ist darauf programmiert,
diese Dienste für
den Teilnehmer bereitzustellen.
-
Die
Dienste des Kabelunternehmens müssen
jedoch nicht darauf begrenzt sein, Fernsehprogrammierung bereitzustellen.
Manche Kabelunternehmen bieten nun Internet-Zugang und E-Mail-Dienste über ihre
Kabelnetze an, bei Geschwindigkeiten, die viel schneller sind als
die über herkömmliche
Telefonleitungen verfügbaren.
Für die Zukunft
ist vorhersehbar, dass immer mehr Dienste über das Kabelnetz bereitgestellt
werden, einschließlich
vielleicht sogar elementaren Telefondienstes. Letztendlich kann
jeder Haushalt oder jedes Büro über das
Kabelnetz einen einzelnen Anschluss an alle elektronischen Datendienste
aufweisen.
-
Während das
Kabelnetz und die bereitgestellten Dienste evolvieren, muss das
Set-Top-Terminal ebenfalls evolvieren, um Teilnehmern alle von dem
Kabelnetz erhältlichen
Dienste, die für
diese Teilnehmer interessant sind, bereitstellen zu können. Diese
Set-Top-Box-Evolution bringt hauptsächlich Veränderungen der Programmierung
der Set-Top-Box mit sich. Durch das Hochrüsten der Software oder Firmware
der Set-Top-Box kann die Box dazu gebracht werden, effizienter zu
arbeiten oder neue Dienste anzubieten, während das Kabelnetz evolviert.
-
Um
die Gesamtheit der Set-Top-Boxen in einem Kabelnetz hochzurüsten, ist
es vorzuziehen, die neue Programmierung über das Kabelnetz selbst an die
Set-Top-Boxen zu übertragen.
Andernfalls muss ein Techniker jeden Teilnehmer aufsuchen, um die Set-Top-Box
dieses Teilnehmers hochzurüsten
oder umzuprogrammieren. Derartige Hochrüstungen vor Ort würden offensichtlich
erhebliche Kosten verursachen.
-
Die
Kopfstelle ist die Einrichtung, von der der Kabelnetzbetreiber Fernsehsignale
sendet und andere Dienste über
das Kabelnetz bereitstellt. Aktualisierte Software, die der Gesamtheit
der Set-Top-Terminals
bereitgestellt wird, wird von der Kopfstelle über das Kabelnetz gesendet.
Die Kopfstelle kann auch Nachrichten oder Befehle über das
Kabelnetz an die Set-Top-Terminals senden.
-
In
seiner Verwendung hier bezieht sich ein Programmiercodeobjekt oder
ein Codeobjekt auf ein einzelnes Programm, d. h. ein Stück Software
oder Firmware, das auf ein Set-Top-Terminal heruntergeladen und
von ihm ausgeführt
werden kann. Allgemeiner bezieht sich ein Datenobjekt auf eine beliebige
Datenstruktur, einschließlich
eines Codeobjekts, einer Nachricht oder eines Befehls, die von der
Kopfstelle über
das Kabelnetz an ein oder mehrere Set-Top-Terminals übertragen
wird.
-
Oftmals
muss ein Set-Top-Terminal einige neue Codeobjekte, d. h. Stücke Software
oder Firmware, erwerben, um neue Dienste bereitzustellen oder die
Programmierung in dem Set-Top-Terminal hochzurüsten. Diese verschiedenen Stücke der
Programmierung können
häufig
zusammenwirken und einander erfordern, um richtig zu funktionieren.
Folglich treten Probleme auf, wenn das Set-Top-Terminal einige,
aber nicht alle der Codeobjekte, die als Teil der Programmierhochrüstung heruntergeladen
werden sollen, erwirbt. Wenn das Set-Top-Terminal mit dem Laufenlassen
der neu erworbenen Codeobjekte beginnt, ist es wahrscheinlich, dass
diese Codeobjekte aufgrund der Abwesenheit anderer, gegenseitig abhängiger Codeobjekte,
die das Set-Top-Terminal erworben und ausgeführt haben sollte, nicht richtig oder überhaupt
nicht funktionieren.
-
Daher
besteht ein Bedarf im Fach für
ein Verfahren zum Steuern des Herunterladens von Codeobjekten durch
ein Set-Top-Terminal in einer Kabelfernsehanlage, um die Ausführung von
neu erworbenen Codeobjekten zu verhindern, die die Anwesenheit von
anderen Codeobjekten erfordern, die das Set-Top-Terminal erworben
haben sollte, aber, aus welchem Grund auch immer, nicht herunterladen konnte.
-
EP-A-0732850
offenbart ein Verfahren zum Verwalten des Herunterladens von Codeobjekten
auf ein Set-Top-Terminal in einem CAN-System auf eine solche Weise,
dass Unterbrechungen, die auftreten können, wenn nur einige der in
einem Herunterladevorgang spezifizierten Codeobjekte erfolgreich
heruntergeladen werden, verhindert werden. Dieser Stand der Technik
spaltet die herunterzuladende Information in Segmente auf. Bei Empfang
eines jeden Segments wird eine Überprüfung durchgeführt, um zu
bestimmen, ob das Segment richtig heruntergeladen wurde. Ist dies
nicht der Fall, wird das Segment übergangen und das nächste Segment
wird heruntergeladen. Nachdem das letzte Segment verarbeitet wurde,
wird die Vorgehensweise wiederholt, bis alle Segmente erfolgreich
heruntergeladen wurden oder eine zuvor festgelegte Zeitabschaltung
eintritt.
-
EP-A-0752786
offenbart ein weiteres System zum Herunterladen und Authentifizieren
von Programmodulen, die in Kombination mit Audio-/Videodaten übertragen
werden, bei dem die Integrität
individueller, von dem System heruntergeladener Programmodule verifiziert
wird, bevor das Programm ausgeführt
wird.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es
ist ein Ziel der vorliegenden Erfindung, den oben beschriebenen
und anderen Bedürfnissen zu
entsprechen. Insbesondere ist es ein Ziel der vorliegenden Erfindung,
ein System und ein Verfahren zum Steuern des Herunterladens von
Codeobjekten durch ein Set-Top-Terminal in einer Kabelfernsehanlage
bereitzustellen, um die Ausführung
von neu erworbenen Codeobjekten zu verhindern, die die Anwesenheit
von anderen Codeobjekten erfordern, die das Set-Top-Terminal erworben
haben sollte, aber, aus welchem Grund auch immer, nicht herunterladen konnte.
-
Die
Erfindung in ihren verschiedenen Aspekten wird in den beigelegten
Ansprüchen
definiert.
-
Bevorzugte
Merkmale und Vorteile der Erfindung sind aus der Beschreibung und
den Ansprüchen
ersichtlich.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
beiliegenden Zeichnungen stellen die vorliegende Erfindung dar und
sind ein Teil der Patentschrift. Zusammen mit der folgenden Beschreibung
zeigen und erklären
die Zeichnungen die Prinzipien der vorliegenden Erfindung.
-
1 ist
ein Ablaufdiagramm, das die grundlegende Sequenz zeigt, in der Programmierobjekte von
dem Set-Top-Terminal gemäß einer
verwandten Erfindung erworben werden.
-
2 ist
ein Blockschaltbild der grundlegenden Elemente einer Kabelfernsehanlage,
mit denen die vorliegende Erfindung ausgeübt wird.
-
3 ist
ein Ablaufdiagramm, das ein Verfahren zum Steuern und Freigeben
einer Liste von heruntergeladenen Codeobjekten gemäß der vorliegenden
Erfindung zeigt.
-
4 ist
eine graphische Darstellung einer Steuerungsnachricht zum Herunterladen
gemäß der vorliegenden
Erfindung.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Eine
verwandte Patentanmeldung, WO 00/64180, beschreibt umfassend ein
gesetzlich geschütztes
Verfahren und System zum Herunterladen von Programmierobjekten auf
Set-Top-Terminals in einem Kabelsystem. 1 ist ein
Ablaufdiagramm, das die grundlegende Sequenz, in der Programmierobjekte
von dem Set-Top-Terminal über
das Kabelsystem gemäß diesem
Verfahren erworben werden, darstellt. 2 ist ein
Blockschaltbild, das die grundlegenden Elemente einer Kabelfernsehanlage,
die unter Verwendung der vorliegenden Erfindung arbeitet, zeigt.
-
Mit
Bezugnahme auf 1 und 2 führt ein
Set-Top-Terminal (202; 2) einen
automatischen Urladevorgang direkt nach dem Stromanschluss des Set-Top-Terminals
durch. Wie in 1 gezeigt, beginnt der Urladevorgang
damit, dass das Set-Top-Terminal ein Programmierstück, das
als Urladecode (100) bekannt ist, ausführt. Der Urladecode ist ein
Programmierobjekt, das in den Festwertspeicher (ROM) des Set-Top-Terminals fabrikmäßig eingebaut
ist. Wie bei aller von dem Set-Top-Terminal (202) ausgeführter Programmierung
ist der Urladecode in der Speichereinheit (212; 2)
gespeichert und wird durch den Prozessor (211; 2)
ausgeführt.
-
In
einer anderen Alternative initiiert das Set-Top-Terminal (202)
den in 1 gezeigten Urladevorgang möglicherweise nicht, bevor sowohl Strom
als auch ein Datentransportstrom von der Kopfstelle (201; 2)
mit dem Terminal (202) verbunden worden sind. Das Set-Top-Terminal
kann den Urladecode (100) auch als Reaktion auf ein zum
Beispiel von der Kopfstelle (201), d. h. dem Systembetreiber,
empfangenes Rücksetzsignal
ausführen.
-
Während des
Laufens stellt der Urladecode dem Set-Top-Terminal (202)
minimale Programmierung bereit, um es dem Terminal zu ermöglichen,
sich zu voller Funktionalität
hoch zu bringen. Der Urladecode ermöglicht es dem Set-Top-Terminal
(202) typischerweise nicht, irgendwelche Dienste bereitzustellen,
sondern ist nur entworfen, um, wenn nötig, höherwertige Programmierung zu
erwerben und zu laden. Der Begriff „Urladecode", wie hier verwendet, beinhaltet
den minimalen Code, der benötigt
wird, um diese Funktionalität
zu erreichen.
-
Wie
in 1 gezeigt, erwirbt der Urladecode zuerst den Basis-Plattform-Code (101–105).
Der Urladecode überprüft als erstes
den Speicher (212; 2) des Set-Top-Terminals
(202), um zu bestimmen, ob der Basis-Plattform-Code dort gespeichert ist
(101, 102). Wenn sich der Basis-Plattform-Code im
Speicher (212) befindet, authentifizier der Prozessor (211; 2)
des Set-Top-Terminals (202), der den Urladecode laufen
lässt,
den Basis-Plattform-Code (104) und, unter der Annahme,
dass der Code den Authentifizierungsvorgang besteht, beginnt mit
dem Ausführen
des Basis-Plattform-Codes (105).
-
Wenn
sich der Basis-Plattform-Code nicht im Speicher befindet (102),
greift das Set-Top-Terminal (202) auf den Datentransportstrom
von der Kopfstelle (201; 2) zu, lokalisiert
eine Übertragung
des Basis-Plattform-Codes
innerhalb des Kopfstellensignals unter Verwendung des Tuners (210; 2)
und lädt den
Basis-Plattform-Code herunter (103). Der Basis-Plattform-Code
wird vorzugsweise auf einem Außerband-Transportstrom zur
Speicherung in einem Blitzspeicher-Anteil der Speichereinheit (212)
an das Set-Top-Terminal übertragen.
Der Basis-Plattform-Code
kann jedoch auf einem Inband-Steuerkanal übertragen werden.
-
Der
heruntergeladene Plattform-Code wird dann wie zuvor authentifiziert (104)
und ausgeführt. Der
Urladecode authentifiziert den Basis-Plattform-Code vorzugsweise jedes Mal erneut,
wenn er das Basis-Plattform-Objekt startet, ungeachtet dessen, ob
der Basis-Plattform-Code im Speicher (212) gefunden oder
heruntergeladen worden ist.
-
Sobald
der Basis-Plattform-Code gestartet wurde, geht die Steuerung des
Terminals (202) vom Urladecode zum Basis-Plattorm-Code.
Wenn der Basis-Plattform-Code ausgeführt wird, kann das Set-Top-Terminal
(202) Teilnehmern minimale Funktionalität bereitstellen, es zum Beispiel
dem Teilnehmer ermöglichen,
Fernsehprogrammierung von dem Kabelsystem zu empfangen. Damit das
Set-Top-Terminal volle Funktionalität erzielen kann, muss der Basis-Plattform-Code
jedoch eine zusätzliche
Programmierung, bekannt als systemspezifische Programmfamilie, erwerben.
Die systemspezifische Programmfamilie beinhaltet ein Betriebssystemobjekt
und normalerweise zusätzliche
Anwendungsprogramme. Diese zusätzlichen
oder „residenten" Anwendungen sind
Computerprogramme, die auf dem Set-Top-Terminal unter dem Betriebssystem
laufen. Die residenten Anwendungen stellen die zusätzlichen
Fähigkeiten
des Set-Top-Terminals, die neben dem Anschauen von Fernsehen hinzukommen,
bereit.
-
Wie
in 1 gezeigt, überprüft (106, 107) der
Basis-Plattform-Code, wenn er das erste Mal ausgeführt oder
durch ein Signal von der Kopfstelle zurückgesetzt wird, die Speichereinheit
(212), um zu bestimmen, ob ein Betriebssystemcodeobjekt
bereits im Terminal (202) resident ist. Das Betriebssystem (OS)
ist typischerweise ein Code von einer dritten Partei (wie beispielsweise
Microsofts WinCETM), der es dem Set-Top-Terminal
(202) ermöglicht,
die verschiedenen residenten Anwendungen der systemspezifischen
Programmfamilie laufen zu lassen. Der Betriebssystemcode verwendet
typischerweise ein zusätzliches,
von dem Hersteller des Set-Top-Terminals bereitgestelltes eingebettetes
Code- Modul, das das
Betriebssystem mit der bestimmten Hardware des Set-Top-Terminals verbindet,
um das Betriebssystem zur Funktion mit dem spezifischen Set-Top-Terminal
freizugeben.
-
Wenn
das Betriebssystemcodeobjekt im Speicher (212) gefunden
wird, autorisiert und authentifiziert der Basis-Plattform-Code den
Betriebssystemcode (109) aus dem Speicher (212).
Wenn sich der Betriebssystemcode nicht im Speicher (212) befindet,
greift das Set-Top-Terminal
(202), das den Basis-Plattform-Code laufen lässt, auf
den Datentransportstrom von der Kopfstelle (201) zu und
lokalisiert und lädt
ein geeignetes Betriebssystemcodeobjekt herunter (108).
Das heruntergeladene Objekt wird dann autorisiert und authentifiziert
(109).
-
Der
Betriebssystemcode wird ausgeführt (110),
sobald er autorisiert und authentifiziert ist. Wenn der Betriebssystemcode
läuft,
kann das Set-Top-Terminal
ebenfalls die zusätzlichen
Codeobjekte oder Anwendungen der systemspezifischen Programmfamilie,
die den Benutzern jegliche Vielfalt von Diensten bereitstellen,
ausführen.
Der Basis-Plattform-Code kann so konfiguriert sein, dass er alle
Elemente der systemspezifischen Programmfamilie zusammen mit dem
Betriebssystem erwirbt. Alternativ kann, wie in 1 dargestellt,
das Betriebssystem, wenn es läuft,
so konfiguriert sein, dass es die anderen Elemente der systemspezifischen
Programmfamilie erwirbt.
-
Der
Prozessor (211), der den Betriebssystemcode laufen lässt, überprüft vorzugsweise
zuerst die Speichereinheit (212) auf die erwarteten Elemente
der systemspezifischen Programmfamilie (111). Wenn sich
die Anwendungen der systemspezifischen Programmfamilie im Speicher
(212) befinden, kann das Betriebssystem diese Anwendungen
autorisieren und authentifizieren (114) und sie ausführen (115).
-
Der
Prozessor (211) bestimmt dann, ob er angewiesen wurde,
beliebige zusätzliche
Objekte zu erwerben (112), einschließlich Anwendungen der systemspezifischen
Programmfamilie, die nicht im Speicher (212) gefunden wurden.
Wenn nicht, ist das Set-Top-Terminal voll funktionsfähig (116).
Wenn der Prozessor (211) jedoch zusätzliche Objekte erwerben muss,
werden diese Anwendungen von dem Kabelnetz heruntergeladen (113).
Die heruntergeladenen Anwendungsobjekte werden autorisiert und authentifiziert
(117) und ausgeführt
(118).
-
Sobald
das Betriebssystem und alle anderen spezifizierten Anwendungen laufen,
hat das Set-Top-Terminal volle Funktionalität erreicht (116). Wie
dem Fachmann klar ersichtlich ist, kann die Liste der Anwendungen
der systemspezifischen Programmfamilie von Set-Top-Terminal zu Set-Top-Terminal variieren.
Ein Teilnehmer, der weniger Dienste vom Kabelsystem abonniert, benötigt möglicherweise
weniger Anwendungen der systemspezifischen Programmfamilie als ein
Teilnehmer, der für
alle verfügbaren
Dienste zahlt. Zusätzlich
können,
wenn neue Dienste hinzugefügt
werden, Anwendungen zu der systemspezifischen Programmfamilie hinzugefügt werden,
um die neuen Dienste zu unterstützen. Daher
kann die Liste der Anwendungen, die die systemspezifische Programmfamilie
ausmachen, sowohl zeitlich als auch nach Teilnehmerbedürfnissen und
-vorlieben variieren.
-
Wie
oben angemerkt, kann der Basis-Plattform-Code die systemspezifische
Programmfamilie, die aus dem Betriebssystem und residenten Anwendungen
besteht, während
der Initialisierung des Set-Top-Terminals
oder nach Empfang eines dahingehenden Befehls von dem Systembetreiber
erwerben. Wenn der Systembetreiber wünscht, das Betriebssystem oder
residente Anwendungen im Set-Top-Terminal zu ändern oder hochzurüsten, kann der
Systembetreiber folglich eine Initialisierungsnachricht über das
Kabelnetz an das Set-Top-Terminal schicken, die den Basis-Plattform-Code
anweist, das Betriebssystem und residente Anwendungen, die dann über das
Kabelnetz gesendet werden, zu erwerben oder erneut zu erwerben.
Alternativ kann der Systembetreiber dem Betriebssystem signalisieren, Elemente
der systemspezifischen Programmfamilie zu erwerben oder erneut zu
erwerben. Diese Nachrichten von der Kopfstelle (201) können zur
gleichen Zeit auch die Liste der Elemente ändern, die die systemspezifische
Programmfamilie des Terminals definieren.
-
Während es
diese Anordnung auf einfache Weise ermöglicht, die Fähigkeiten
des Set-Top-Terminals hochzurüsten,
zu ändern
oder zu verbessern, können
daraus jedoch auch Unterbrechungen des Dienstes für den Set-Top-Benutzer
resultieren. Wenn zum Beispiel der Basis-Plattform-Code oder der Betriebssystemcode
einen Befehl empfängt,
neue Codeobjekte über
das Kabelnetz zu erwerben, spezifiziert dieser Befehl das Codeobjekt
oder die Objekte, die erworben werden sollen. Wenn mehr als ein
Objekt erworben werden soll, kann ein Problem auftreten, wenn nur
eines der Objekte tatsächlich
durch das Set-Top-Terminal
(202) empfangen wird.
-
Spezifischerweise
kann das Terminal (202) das erste Codeobjekt, das zu erwerben
es angewiesen worden ist, empfangen und freigeben. Wenn dann, aus
welchem Grund auch immer, das Set-Top-Terminal nicht fähig ist,
die anderen Codeobjekte zu erwerben, die herunterzuladen es angewiesen
worden ist, sind die durch diese nicht empfangenen Codeobjekte durchgeführten Funktionen
für den Set-Top-Terminal-Benutzer nicht verfügbar. Des
Weiteren sind Codeobjekte häufig
interreliert. Folglich kann das Objekt, das heruntergeladen wurde,
ohne die anderen Objekte, die heruntergeladen werden sollten, jedoch
nicht empfangen wurden, möglicherweise
nicht richtig funktionieren. Auf ähnliche Weise können Freigabe
und Ausführung
des neuen Codeobjekts, das empfangen wurde, die Ausführung der Software
oder Firmware, die vorher auf dem Set-Top-Terminal resident war,
störend
beeinflussen, wenn die anderen, zum Herunterladen spezifizierten Objekte
nicht auch erworben und ausgeführt
wurden.
-
Daher
besteht, wie oben erwähnt,
ein Bedarf im Fach nach einem Verfahren zum Steuern des Herunterladens
von Codeobjekten durch ein Set-Top-Terminal in einer Kabelfernsehanlage,
um die Ausführung
von neu erworbenen Codeobjekten zu verhindern, die die Anwesenheit
von anderen Codeobjekten erfordern, welche das Set-Top-Terminal erworben
haben sollte, aber, aus welchem Grund auch immer, nicht herunterladen
konnte. Die vorliegende Erfindung bewältigt dieses mögliche Problem auf
die folgende Weise.
-
Das
Set-Top-Terminal (202), das den Basis-Plattform- oder Betriebssystemcode
laufen lässt, identifiziert
die Liste der Objekte, die zu erwerben es angewiesen worden ist.
Typischerweise ist diese Liste eine vollständige Liste der Objekte in
der systemspezifischen Programmfamilie. Es ist jedoch möglich, dass
die Liste der zu erwerbenden Objekte nur einen Anteil der systemspezifischen
Programmfamilie darstellt.
-
Die
Liste der zu erwerbenden Objekte und der Befehl, diese zu erwerben,
kann entweder von einer von dem Systembetreiber über die Kopfstelle (201)
empfangenen Nachricht kommen oder kann Teil der Programmierung des
Terminals, entweder des Basis-Plattform- oder des Betriebssystemcodes, sein.
In beiden Fällen
beginnt das Set-Top-Terminal (202) mit dem Erwerben der
aufgelisteten Objekte von dem über
das Kabelsystem (203) von der Kopfstelle (201)
empfangenen Transportstrom. Das Terminal (202) wird jedoch
keines der empfangenen Objekte freigeben oder ausführen, bis
alle für
die Erfassung aufgelisteten Objekte erfolgreich empfangen worden
sind. Die Programmierung, die das Herunterladen verwaltet, z. B.
der Basis-Plattform-Code oder der Betriebssystemcode, wird modifiziert
oder rekonfiguriert, um die erfolgreiche Erfassung aller aufgelisteten
Codeobjekte zu verlangen, bevor irgendeines der Objekte freigegeben
und ausgeführt
wird. Auf diese Weise verbleibt das Set-Top-Terminal (202) nicht
mit nur einem Bruchteil der Objekte, die zu erfassen und auszuführen es
angewiesen worden ist, oder mit einem Objekt, das mit bereits residenter
Programmierung kollidiert.
-
Eine
graphische Darstellung einer Nachricht, die ein Set-Top-Terminal
anweist, neue oder zusätzliche
Codeobjekte herunterzuladen, wird in 4 vorgestellt.
Wie in 4 gezeigt, kann die Nachricht (401) ebenfalls
eine Nur-Liste-Freigabe-Markierung (402) enthalten, die
das Set-Top-Terminal
(202) anweist, ob es nur die gesamte Liste der erworbenen Objekte
freigeben darf oder Objekte annehmen, freigeben und ausführen kann,
die nur einen Bruchteil der als zu erwerben Aufgelisteten darstellen.
Diese Nur-Liste-Freigabe-Markierung (402) braucht nur ein einzelnes
Bit innerhalb der Nachricht (401) zu sein und ist natürlich entweder
bejahend (d. h. „vorliegend" oder „an") oder negativ (d.
h. „nicht
vorliegend" oder „aus"). Mit anderen Worten,
wenn die Nur-Liste-Freigabe-Markierung (402) vorliegt,
werden alle empfangenen Objekte gleichzeitig oder fast gleichzeitig
freigegeben. Daher werden keine Objekte freigegeben, bis alle Objekte
in der Liste richtig empfangen worden sind. Die gleichzeitige Freigabe
aller empfangenen Objekte erzeugt für den Benutzer des Set-Top-Terminals die
kleinstmögliche
Unterbrechung des Dienstes.
-
Zusätzlich zum
Freigeben und Ausführen
der empfangenen Codeobjekte nur dann, wenn alle aufgelisteten Objekte
empfangen worden sind, kann das Set-Top-Terminal (202)
darauf programmiert sein, aufgelistete Objekte, die empfangen worden
sind, aus dem Speicher (212) zu säubern, wenn nicht alle Programmobjekte
in der Objektgruppe empfangen wurden. Mit anderen Worten, wenn das
Set-Top-Terminal (202) mit dem Erwerben einer Liste von
Objekten beginnt, die zu erwerben es angewiesen worden ist, und
letztendlich nicht alle der aufgelisteten Objekte empfangen werden,
kann es wünschenswert
sein, jegliche Objekte aus dem Speicher (212) zu entfernen,
die erworben wurden, die aber aufgrund des Misslingens, alle Objekte
in der Objektgruppe zu erwerben, nicht verwendet oder freigegeben
werden. Als eine Option der vorliegenden Erfindung kann das Set-Top-Terminal
(202) in dem Fall, in dem nicht alle aufgelisteten Objekte
letztendlich empfangen, freigegeben und verwendet werden, folglich
programmiert sein, aus dem Speicher (212) jegliche Codeobjekte zu
löschen,
die als eine Liste von zu empfangenden Objekten erworben worden
sind.
-
Das
Set-Top verwendet den Listen-Identifikator und die Listenversion,
um jene Objekte zu identifizieren, die die definierte Objekt-Programmfamilie ausmachen
(neueste Liste der Objekte von der Nachricht zum Herunterladen).
Wenn ein Objekt zu einer Liste in einer Nachricht (401)
zum Herunterladen hinzugegeben oder von dieser entfernt wird, aktualisiert das
Set-Top-Terminal (202) seine Programmfamilie von Objekten
im Speicher (212), die zu dieser Liste gehört, durch
das Hinzufügen
oder Entfernen dieses Objekts/dieser Objekte. Zusätzlich kann
die Listenversion verwendet werden, um das Hochrüsten eines Objekts zu forcieren,
wenn sich die in der Liste der Nachricht (401) zum Herunterladen
identifizierte Objektversion von der Objektversion, die das Set-Top
im Speicher (212) aufweist, unterscheidet.
-
Diese
Funktion des Säuberns
verschiedener Versionen von Objekten in einer Liste kann auch durch
eine Markierung (403), d. h. eine Selbstsäuberungs-Markierung
(403), innerhalb der Nachricht (401) von der Kopfstelle
(201) gelenkt werden. Wiederum braucht die Selbstsäuberungs- Markierung (403)
nur ein einzelnes Bit zu sein, das darstellt, dass die Selbstsäuberungs-Markierung
(403) innerhalb der Nachricht (401) entweder vorliegt
oder nicht vorliegt. Auf diese Weise hat der Systembetreiber die Möglichkeit,
alle aufgelisteten Objekte einer unterschiedlichen Version zu der
in der Nachricht (401) zum Herunterladen spezifizierten
aus dem Speicher (212) des Set-Top-Terminals zu tilgen.
-
Dieser
Vorgang wird in 3 skizziert. Wie in 3 gezeigt,
beginnt das Verfahren der vorliegenden Erfindung damit, dass das
Set-Top-Terminal eine Nachricht empfängt, die es anweist, neue oder zusätzliche
Codeobjekte von dem Kabelsystem zu erwerben (301). Das
Set-Top-Terminal
(202) überprüft zuerst,
ob die Selbstsäuberungs-Markierung
in der Nachricht vorliegt oder postiv ist (306); wenn ja, säubert das
Terminal (202) Objekte, die andere Versionen eines Objektes,
das in der ankommenden Nachricht zum Herunterladen spezifiziert
ist (309), auf geeignete Weise. Nach der Säuberung,
oder wenn die Selbstsäuberungs-Markierung (403)
negativ ist (306), versucht das Set-Top-Terminal (202),
die in der Nachricht aufgelisteten Codeobjekte herunterzuladen (302).
-
Wenn
das Herunterladen vollständig
ist oder anderweitig beendet wurde, vielleicht durch einen Zeitabschaltungszähler, bestimmt
das Terminal, ob alle Objekte, die zu erwerben es angewiesen war,
erfolgreich heruntergeladen wurden (303). Wenn das Terminal
nicht alle spezifizierten Objekte erworben hat, kann das Terminal
alle Objekte, die erworben wurden, aus dem Speicher löschen (307).
-
Wenn
andererseits alle Objekte erworben wurden, kann das Set-Top-Terminal dazu übergehen, die
Objekte freizugeben und auszuführen.
Das Terminal überprüft zuerst
auf die Nur-Liste-Freigabe-Markierung (305). Wenn die Listen-Freigabe-Markierung
vorliegt oder positiv ist, wird die Freigabe der heruntergeladenen
Objekte vorzugsweise gleichzeitig oder fast gleichzeitig durchgeführt, womit
die Objekte auf der Liste so behandelt werden, als ob sie ein einzelnes
Objekt wären
(304).
-
Wenn
die Nur-Liste-Freigabe-Markierung (402) negativ ist, aber
alle Objekte erfolgreich empfangen worden sind, lässt das
Set-Top-Terminal (202) die erworbenen Objekte im Speicher
(212), jedoch ohne sie freizugeben oder auszuführen (308). Wenn
nur einige der Objekte, die erworben werden sollten, erfolgreich
empfangen wurden, löscht
das Set-Top-Terminal
(202) alle Objekte auf der Liste (307).
-
Objekte
können
durch einen Objekt-Identifikator und eine Objekt-Version (d, h.
object_name und object_version) innerhalb einer Systemumgebung eindeutig
identifiziert werden. Dieser object_name ist innerhalb des Herunterlade-Transportstroms/der
Herunterlade-Transportströme,
der/die für
ein einzelnes Set-Top-Terminal (202) verfügbar ist/sind,
einzigartig. Die Nachricht, die das Set-Top-Terminal (202)
anweist, eine Liste von Objekten zu erwerben, kann sowohl den Objektnamen/einzigartigen
Identifikator als auch die Version des gewünschten Objekts identifizieren.
Wenn das Set-Top das bestimmte Objekt, aber eine andere Version,
bereits aufweist, kann es wünschenswert
sein, das Objekt, das gegenwärtig
im Set-Top-Terminal resident ist, zu entfernen, und die in der Befehlsnachricht
identifizierte Version zu erwerben. Vorzugsweise umfasst die Befehlsnachricht
von dem Dienstanbieter, die das Erwerben neuer Codeobjekte initiiert,
ebenfalls eine Markierung in der Nachricht von dem Systembetreiber,
die das Set-Top-Terminal anweist, ob es Codeobjekte, die bereits
im Speicher (212) des Set-Top-Terminals resident sind und
die in der Objektliste der Nachricht durch einen einzigartigen Transport-Objekt-Identifikator
(d. h. object_name) identifiziert sind, aber eine andere Version
sind als die, die in der Objektliste der Nachricht aufgelistet sind
(d. h. object_version), automatisch säubern soll. Sowohl die Selbstsäuberungs-Markierung
und die Listen-Freigabe-Markierung, die den Empfang aller aufgelisteten
Codeobjekte erfordert, bevor auch nur eins freigegeben wird, müssen nur
eine Länge
von einem Bit aufweisen.
-
Unter
den Prinzipien der vorliegenden Erfindung kann dann eine systemspezifische
oder Betriebsprogrammfamilie, die aus einer Reihe von Codeobjekten
besteht, übertragen
und durch die Set-Top-Terminals in einer Kabelfernsehanlage für alle Absichten
und Zwecke verwendet werden, als ob die Programmfamilie ein einzelnes
Codeobjekt wäre. Dieses
Merkmal der vorliegenden Erfindung ermöglicht es Systembetreibern,
Unterbrechungen des Dienstes und Verwirrung, die andernfalls entstehen könnten, wenn
der Codeobjekt-Satz nur teilweise erfolgreich heruntergeladen wird,
zu minimieren.
-
Die
vorhergehende Beschreibung wurde nur vorgestellt, um die Erfindung
darzustellen und zu beschreiben. Sie soll nicht vollständig sein
oder die Erfindung auf eine bestimmte offenbarte Form einschränken. Viele
Modifizierungen und Variationen sind angesichts der obigen Lehre
möglich.
-
Die
bevorzugte Ausführungsform
wurde ausgewählt
und beschrieben, um die Prinzipien der Erfindung und ihre praktische
Anwendung am besten zu erklären.
Die vorhergehende Beschreibung soll es anderen Fachleuten ermöglichen,
die Erfindung in verschiedenen Ausführungsformen und mit verschiedenen
Modifizierungen, wie sie für
die vorgesehene Verwendung geeignet sind, am besten zu benutzen.