-
BEREICH DER
ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf den Bereich des Programmierens
eines Set-Top-Terminals einer Kabelfernsehanlage, insbesondere das Hochrüsten oder
Erweitern der Software oder Firmware in dem Set-Top-Terminal. Insbesondere
bezieht sich die vorliegende Erfindung auf den Bereich des Anweisens
einzelner Terminals oder einer Gruppe von Terminals, um ein neues
oder hochgerüstetes Programmierobjekt
oder eine Liste von Objekten über
die Kabelfernsehanlage zu erlangen.
-
HINTERGRUND
DER ERFINDUNG
-
In
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
an das Kabelnetz anzuschließen.
Die Set-Top-Box ist an das Kabelnetz normalerweise über eine
koaxiale Steckdose angeschlossen.
-
Die
Set-Top-Box ist im Wesentlichen ein Computer, der programmiert ist,
um die Signale von dem Kabelnetz zu bearbeiten, um den Teilnehmer
mit den Kabeldiensten zu versorgen. Diese Dienste vom Kabelfernsehunternehmen
umfassen typischerweise Zugang zu einer Anzahl von Fernsehkanälen. Zusätzliche
Vorzugskanäle
können
Teilnehmern für eine
zusätzliche
Gebühr
ebenfalls bereitgestellt werden. Gebührenfernseh-Veranstaltungen können ebenfalls über das
Kabelnetz bereitgestellt werden. Die Set-Top-Box ist programmiert,
um 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 das
Kabelnetz bei Geschwindigkeiten, die viel schneller sind als die über herkömmliche
Telefonleitungen verfügbaren.
Für die
Zukunft wird erwartet, dass immer mehr Dienste üblicherweise über Kabelnetze
bereitgestellt werden, einschließlich Videoabruf und sogar
elementaren Telefondienstes. Letztendlich kann jeder Haushalt oder
jedes Büro über das
Kabelnetz einen einzelnen Anschluß an alle elektronischen Datendienste
aufweisen.
-
Wenn
das Kabelnetz und die bereitgestellten Dienste evolvieren, muss
das Set-Top-Terminal ebenfalls evolvieren, um Teilnehmer mit allen
Diensten des Kabelnetzes versorgen zu können. Diese Set-Top-Box-Evolution umschließt hauptsächlich Veränderungen
der Programmierung der Set-Top-Box. 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.
Ansonsten muss ein Techniker jeden Teilnehmer aufsuchen, um die Set-Top-Boxen
hochzurüsten.
Derartige Aufrüstungen
am Einsatzort würden
offensichtlich erhebliche Kosten für den Betreiber der Anlage
verursachen.
-
Die
Kopfstelle ist die Einrichtung, von der der Kabelnetzbetreiber Fernsehsignale
rundsendet 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 rundgesendet.
Nachrichten, die den Set-Top-Terminals Anweisungen oder Informationen
erteilen, können
ebenfalls von der Kopfstelle rundgesendet werden. Nachrichten und
Programmierung werden routinemäßig von
der Kopfstelle über
das Kabelnetz rundgesendet.
-
Diese
Nachrichten und Programmierung sind typischerweise „paketiert", das bedeutet, dass die
Daten der Nachricht oder der Software oder der Firmware in einzelne „Pakete" oder Datensegmente geteilt
sind. Jedes Paket umfasst einen Anfangsblock, der die Nachricht
oder das Objekt, von der/dem dieses Paket ein Teil ist, identifiziert
und die Position der Daten dieses Pakets in der Nachricht oder dem
Objekt identifiziert. Folglich kann das Set-Top-Terminal die Pakete
der Nachricht oder des Objekts, die es zu erlangen versucht, sammeln
und die paketierten Daten in die durch die Kopfstelle gesendete
Nachricht oder in das durch die Kopfstelle gesendete Objekt mischen.
Die Pakete jedes übertragenen
Datenobjekts tragen einen eindeutigen Paketkennzeichner (PID), typischerweise
eine Zahl, oder einen anderen Kennzeichner innerhalb des PID-Stroms,
der die Pakete als zu einem bestimmten übertragenen Datenobjekt zugehörig identifiziert.
-
Mit
der Paketierung der übertragenen
Datenobjekte können
zahlreiche Datenobjekte gleichzeitig durch Einstreuen oder „zyklisches
Wiederholen (Karussell)" der
Pakete der verschiedenen übertragenen Objekte
rundgesendet werden. Die Pakete jedes Objekts können für einen Zeitraum kontinuierlich übertragen
und erneut übertragen
werden, um Set-Top-Terminals eine kontinuierliche Möglichkeit
zu geben, das Objekt zu erlangen. Diese Ströme von Datenpaketen können sowohl
auf Inband- als
auch auf Außerband(OOB)-Kanälen des
von der Kopfstelle an die Set-Top-Terminals
gesendeten Kabelsignals gesendet werden.
-
Herkömmlicherweise
enthält
das erste Paket jedes übertragenen
Objekts, als Segment 0 (null) bezeichnet, Informationen über die
Größe und Art
des paketierten Objekts, die für
das Set-Top-Terminal notwendig sind, um das Objekt vor dem Herunterladen
und Rekonstruieren zu erlangen. Folglich wartet das Set-Top-Terminal
unter herkömmlichen
Protokollen darauf, das Segment 0 des Objekts, das es zu erlangen
versucht, vor dem Beginnen des eigentlichen Herunterladens des Objekts
selbst zu empfangen. Infolgedessen kann Segment 0 durch die Kopfstelle häufiger als
andere Segmente oder Pakete des Datenobjekts erneut übertragen
werden, um das Set-Top-Terminal leichter mit den notwendigen Daten,
die zum Beginn eines Herunterladens des Objekts notwendig sind,
zu versehen.
-
Wie
erwähnt
muss der Anlagenbetreiber periodisch die Programmierung der Set-Top-Terminals hochrüsten, um
Hochrüstungen
oder zusätzliche Dienste,
die innerhalb der Anlage angeboten werden, wenn die Anlage evolviert,
unterzubringen. In manchen Fällen
können
neuere Set-Top-Terminals
eingesetzt werden, die zur Unterbringung der neusten Anlagendienste
und -protokolle bereit sind, und nur ältere Terminals müssen möglicherweise
erneut programmiert werden. Es ist daher wichtig für die Kopfstelle,
spezifische Terminals oder eine identifizierte Gruppe von Terminals
anweisen zu können,
um neue Programmierung herunterzuladen und zu implementieren.
-
In
vorherigen Anlagen ist es für
die Kopfstelle schwierig gewesen, Set-Top-Terminals anzuweisen, neue Programmierung
herunterzuladen und zu implementieren. Unter herkömmlichen
Anlagenprotokollen war es erforderlich, dass die Kopfstelle mehrfache
Nachrichten an die Set-Top-Terminals
sendet, um die Identifizierung eines Objekts zu spezifizieren, das
die Set-Top-Terminals herunterladen soll, und die Anweisung bereitzustellen,
um das Objekt zu erlangen. Unter Verwendung von Standard-Protokollen sucht
das Set-Top-Terminal dann die von der Kopfstelle eingehenden Steuerkanäle und Datenströme nach
dem Strom ab, der das identifizierte herunterzuladende Objekt enthält. Sobald
der angemessene Datenstrom für
das Objekt lokalisiert ist, muss das Set-Top-Terminal auf das Segment 0 des Objekts
und die Informationen, die das Segment 0 enthält. warten, bevor das Herunterladen
des Objekts beginnt. Zusätzliches
Signalisieren von der Kopfstelle ist erforderlich, um das Set-Top-Terminal zu autorisieren
und freizugeben, um die neue Programmierung zu implementieren.
-
EP-A-0,905,984
offenbart eine Anlage zum Herunterladen von Computersoftware mit
einem Rundfunkprogramm; eine Herunterlade-Rundsendetabelle wird verwendet, die
ein Datum, einen Übertragungskanal
und den Namen und die Versionsnummer der Software umfasst.
-
WO
97/30549 offenbart eine Mehrplatzanlage, in der Terminals Plattform-Kennzeichner aufweisen,
die mit einem Plattform-Kennzeichner in einer Herunterladelokalisierernachricht übereinstimmen müssen, um
ein Herunterladen freizugeben.
-
Keines
dieser Dokumente des Stands der Technik bietet Flexibilität bei der
Definition der Speicherstelle eines herunterzuladenden Softwareobjekts,
verbunden mit dem Bereitstellen von Informationen bezüglich der
Größe des Objekts
und Informationen, die Autorisierung und Authentifizierung erleichtern.
-
Folglich
besteht Bedarf im Fach an einer verbesserten Anlage zum Verwalten
der Programmierung in einer Gesamtheit von Set-Top-Terminals in einer
Kabelfernsehanlage. Spezifischerweise besteht Bedarf im Fach an
einem vereinfachten und verbesserten Verfahren und einer Anlage,
mit der eine Kopfstelleneinrichtung Set-Top-Terminals anweisen kann, spezifizierte
Programmiercodeobjekte herunterzuladen und zu implementieren.
-
ZUSAMMENFASSUNG
DER VORLIEGENDEN ERFINDUNG
-
Die
vorliegende Erfindung entspricht den oben identifizierten und anderen
Bedürfnissen.
Spezifischerweise ist es ein Ziel der vorliegenden Erfindung, ein
Verfahren und eine Anlage bereitzustellen, durch die eine Kopfstelleneinrichtung
Set-Top-Terminals leicht anweisen kann, spezifizierte Programmiercodeobjekte
herunterzuladen und zu implementieren.
-
Die
vorliegende Erindung stellt ein Verfahren zum Steuern des Herunterladens
von Code- und Datenobjekten durch ein Set-Top-Terminal in einer
Kabelfernsehanlage bereit, wobei das Verfahren Folgendes beinhaltet:
Übertragen
einer Herunterladesteuernachricht an das Set-Top-Terminal, wobei
die Herunterladesteuernachricht ein herunterzuladendes Objekt spezifiziert;
Übertragen
des Objekts über
einen Transportstrom oder Speichern des Objektes an einer Verweisadresse;
und
Freigeben des Set-Top-Terminals zum Beginn des Herunterladens
des Objekts nach Empfang der Herunterladesteuernachricht;
dadurch
gekennzeichnet, dass die Herunterladesteuernachricht auch eine Größe des Objekts,
eine Speicherstelle des Objekts und eine Speicherstelle einer Berechtigungssteuerdatenstruktur,
die Informationen über
das Objekt enthält,
die zum Autorisieren und Authentifizieren des Objekts verwendet
werden, spezifiziert;
und dass die Berechtigungssteuerdatenstruktur über einen
anderen Transportstrom transportiert oder an einer anderen Verweisadresse
gespeichert wird.
-
Die
Erfindung stellt in einem anderen Aspekt auch eine Anlage zum Steuern
des Herunterladens von Code- und Datenobjekten durch eine Set-Top-Box in einer
Kabelfernsehanlage bereit, wobei die Anlage Folgendes beinhaltet:
das
Set-Top-Terminal, das an die Kabelfernsehanlage angeschlossen ist;
und
ein Mittel zum Übertragen
einer Herunterladesteuernachricht an das Set-Top-Terminal, wobei die Herunterladesteuernachricht
ein herunterzuladendes Objekt spezifiziert;
wobei das Set-Top-Terminal
nach Empfang der Herunterladesteuernachricht freigegeben wird, das
Herunterladen des Objekts zu beginnen, wobei das Objekt über einen
Transportstrom übertragen
oder an einer Verweisadresse gespeichert wird;
dadurch gekennzeichnet,
dass die Herunterladesteuernachricht ferner eine Größe des Objekts,
eine Speicherstelle des Objekts und eine Speicherstelle einer Berechtigungssteuerdatenstruktur,
die Informationen über
das Objekt enthält,
die zum Authentifizieren und Autorisieren des Objekts verwendet
werden, spezifiziert;
und dass die Berechtigungssteuerdatenstruktur über einen
anderen Transportstrom übertragen
oder an einer anderen Verweisadresse gespeichert wird.
-
Bevorzugte
Merkmale und Vorteile der Erfindung werden aus den Ansprüchen und
aus der folgenden Beschreibung ersichtlich.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
Zeichnungen sind ein Teil der Beschreibung und können verwendet werden, um die
vorliegende Erfindung besser zu verstehen. In den Zeichnungen ist:
-
1 ein Blockschaltbild eines
Kabelnetzes einschließlich
einer Kopfstelle und einer Gesamtheit von Set-Top-Terminals, mit
denen die vorliegende Erfindung ausgeführt wird.
-
2 ein Ablaufdiagramm, das
den Betrieb der erfindungsgemäßen Anlage
unter Verwendung der Herunterladesteuernachricht der vorliegenden Erfindung
darstellt.
-
2A ein Ablaufdiagramm, das
den Betrieb einer zweiten Ausführungsform
der erfindungsgemäßen Anlage
unter Verwendung der Herunterladesteuernachricht der vorliegenden
Erfindung darstellt.
-
3 ein Ablaufdiagramm, das
den eigentlichen erfindungsgemäßen Herunterladeschritt
aus 2 und 2A detaillierter beschreibt.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Gemäß der vorliegenden
Erfindung wird ein neues Protokoll einschließlich einer Nachricht zum Anweisen
und Freigeben eines Set-Top-Terminals oder
einer Gruppe von Terminals definiert, um ein Software- oder Firmwareobjekt
oder eine Gruppe von Objekten sofort herunterzuladen und zu implementieren.
Wie unten detailliert beschrieben wird, enthält diese Herunterladesteuernachricht
all die notwendigen Informationen, um es dem Set-Top-Terminal zu ermöglichen,
sofort mit dem Erlangen des spezifizierten Objekts oder der spezifizierten
Gruppe von Objekten zu beginnen. Vorzugsweise wird die Herunterladesteuernachricht
der vorliegenden Erfindung als ein Unterbefehl innerhalb der Freigabemeldung (EMM) übertragen,
die routinemäßig zwischen
der Kopfstelle und den Set-Top-Terminals übermittelt wird.
-
Wie
in 1 gezeigt, ist die
Kopfstelleneinrichtung (101) über ein Kabelnetz (103)
an eine Gesamtheit von Set-Top-Terminals (102) angeschlossen.
Jedes Set-Top-Terminal (102) wird durch einen bestimmten
Teilnehmer an dem Kabelnetz vereinnahmt und verwendet.
-
Jedes
Set-Top-Terminal (102) ist programmiert, um diese über das
Kabelnetz erhältlichen Dienste,
für deren
Empfang der Teilnehmer bezahlt hat, bereitzustellen.
-
Zusätzlich zur
Bereitstellung von Diensten wie etwa einem Kabelfernsehsignal kann
die Kopfstelle (101) ebenfalls Code- und Datenobjekte über das
Kabelnetz an die Set-Top-Terminals (102) übertragen.
Falls Änderungen
an der Anlage (103) oder den angebotenen Diensten erfordern,
dass die Set-Top-Terminals (102) zusätzliche oder hochgerüstete Programmierung
empfangen, kann die Kopfstelle (101) die Herunterladesteuernachricht
der vorliegenden Erfindung übertragen,
um zu bewirken, dass die Terminals (102) die neue Programmierung,
die über
das Kabelnetz (103) an die Terminals (102) rundgesendet
wird, herunterladen.
-
Unter
Bezugnahme auf 2 wird
dieses Verfahren der vorliegenden Erfindung zum Steuern des Herunterladens
der Codeobjekte durch Set- Top-Terminals
(102) innerhalb einer Kabelfernsehanlage dargestellt. Wie
in 2 gezeigt, sendet die
Kopfstelle (101) eine Herunterladesteuernachricht (201)
gemäß der vorliegenden
Erfindung. Diese Nachricht wird von den Set-Top-Terminals (102)
in der Anlage empfangen (202).
-
Innerhalb
des Netzes (103) kann jedes Set-Top-Terminal (102)
eine spezifische Adresse und eine oder mehrere Gruppenadressen aufweisen,
so dass die Kopfstelle (101) Nachrichten an spezifische Set-Top-Terminals
oder an definierte Gruppen von Terminals, die eine bestimmte Gruppenadresse
teilen, weisen kann. Alternativ kann eine Nachricht unter Verwendung
eines Anfangshinweiscode-Kennzeichens (d. h. differenzierende Information
innerhalb der Anlage oder des Set-Top, die an eine Nachricht angehängt werden
kann und spezifische Set-Top-Terminals
dazu bewegt, diese Nachricht zu akzeptieren und zu implementieren)
an eine bestimmte Gruppe von Terminals geleitet werden. Die Nachricht
wird von Set-Top-Terminals, die das spezifische Anfangshinweiscode-Kennzeichen
nicht aufweisen, ignoriert.
-
Innerhalb
des Bereichs der vorliegenden Erfindung kann die Herunterladesteuernachricht
an alle Set-Top-Terminals (102) innerhalb des Netzes rundgesendet,
an eine bestimmte Gruppe von Terminals (z. B. 102A und 102B)
sammelgesendet oder an ein bestimmtes Terminal (z. B. 102A)
einzelgesendet werden. Auf diese Weise kann der Diensteanbieter hochgerüstete Programmierung
nur auf die Klasse oder Klassen von Set-Top-Terminals (102) ausrichten,
die das Hochrüsten
benötigen.
Dies ermöglicht es
dem Diensteanbieter, Unterschiede zwischen Arten und Installationsdaten
der Terminals (102), die an die Anlage (103) angeschlossen
sind, zu berücksichtigen.
-
Wie
in 2 gezeigt, überprüft der Prozessor
(111) des Terminals (102) die Adresse oder die Anfangshinweiscode-Kennzeichen,
die der Nachricht zugehören,
gegen die Einzel- oder Gruppenadresse oder die Anfangshinweiscode-Kennzeichen,
die diesem Terminal (203) zugeordnet sind, wenn eine Herunterladesteuernachricht
von einem Set-Top-Terminal (102) empfangen wird. Wenn die
Adresse oder die Anfangshinweiscode-Kennzeichen mit dem Terminal übereinstimmen,
akzeptiert und implementiert das Terminal (102) die Herunterladesteuernachricht. Andernfalls
wird die Nachricht von dem Terminal (102) ignoriert.
-
Die
Nachricht kann ebenfalls einen Betriebsumgebungsmerker enthalten.
Dieser Merker spezifiziert zum Beispiel die Betriebsumgebung des Set-Top-Terminals, in
dem die Herunterladesteuernachricht durch das Set-Top-Terminal (102)
nur auf der Basis der Objektklasse des zu erlangenden Objekts, z.
B. ob das Objekt ein Plattform- oder Systemobjekt ist, akzeptiert
und ausgeführt
wird. Wenn der Merker auf „jede
beliebige" Umgebung
eingestellt ist (was die Standardeinstellung ist), akzeptiert das Set-Top-Terminal
(102) die Anweisungen der Nachricht ungeachtet dessen,
ob das Set-Top-Terminal (102) in der Plattformobjekt- oder
der Systemobjektumgebung betrieben wird, und führt sie aus. Wenn der Merker
auf „Plattformobjekt" eingestellt ist,
wird das Set-Top-Terminal (102) die Herunterladesteuernachricht
nur akzeptieren und ausführen,
wenn ein Plattformobjekt auf dem Set-Top-Terminal (102)
läuft und
dieses steuert. Wenn der Merker alternativ auf „Systemobjekt" eingestellt ist,
wird das Set-Top-Terminal (102) die Herunteriadesteuernachricht
nur akzeptieren und ausführen,
wenn ein Systemobjekt auf dem Set-Top-Terminal (102) läuft und
dieses steuert. Wie dem Fachmann ersichtlich ist, ist ein Systemobjekt
ein Betriebssystemobjekt, das, wenn es läuft, es dem Set-Top-Terminal
ermöglicht,
zusätzliche
Anwendungen, die erweiterte Dienste für den Teilnehmer bereitstellen,
zu erlangen und auszuführen.
Ein Plattformobjekt ist ein einfacheres Codeobjekt, das typischerweise
von dem Set-Top-Terminal vor dem Erlangen oder Starten des Betriebssystems
laufen gelassen wird, und das es dem Set-Top-Terminal ermöglichen
kann, nur grundlegende Dienste bereitzustellen.
-
Wie
in 2 gezeigt, wird das
Set-Top-Terminal (102), das eine Herunterladesteuernachricht empfängt, die
Nachricht auf einen Betriebsumgebungsmerker (204) überprüfen. Wenn
ein Merker gefunden wird, wird das Terminal (102) bestimmen,
ob seine Betriebsumgebung mit der Bezeichnung des Merkers, d.h.
allem (automatische Übereinstimmung),
Anlage oder Plattform übereinstimmt
(205). Wenn der Betriebsumgebungsmerker nicht vorhanden
ist, auf „alle" eingestellt ist
oder mit der gegenwärtigen
Betriebsumgebung des Set-Top-Terminals übereinstimmt, wird das Terminal
(102) damit fortfahren, die Anweisungen der Herunterladesteuernachricht
zu akzeptieren und auszuführen.
-
Die
notwendigen Informationen, um ein spezifiziertes Code oder Datenobjekt
herunterzuladen, wird durch den Prozessor (111) des Set-Top-Terminals (102)
aus der Herunterladesteuernachricht (206) extrahiert. Die
Herunterladesteuernachricht der vorliegenden Erfindung stellt all
die notwendigen Informationen bereit, um es dem Set-Top-Terminal
(102) zu ermöglichen,
sofort mit dem Erlangen eines spezifizierten Programmierobjekts
zu beginnen. Die Herunterladesteuernachricht identifiziert für das Set-Top-Terminal
(102) zum Beispiel die Identität und die Speicherstelle jedes
aufgelisteten Codeobjekts und dessen entsprechende Berechtigungssteuerdatenstruktur
(ECDS). Die ECDS ist eine Datenstruktur, die getrennt von ihrem
entsprechenden Codeobjekt übertragen
oder gespeichert wird, und die Informationen über das Codeobjekt enthält, die
verwendet wird, um das Codeobjekt zu autorisieren und zu authentifizieren.
-
Um
die Speicherstelle eines Codeobjekts oder dessen ECDS zu spezifizieren,
spezifiziert die Herunterladesteuernachricht den Kanal oder die
Frequenz des Transportstroms, Inband oder Außenband, auf dem/der die Pakete
für das
Codeobjekt oder ECDS übertragen
und vielleicht mit den Paketen anderer Datenobjekte zyklisch wiederholt
werden. Jedes Set-Top-Terminal
(102) umfasst einen Tuner (110), der durch den
Prozessor (111) des Terminals gesteuert wird und verwendet
werden kann, um jeden durch die Herunterladesteuernachricht als
das zu erlangende Objekt tragend spezifizierten Transportstrom einzustellen.
Das Set-Top-Terminal (102) stellt sich dann auf den Transportstrom
(207) ein. Die Herunterladesteuernachricht kann ebenfalls
den PID der Pakete spezifizieren, die das zu erlangende Codeobjekt
oder die zu erlangende ECDS tragen. Das Set-Top-Terminal (102) kann dann
alle Pakete mit dieser PID-Nummer erlangen und die gesammelten Daten
in das gewünsche
Programmiercodeobjekt oder dessen ECDS (208) neu zusammensetzen.
-
Zusätzlich werden
lokale Kabelanlagen in manchen Bereichen mit virtuellen Kanälen betrieben, die
mehrfache Kanalkarten erfordern. Folglich kann die Herunterladesteuernachricht
der vorliegenden Erfindung ein virtuelles Kanalkennzeichnungsfeld umfassen,
um eine richtige Spezifizierung der Speicherstelle eines Datenstroms,
der die Pakete eines herunterzuladenden Objekts oder dessen ECDS
in einer derartigen virtuellen Kanalanlage bereitstellt, zu ermöglichen.
-
Alternativ
kann, wie in 2A gezeigt,
das Kabelnetz (103) als Computernetz organisiert sein, das
URLs oder universelle Verweisadressen verwendet, um die Adresse
von herunterladbaren Codeobjekten zu spezifizieren. Folglich kann
die Herunterladesteuernachricht die Speicherstelle eines gelisteten Codeobjekts
und dessen entsprechende ECDS mittels URL zum Herunterladen durch
das Set-Top-Terminal (102) spezifizieren. Folglich kann
das Set-Top-Terminal (102) die spezifizierte URL (207A) ansteuern
und das erwünschte
Codeobjekt oder die entsprechende ECDS (208) erlangen.
-
Die
ECDS kann sich auf einem anderen Datentransportstrom befinden, was
von dem Terminal (102) erfordert, einen anderen Kanal einzustellen, um
sie zu erlangen. Alternativ kann sich die ECDS an einer anderen
URL befinden als das entsprechende Codeobjekt. Somit muss das Set-Top-Terminal (102) eventuell
eine zweite URL ansteuern, um die ECDS zu erlangen. Die notwendigen
Daten, um die ECDS zu lokalisieren, sind, wie angemerkt, in der
Herunterladesteuernachricht der vorliegenden Erfindung eingeschlossen.
-
Unter
Verwendung der Daten der ECDS kann das Set-Top-Terminal (102)
verifizieren, dass es das richtige Codeobjekt heruntergeladen hat
und dass das Codeobjekt ohne versehentliche oder arglistige Änderung
(209) korrekt empfangen worden ist. Es ist offensichtlich
wichtig, dass das Set-Top-Terminal
(102) das empfangene Codeobjekt authentifizieren und autorisieren
kann, bevor das Objekt von dem Set-Top-Terminal (102) ausgeführt wird.
Die ECDS kann ebenfalls eine gültige
Zeitspanne oder Lebensdauer für
das entsprechende Codeobjekt spezifizieren.
-
Die
Herunterladesteuernachricht der vorliegenden Erfindung enthält ebenfalls
Informationen über
die Größe und Art
des herunterzuladenden Objekts. Diese Information entspricht der
Information, die herkömmlicherweise
in Segment 0 des Objekts bereitgestellt wird, wenn das Objekt für die Übertragung
paketiert wird. Folglich gibt die Herunterladesteuernachricht der
vorliegenden Erfindung dem Set-Top-Terminal (102) die erforderlichen
Daten, um das Herunterladen des Objekts zu steuern, so dass das
Terminal (102) nicht auf eine Übertragung des Segments 0 des
Objekts warten muss, bevor es mit dem Herunterladen beginnt. Das
Terminal (102) kann sofort mit dem Einsammeln jedes beliebigen
Pakets oder Segments, die als zugehörig zu dem heruntergeladenen
Objekt gekennzeichnet sind, beginnen. Das Einsammeln geht weiter,
bis alle Pakete erlangt sind und in das gewünschte Objekt neu zusammengesetzt
werden können.
Das Terminal (102) kann beispielsweise mit dem Empfangen
von Paket 50 aus 100 beginnen, Pakete 51 bis 100 einsammeln, dann Pakete
0 bis 49 einsammeln und das Objekt neu zusammensetzen. Das Terminal
(102) muss auf keinen bestimmten Punkt im Paketkarrussell
warten, bevor es mit dem Erlangen beginnt.
-
Dies
veranlasst eine weitere Abwandlung in der Anlage der vorliegenden
Erfindung. Bei herkömmlichen
Anlagen würden
Set-Top-Terminals einen Zeitgeber implementieren, um die Länge der Wartezeit
bis zum Herunterladen des Segments 0 eines Objekts aufzuzeichnen.
Wenn ein vorbestimmter Zeitraum ohne die Ankunft des Segments 0
verstrichen ist, könnte
der Zeitgeber verwendet werden, um das versuchte Erlangen des Datenobjekts „abzuschalten" oder zu beenden.
Diese Zeitabschaltungseinrichtung hindert das Set-Top-Terminal daran,
damit fortzufahren, weiter unbegrenzt Betriebsmittel zum Herunterladen
des ausgewiesenen Objekts zu verwenden, wenn, aus welchem Grund
auch immer, das Objekt nicht rundgesendet wird oder das Terminal
den Datenstrom nicht länger
empfängt,
auf dem das Objekt zyklisch wiederholt wird.
-
Wie
in 3 gezeigt, ist in
der vorliegenden Erfindung ein Zeitgeber konfiguriert, um die zwischen dem
Erlangen von sequentiellen Segmenten oder Paketen des heruntergeladenen
Objekts verstrichene Zeit zu messen. Dies ist wichtig, weil das
Terminal (102) in der vorliegenden Erfindung nicht länger mit dem
Herunterladen damit beginnen muss, dass es darauf wartet, Segment
0 zu erlangen. Wenn folglich mehr als ein vorbestimmter Zeitraum
zwischen dem Empfang von Segmenten des Objekts verstrichen ist, nimmt
das Terminal (102) an, dass die Übertragung des Objekts ausgesetzt
oder anderweitig unterbrochen worden ist, und wird den Versuch beenden,
das Objekt zu erlangen. Der Prozessor (111; 1) kann den Zeitgeber nach
Bedarf enthalten, betreiben oder zurücksetzen.
-
Wie
in 3 gezeigt, wartet
das Terminal (102) auf den Empfang des ersten oder nächsten Datenpakets
von entweder dem heruntergeladenen Codeobjekt oder dessen ECDS,
nachdem der spezifizierte Datentransportstrom eingestellt (207)
oder die zugehörige
URL angesteuert (207A) worden ist. Wenn ein Paket empfangen
wird (301), wird der Zeitgeber zurückgesetzt (303). Wenn
kein nächstes
Datenpaket empfangen wird, prüft
das Terminal (102), ob der Zeitgeber einen spezifizierten
Abschaltgrenzwert (302) überschritten hat. Wenn der
Zeitgeber den Grenzwert überschritten
hat, wird das Herunterladen beendet (310). Wenn der Zeitgeber
den vorbestimmten Grenzwert nicht überschritten hat, wartet das
Terminal (102) weiter auf das nächste Datenpaket (301) und überwacht
den Zeitgeber (302).
-
Nachdem
ein Datenpaket empfangen worden ist, bestimmt das Terminal (102),
ob alle Pakete empfangen worden sind (304). Wenn nicht,
wartet das Terminal (102) weiter auf das nächste Datenpaket
(301) und überwacht
den Zeitgeber (302). Wenn alle Pakete des Objekts erlangt
worden sind, kann das Terminal (102) dann die Pakete der
ECDS erlangen. Dies kann das Einstellen eines neuen Datentransportstroms
oder das Kontaktieren einer neuen URL erfordern, bevor das Terminal
(102) das Warten auf das Empfangen des nächsten Datenpakets
(301) wieder aufnimmt. Wenn alle Pakete des Objekts und dessen
ECDS erlangt worden sind, geht der Prozess zurück zu Schritt (209),
in dem das heruntergeladene Codeobjekt unter Verwendung der ECDS
autorisiert und authentifiziert wird.
-
Nachdem
das Objekt autorisiert und authentifiziert ist, wird das Objekt
im Speicher (112) für
die zukünftige
Verwendung durch das Terminal (102) gespeichert (210).
Zusätzlich
kann die Herunterladesteuernachricht der vorliegenden Erfindung
eine Anweisung bereitstellen, wie das erlangte Objekt im Speicher
(112) gespeichert werden soll, zum Beispiel im flüchtigen
Speicher, im nicht flüchtigen
Speicher oder in „jedem
beliebigen". Die
Herunterladesteuernachricht der vorliegenden Erfindung kann ebenfalls spezifizieren,
ob das Objekt letztendlich im Flash-Speicher lokalisiert werden
soll, ob das Objekt absolut an einer bestimmten Adresse innerhalb
des Flash-Speichers lokalisiert werden soll. In einer verwandten
Patentanmeldung U.S. Eingangsnr. 60/130,328 wird eine neuartige
Bauweise beschrieben, in der das Basisplattformcodeobjekt und das
Betriebssystemcodeobjekt an bestimmten Stapelpunkten innerhalb des
Flash-Speichers lokalisiert sein müssen. Wenn ein derartiges Objekt
heruntergeladen wird, kann die Herunterladesteuernachricht der vorliegenden
Erfindung spezifizieren, dass ein Objekt an einer bestimmten Speicherstelle
innerhalb des Speichers (112) gespeichert werden muss.
-
Für jedes
Objekt, das die Herunterladesteuernachricht das Set-Top-Terminal (102)
zu erlangen anweist, sollte die folgende Information in der Nachricht
bereitgestellt sein: (1) der Name des Objekts, vorzugsweise in ASCII-Text;
(2) die Version des Objekts; (3) die Speicherklassifikation des
Objekts, z. B. flüchtiger
Speicher, nicht flüchtiger
Speicher, nicht relevant usw.; und (4) die Objektgröße, vorzugsweise die
ROMMABLE Größe (in Bytes)
des eingekapselten Objekts ausschließlich der statischen Variablen, die
für den
Betrieb des Codeobjekts erforderlich ist.
-
Zusätzlich umfasst
die Herunterladesteuernachricht der vorliegenden Erfindung in einer
bevorzugten Ausführungsform
ebenfalls die folgende Information:
-
(1)
Betriebsumgebungsmerker: Dieser Merker gibt die Betriebsumgebung
an, in der die Herunterladesteuernachricht von dem Set-Top-Terminal (102)
nur auf der Basis der Objektklasse des zu erlangenden Objekts, z.
B. ob das Objekt ein Plattform- oder Systemobjekt ist, ausgeführt wird.
Wenn der Merker auf „jede
beliebige" Umgebung
festgesetzt ist (was die Standardeinstellung ist), dann wird die Nachricht
entweder in der Plattformobjekt- oder der Systemobjektumgebung ausgeführt. Wenn
der Merker auf „Plattformobjekt" festgesetzt ist,
dann wird die Nachricht nur in der Plattformobjektumgebung ausgeführt, und
wenn der Merker auf „Systemobjekt" festgesetzt ist,
dann wird die Nachricht nur in der Systemobjekumgebung ausgeführt.
-
(2)
Automatische-Säuberung-Freigabemerker:
Dieser Ein-Bit-Merker gibt an, ob das Set-Top-Terminal (102)
aus seinem Speicher (112) etwaige ältere Versionen des Objekts
oder der Objekte, die in Reaktion auf die Herunterladesteuernachricht
erlangt werden sollen, säubern
soll. Mit anderen Worten kann der Automatische-Säuberung-Freigabemerker
verwendet werden, um das Set-Top-Terminal
(102) anzuweisen, ein Objekt aus dem Speicher (112)
zu löschen,
das in der Herunterladesteuernachricht als ein zu erlangendes Objekt
spezifiziert wird, und das auch eine Versionsnummer aufweist, die sich
von der in der Herunterladesteuernachricht für das zu erlangende Objekt
spezifizierten unterscheidet.
-
(3)
Selbstauflistungs-Freigabemerker: Dieser Ein-Bit-Merker gab an,
ob das Set-Top-Terminal (102) die gesamte Liste der Objekte
in der Herunterladesteuernachricht nach dem erfolgreichen Erlangen
aller in der Nachricht aufgelisteten Objekte automatisch freigeben
soll. Zu beachten ist, dass für
die verwaltete Objektart „freigeben" das Markieren des Dateiverzeichnis-Merkers
als freigegeben bedeutet. Das Anwendungsbetriebssystem ist dafür verantwortlich,
die Ausführung
des Codeobjekts zu starten.
-
(4)
Abschaltfeld-Freigabemerker: Dieser Ein-Bit-Merker gab an, ob ein
Grenzwert für
den Intersegmentzeitgeber und den Listenfreigabezeitgeber innerhalb
der Herunterladesteuernachricht spezifiziert ist. Wenn der Abschaltfeld-Freigabemerker nicht
festgesetzt ist, werden sowohl für
den Intersegment- als auch den Listenfreigabezeitgeber Standardwerte
verwendet. Wenn die Einstellherunterladefunktion anders als „konditional
einstellen" spezifiziert
ist, sollte dieser Merker auf null festgesetzt werden und wird von
dem Set-Top-Terminal (102) ignoriert.
-
(5)
Einstellherunterladefunktionsfeld: Dieses Feld wird verwendet, um
zu spezifizieren, ob das Set-Top-Terminal (102) auf den
spezifizierten Herunterladekanal nur dann einstellen soll, wenn
das Set-Top-Terminal (102) die spezifizierte Version des Codeobjekts
noch nicht erlangt hat. Sobald das Set-Top-Terminal (102)
die spezifizierte Version des Codeobjekts erlangt und aktiviert
hat, muss es selbstständig
den Kanal ausstellen (den Steuerkanalpaketprozessor einstellen).
Als Reaktion auf einen „konditional
einstellen"-Unterbefehl
im Einstellherunterladefunktionsfeld muss das Set-Top-Terminal (102)
nur das Objekt oder die Objekte erlangen, die in der Herunterladesteuernachricht
spezifiziert sind. Das Set-Top-Terminal (102) muss kein
anderes Codeobjekt, das eventuell in dem PID-Strom transportiert wird,
erlangen, außer
wie in der Nachricht spezifiziert.
-
(6)
Laufzahl: Dieses Feld gibt an, wenn sich eine Veränderung
in der Herunterladesteuernachricht ereignet hat. Wenn zum Beispiel
eine Herunterladesteuernachricht ohne aktivierte Selbstfreigabe empfangen
wird, lädt
das Set-Top-Terminal (102) alle spezifizierten Codeobjekte
herunter, aber es gibt die Objekte nicht frei. Das Terminal (102)
wartet stattdessen auf eine nachfolgende Herunterladesteuernachricht,
die die gleiche Liste und Version von zu erlangenden Objekten mit
dem festgesetzten Selbstfreigabemerker enthält. Das Laufzahlfeid würde verwendet werden,
um anzugeben, dass sich die Nachricht verändert hat, und dass das Set-Top-Terminal
(102) die Nachricht bearbeiten sollte.
-
(7)
Listenkennzeichnungsfeld: Dieses Feld wird verwendet, um eine Liste
von Codeobjekten zu identifizieren, so dass die Arbeitsabläufe an der
Liste durchgeführt
werden können
anstatt einzeln an jedem Objekt in der Liste. Ein Objekt, das vorher
im Set-Top-Terminal (102) mit dem gleichen Listen-Kennzeichner
wie in der gegenwärtigen
Herunterladesteuernachricht geladen, aber nicht in der gegenwärtigen Liste
eingeschlossen war, wird von dem Set-Top zusammen mit seiner zugehörigen objektbedingten
Zugangsnachricht(OCAM)-Information gelöscht.
-
(8)
Listenversionsfeld: Dieses Feld wird verwendet, um die Version der
Liste in der Herunterladesteuernachricht zu identifizieren. Zusammen
werden das Listenkennzeichnungsfeld und das Listenversionsfeld die
doppelte Herunterladesteuernachricht identifizieren und im Wesentlichen
als eine Sequenznummer funktionieren. Die Listenversion muss sich ändern, wann
immer sich irgendetwas in der Herunterladesteuernachricht einschließlich dem
Einstellherunterladefunktionsfeld, jeder beliebigen Objektinformation
in der Liste und Intersegment- und Listenfreigabezeitgeberinformation ändert.
-
(9)
Anzahl-der-Objekte-Feld: Dieses Feld gibt die Anzahl von Codeobjekten
in der Liste an, die in Reaktion auf die Herunterladesteuernachricht
erlangt werden sollen.
-
(10)
VCT-Kennzeichnungsfeld: Dieses Feld spezifiziert die Identität der VCT,
die auf die Herunterladesteuernachricht anwendbar ist. Ein VCT-Kennzeichner
von „00
00" kann verwendet
werden, wenn ein Herunterladekanal über mehrere VCT-Kennzeichnungen
(d. h. mehrere Kopfstellen) definiert wird. In diesem Fall wird
ein VCT-Kennzeichner
in der Ausgangsstellung (wie von der Kopfstelle konfiguriert) durch
die Herunterladesoftware des Set-Top-Terminals nicht vor dem Versuch
verifiziert, das spezifizierte Objekt oder die spezifizierten Objekte über die
in der Herunterladesteuernachricht gegebene Herunterladekanalinformation
herunterzuladen.
-
(11)
Herunterladekanalfeld: Dieses Feld spezifiziert den Kanal, den das
Set-Top-Terminal (102) einstellen sollte, um das Herunterladeobjekt
oder die Objekte, das/die in der Herunterladesteuernachricht spezifiziert
ist/sind, zu erlangen. Das Herunterladekanalfeld stellt den Verweis
bereit, von dem der heruntergeladene PID bestimmt werden kann. Das
Herunterladekanalfeld kann sich auf einen Eintrag in der virtuellen
Kanaltabelle (VCT) beziehen. Aus dieser Tabelle kann der heruntergeladene
PID, der die Pakete des zu erlangenden Objekts spezifiziert, bestimmt
werden.
-
(12)
Relokatierbarer-Code-Merker: Dieser Merker zeigt an, ob das Codeobjekt
im Flash als Teil von Entfragmentierung später in der Lebensdauer des
Set-Top-Terminals (102) reloziert werden kann oder nicht.
Zu beachten ist, dass alle verwalteten Objekte relokatierbar sein
müssen.
Plattformobjekte und Systemobjekte können relokatierbar sein oder
nicht.
-
(13)
Absolute-Adresse-Feld: Dieses Feld kann die Speicheradresse spezifizieren,
an der das heruntergeladene Codeobjekt geladen wird. Nur ein Plattformobjekt
oder ein Systemobjekt kann eine absolute Speicheradresse aufweisen.
-
(14)
Objekt-Kennzeichner-Feld: Dieses Feld stellt einen einzigartigen
Kennzeichner für
das Objekt oder die Objekte bereit, das/die von dem Set-Top-Terminal
(102) in Reaktion auf die Herunterladesteuernachricht erlangt
werden soll/sollen.
-
(15)
Objektklasse-Feld: Dieses Feld stellt eine enumerierte Definition
der Art des Codeobjekts bereit, das zum Herunterladen identifiziert
ist. Das Objekt kann zum Beispiel ein Plattformobjekt sein. Ein
Plattformobjekt ist ein Programm, das in der Abwesenheit eines ausführenden
Betriebssystems (OS) auf dem Set-Top-Terminal (102) läuft und
dieses steuert. Typischerweise versorgt ein Plattformobjekt das
Set-Top-Terminal (102) nur mit einer grundlegenden Funktionalität wie etwa
dem Empfangen von Fernsehsignalen. Das Plattformobjekt sollte das Set-Top-Terminal
(102) auch freigeben, ein Betriebssystem zu autorisieren,
zu empfangen, zu authentifizieren und zu implementieren. Alternativ
kann das Objekt ein Systemobjekt, d. h. ein Betriebssystem (OS)
für das
Set-Top-Terminal sein, oder eine Anwendung oder ein verwaltetes
Objekt, welches ein Programm ist, das unter dem Betriebssystem läuft, um
dem Set-Top-Terminal zusätzliche
Merkmale wie etwa E-Mail oder einen elektronischen Programmführer bereitzustellen.
-
(16)
Tabellenerweiterungsfeld: Dieses Feld wird von dem Decodieren verwendet,
um zwischen verschiedenen Abbildungen von Nachrichten zu unterscheiden,
die auf dem gemultiplexten Transportdatenstrom für eine Nachrichtenart gleichzeitig
vorliegen können.
Es ist der gleiche Tabellenerweiterungswert, der in jedem privaten
Nachrichtenkopf für segmentierte
Nachrichten gefunden wird. Der Herunterladeobjektkopf selbst findet
sich nur in Segment 0 der Nachricht. Durch das Tragen der Tabellenerweiterung
in der Herunterladesteuernachricht kann das Set-Top-Terminal (102)
mit dem Herunterladen des Objekts auf dem ersten empfangenen Segment
(jedes beliebige Segment des Objekts) beginnen. Des Weiteren ist
es nicht notwendig, Segment 0 die ganze Nachricht hindurch zu wiederholen.
Wenn es nur ein Objekt per heruntergeladenem PID gibt, kann das Tabellenerweiterungsfeld
auf null eingestellt werden. In diesem Fall wird der Herunterlader
alle Segmente auf dem gegebenen heruntergeladenen PID erlangen.
-
(17)
Intersegmentzeitgeberfeld: Dieses Feld stellt Informationen für das erste
von zwei Watchdog-Zeitgliedern bereit, die mit einem konditionalen Einstellunterbefehl
verwendet werden können.
Der Intersegmentzeitgeber verfolgt die Zeit, die vor dem Empfang
des ersten und jedes folgenden Segments des Codeobjekts, das heruntergeladen
wird, verstrichen ist. Der Empfang des ersten Codesegments stellt
den echten Start der Objekterlangung dar und stellt sicher, dass
das Herunterladen weitergeht – d. h.
ein anderes Segment der Herunterladenachricht innerhalb des spezifizierten
Zeitgrenzwerts empfangen wird. Wenn der Zeitgeber abläuft, bevor
das nächste
Segment empfangen wird, dann wird das Herunterladen abgebrochen.
Zu beachten ist, dass die Zeit bis zum Empfangen des ersten Segments
ab dem Empfang der Herunterladesteuernachricht gemessen wird, einschließlich der
Zeit, um die Liste der Objekte zu autorisieren. Dieses Feld kann
einen Zeitgrenzwert spezifizieren, der von dem Intersegmentzeitgeber
verwendet wird, oder es kann den Zeitgeber anweisen, einen vorspezifizierten
Standardzeitgrenzwert zu verwenden.
-
(18)
Listenfreigabezeitgeberfeld: Dieses Feld stellt Informationen für das zweite
Watchdog-Zeitglied bereit, das mit einem konditionalen Einstellunterbefehl
verwendet werden kann. Dieser Zeitgeber verfolgt den Empfang des
FREIGABE Unterbefehls für
das/die Zielobjekt(e), das/die eine Vervollständigung der Objekterlangung
und Initiierung kennzeichnet/kennzeichnen. Dieser Zeitgeber wird
verwendet, um den Herunterladestrom offen zu halten, bis alle „Freigegeben" für alle Objekte
empfangen worden sind. Wenn der Zeitgeber abläuft, bevor die Listenfreigegebenen
empfangen sind, dann wird das Herunterladen abgebrochen. Wenn der
Selbstfreigabemerker eingestellt ist, stellt dieser Zeitgeber den Zeitgrenzwert
ein, um alle Objekte auf der Objektliste zu empfangen. Erneut kann
dieses Feld einen Zeitgrenzwert spezifizieren, der von dem Intersegmentzeitgeber
verwendet wird, oder es kann den Zeitgeber anweisen, einen vorspezifiziertes
Standardzeitgrenzwert zu verwenden.
-
Die
vorhergehende Beschreibung ist lediglich beispielhaft und soll den
Bereich der vorliegenden Erfindung nicht einschränken. Der Fachmann wird verschiedene
Modifikationen und Auswirkungen der Prinzipien der vorliegenden
Erfindung wie hier beschrieben erkennen. Die vorliegende Erfindung umgreift
alle derartigen Einzelheiten.