NO331878B1 - Fremgangsmate ved overforing og nedlasting av en erstatningsversjon av resident programvare, og tilsvarende mottager/dekoder - Google Patents

Fremgangsmate ved overforing og nedlasting av en erstatningsversjon av resident programvare, og tilsvarende mottager/dekoder Download PDF

Info

Publication number
NO331878B1
NO331878B1 NO20001651A NO20001651A NO331878B1 NO 331878 B1 NO331878 B1 NO 331878B1 NO 20001651 A NO20001651 A NO 20001651A NO 20001651 A NO20001651 A NO 20001651A NO 331878 B1 NO331878 B1 NO 331878B1
Authority
NO
Norway
Prior art keywords
loader
decoder
receiver
software
version
Prior art date
Application number
NO20001651A
Other languages
English (en)
Other versions
NO20001651L (no
NO20001651D0 (no
Inventor
Jean-Claude Sarfati
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of NO20001651D0 publication Critical patent/NO20001651D0/no
Publication of NO20001651L publication Critical patent/NO20001651L/no
Publication of NO331878B1 publication Critical patent/NO331878B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central

Abstract

En fremgangsmåte ved nedlasting av data til en mottager/dekoder omfatter trinn ved mottager/dekoderen hvor det mottas en bitstrøm som inneholder data, en laster for lasting av data fra bitstrømmen inn i mottager/dekoderen, lastes ned og nevnte data lastes ned fra bitstrømmen ved å utnytte nevnte laster.

Description

Denne oppfinnelse gjelder ved overføring og nedlasting av en erstatningsversjon av resident programvare til en mottager/dekoder, og en tilsvarende mottager/dekoder som sådan.
Uttrykket "mottager/dekoder" brukes her for å betegne en mottager beregnet på å motta enten kodede eller ukodede signaler slik som fjernsyns- og/eller radiosignaler, som kan kringkastes eller sendes ut ved hjelp av et eller annet utstyr. Uttrykket betegner også en dekoder for å dekode mottatte signaler. Utførelser av sådanne mottager/dekodere kan inneholde en dekoder integrert med mottageren for å dekode de mottatte signaler, i f.eks. en "apparattoppboks", idet en sådan dekoder arbeider i kombinasjon med en fysisk adskilt mottager, eller dekoderen kan ha tilleggsfunk-sjoner, slik som en nettleser, en videoopptager eller et fjernsyn.
Ankomsten av digitale overføringssystemer som er primært beregnet på kringkasting av fjernsynssignaler og særlig, men ikke utelukkende, satellittfjemsynssystemer, har åpnet muligheten for å bruke sådanne systemer for andre formål. Et av disse er å sørge for interaktivitet med sluttbrukeren. Slik det brukes her, innbefatter uttrykket "digitale overføringssystemer" ethvert overføringssystem for sending eller kringkasting av f.eks. først og fremst audiovisuelle eller digitale data av multimediatype. Skjønt foreliggende oppfinnelse er særlig anvendelig på et digitalt fjernsynskringkastings-system, kan oppfinnelsen også anvendes på faste telekommunikasjonsnett for multimedia-anvendelser på Internett, på et lukket fjernsynssystem, osv.
En måte å gjøre dette på, er å utføre et brukerprogram på den mottager/dekoder som fjernsynssignalet mottas ved hjelp av. Brukerprogram mets kode kan lagres permanent i mottager/dekoderen. Dette vil imidlertid være ganske begrensende. Fortrinnsvis bør mottager/dekoderen være istand til å laste ned koden for et nødvendig brukerprogram. På denne måte kan det sørges for større variasjon og brukerprogrammer kan oppdateres ettersom det blir nødvendig, uten noe tiltak fra brukerens side.
I et MPEG-system kan brukerprogram kod en lastes ned i MPEG-tabeller som overføres i en MPEG-bitstrøm. Uttrykket MPEG står for datatransmisjonsstandardene utviklet av arbeidsgruppen "Motion Pictures Expert Group" hos Den internasjonale standardiser-ingsorganisasjon og er særlig, men ikke utelukkende, MPEG-2-standarden utviklet for digitale fjernsynsanvendelser og angitt i dokumentene ISO 13818-1, ISO 13818-2, ISO 13818-3 og ISO 13818-4. I sammenheng med foreliggende patentsøknad innbefatter uttrykket alle varianter, modifikasjoner eller utviklinger av MPEG-formater som gjelder området digital datatransmisjon.
Programvare for nedlasting av MPEG-tabellene må lagres permanent i mottager/dekoderen. I den hensikt å laste ned data, slik som brukerprogramkode eller en oppdatert versjon av en kjøretidsmotor, fordres det komplisert programvare som typisk tar stor plass i hukommelsen. Sådan programvare kan imidlertid bare bli brukt sporadisk, om i det hele tatt, og derfor kan en stor del av hukommelsen bli opptatt av programvare som i lange perioder er overflødig.
Programvare lagret i mottager/dekoderen for nedlasting av data fra en bitstrøm betegnes vanligvis som en "primærlaster" (bootstrap loader). Primærlasteren er fortrinnsvis tilpasset for å laste ned de fleste former for data, innbefattet programvare, fra bitstrømmen for lagring i f.eks. FLASH-hukommelsesvolumet i mottager/dekoderen. Således er primærlasteren tilbøyelig til å ha en noe "grunnleggende" struktur med minimal funksjonalitet, slik at alle former for programvare kan lastes ned.
Primærlasteren lagres typisk i et lesehukommelsesvolum (ROM volume) i mottager/dekoderen og kan ikke slettes fra dette. Ettersom primærlasteren ikke kan modifiseres så snart den er blitt skrevet inn i lesehukommelsesvolumet, kan behandlingsfeil, som kan opptre dersom primærlasteren skulle bli korrumpert, ikke korrigeres. Dessuten er primærlasterens funksjonalitet "fastlåst" så snart den er blitt skrevet til lesehukommelsen og den kan ikke oppdateres f.eks. slik at den tid det tar å laste ned data fra bitstrømmen forkortes. Således kan programvare som har en forbedret eller ny struktur som ikke gjenkjennes av primærlasteren, ikke lastes ned fra bitstrømmen.
Dersom en del av de data som er lagret i mottager/dekoderen blir korrumpert, kan primærlasteren brukes for å laste ned en komplett, ukorrumpert versjon av disse data. Dersom bare en liten del av dataene er blitt korrumpert, kan dette føre til at det må brukes betraktelig tid på å laste ned de partier av dataene som ikke ble korrumpert.
Foreliggende oppfinnelse har som formål å løse disse og andre problemer.
Med foreliggende oppfinnelse er det fremskaffet en fremgangsmåte ved overføring og nedlasting av en erstatningsversjon av resident programvare, til en mottager/dekoder, idet mottager/dekoderen har en primærlaster og noe resident programvare lagret i en ikke-flyktig, slettbar hukommelse i nevnte mottager/dekoder, og hvor fremgangsmåten omfatter et trinn (a) hvor mottager/dekoderen mottar en bitstrøm som omfatter data som inneholder en jobbstrømlaster og erstatningsversjonen av den residente programvare.
På denne bakgrunn av prinsipielt kjent teknikk, særlig fra publikasjonene
EP 0 680 213 A og US 5 666 293, har da fremgangsmåten i henhold til oppfinnelsen som særtrekk at: (b) ved hjelp av primærlasteren lokaliseres nevnte jobbstrømlaster i den mottatte bitstrøm, som er kompatibel med mottager/dekoderens maskinvareplattform, (c) ved hjelp av primærlasteren lastes den jobbstrømlaster som er kompatibel med mottager/dekoderens maskinvareplattform, ned fra bitstrømmen, inn i
mottager/dekoderen, og
(d) ved hjelp av den nedlastede jobbstrømlaster lastes nevnte erstatningsversjon av den residente programvare ned fra bitstrømmen inn i mottager/dekoderen og skrives inn i nevnte ikke-flyktige, slettbare hukommelse (69) i mottager/dekoderen, hvorved alle eller noen deler av den residente programvare som slettes
fra den ikke-flyktige, slettbare hukommelse, erstattes,
idet erstatningsversjonen av den residente programvare inneholder en resident laster beregnet på å komplettere primærlasteren for deretter å erstatte primærlasteren.
Oppfinnelsen gjelder også en mottager/dekoder som omfatter:
- en mottager for mottagning av en bitstrøm som omfatter data som inneholder en jobbstrømlaster og en erstatningsversjon av en resident programvare, og
- et lagringsutstyr.
På denne bakgrunn av prinsipielt kjente teknikk, særlig fra publikasjonene nevnt ovenfor, har da mottager/dekoderen i henhold til oppfinnelsen som særtrekk at noe resident programvare er lagret i en permanent, slettbar hukommelse, idet mottager/dekoderen videre omfatter: - en primærlaster for i den mottatte bitstrøm å lokalisere nevnte jobbstrømlaster som er kompatibel med mottager/dekoderens maskinvareplattform, - nedlastende utstyr for å laste ned fra bitstrømmen inn i lagringsutstyret, den jobbstrømlaster som er kompatibel med mottager/dekoderens maskinvareplattform, idet den nedlastede jobbstrømlaster er i stand til å slette fra den permanente, slettbare hukommelse hele eller en del av den residente programvare og i stedet skrive inn erstatningsversjonen av den residente programvare lastet fra
bitstrømmen,
idet erstatningsversjonen av den residente programvare lastet fra bitstrømmen inneholder en resident laster beregnet på å komplettere primærlasteren for deretter å erstatte primærlasteren.
Generelt kan den nedlastede datalaster omfatte et datalastende program. I det minste en del av datalasteren, fortrinnsvis det meste av eller til og med hele datalasteren, kan være i form av et maskinavhengig språk. Slik det brukes her, betegner uttrykket "maskinavhengig språk" (native code) en maskinvarespesifikk kode, en kode som er spesifikk for en bestemt maskinvareplattform i mottager/dekoderen, en ikke-interpreterende kode og/eller en kode som er direkte utførbar ved hjelp av en mikro-prosessor i mottager/dekoderen. Således vil strukturen av et stykke maskinavhengig kode som skal nedlastes av en mottager/dekoder avhenge av den spesielle apparatur som brukes i vedkommende mottager/dekoders maskinvareplattform. Dette er i mot-setning til en "interpreterende kode", slik som den som er kjent som en "p-kode" for brukerprogrammer, som fordrer tolkning av programvaren lagret i mottager/dekoderen, slik at den kan utføres av mikroprosessoren og som derfor er funksjonell over et stort område av maskinvareplattformer. De data som lastes ned ved hjelp av datalasteren kan være i form av en maskinavhengig kode, en såkalt p-kode eller en hvilken som helst annen egnet form, slik som datatabeller.
Ved hjelp av det som er nevnt ovenfor lastes en laster for lasting av data fra bitstrøm-men ned fra bitstrømmen og lagres fortrinnsvis midlertidig i mottager/dekoderens direktehukommelse (RAM). Etter nedlasting ved bruk av datalasteren av de nød-vendige data fra bitstrømmen, slettes fortrinnsvis den nedlastede datalaster fra mottager/dekoderen. Så snart den nedlastede datalaster har tjent sitt formål økes således direktehukommelsens lagringskapasitet på effektiv måte i det tidsrom hvor nedlasting av data ikke er nødvendig.
Det er selvsagt ikke nødvendig at den nedlastede datalaster slettes så snart den har lastet ned alle de nødvendige data fra bitstrømmen. Tvert imot kan datalasteren deretter bli lagret i en ikke-flyktig hukommelse i mottager/dekoderen, slik som et FLASH-hukommelsesvolum. Dette kan gjøre det mulig for mottager/dekoderen å laste ned ytterligere data ved å bruke den lagrede datalaster uten å måtte laste datalasteren på ny fra bitstrømmen, slik at den tid det tar å laste ned vedkommende data blir kortere. Således kan flere forskjellige datalastere være lagret samtidig i mottager/dekoderen.
Ettersom en datalaster som er skrevet spesielt for nedlasting av et bestemt data-element kan lastes ned av mottager/dekoderen fra bitstrømmen når det er nødvendig, kan mottager/dekoderen få forbedret funksjonalitet, siden data med en oppdatert eller revidert struktur som er forskjellig fra strukturen av de data som kan lastes ned ved hjelp av primærlasteren, kan lastes ned og lagres i mottager/dekoderen. For nedlasting av data blir midlertidig i praksis primærlasteren erstattet med den nedlastede datalaster for således å gjøre det mulig for mottager/dekoderen å benytte en oppdatert eller på annen måte forbedret datalaster.
Fortrinnsvis blir bare en del av de data som er lagret i mottager/dekoderen erstattet med et tilsvarende parti av data nedlastet ved hjelp av den nedlastede datalaster. Dersom f.eks. et parti av de lagrede data blir forvansket eller foreldet, kan en uforvansket eller oppdatert versjon av vedkommende dataparti lastes ned ved hjelp av mottager/dekoderen, idet den nedlastede datalaster "lapper" det nedlastede dataparti inn i de lagrede data der det passer. Således laster den nedlastede datalaster ikke ned en hel versjon av dataene lagret i mottager/dekoderen. Dette kan gi en vesentlig forbedring med hensyn til den tid det tar å reparere eller oppdatere lagrede data, siden nedlasting av uforvanskede deler av dataene ikke behøves. I en alternativ utførelse erstattes et parti av dataene lagret i mottager/dekoderen med et tilsvarende parti av f.eks. en seksjon av data overført sammen med den nedlastede datalaster.
Når dataene mottatt i bitstrømmen inneholder programvaredata som er beregnet på å oppdatere den residente programvare lagret i mottager/dekoderen, kan fremgangsmåten i henhold til oppfinnelsen videre omfatter at det med et overføringssystem utføres trinn hvor:
- den ene eller i det minste én jobbstrømlaster deles inn i en mengde moduler, og
- programvaredataene deles inn i en respektiv mengde moduler, idet hver mengde av programvaremoduler knyttes til en respektiv mengde av jobbstrømlaster-moduler.
Således kan bitstrømmen inneholde flere datalastere og tilhørende data. Dette kan gjøre det mulig for mottager/dekodere som har ulike maskinvareplattformer å laste ned de riktige versjoner av datalasteren med tilhørende data. Dataene, slik som et brukerprogram, kan i praksis bestå av et antall moduler som kan lastes ned og eventuelt utføres om det ønskes.
Fremgangsmåten kan også omfatte at det med overføringssystemet også utføres trinn hvor: - mengden jobbstrømlastermoduler formateres som respektive MPEG-tabeller, idet
tabellene har den samme respektive tabellidentifikasjon (TID) og respektive
forskjellige tabellidentifikasjonsforlengelser (TID-etternavn), mens
- mengden av programvaremoduler av data formateres som respektive MPEG-ta bel ler, idet tabellene har den samme respektive TID som jobbstrømlasterens tabeller knyttet til dem og respektive forskjellige TID-etternavn.
Videre kan fremgangsmåten omfatte at det med overføringssystemet utføres trinn hvor det genereres en respektiv MPEG-lasterkatalogtabell for den ene eller hver lasterkatalogtabell som er tilknyttet en bestemt versjonsidentifikasjon for mottager/dekoderen, idet lasterkatalogtabellen inneholder: - en identifikasjon for vedkommende modul og det respektive TID-etternavn, for hver i mengden av jobbstrømlastermoduler, og - en identifikasjon for vedkommende modul og det respektive TID-etternavn, for hver i mengden av programvaremoduler.
Fortrinnsvis omfatter versjonsidentifiseringen en kode knyttet til produsenten av mottager/dekoderen og en kode tildelt mottager/dekoderens versjon.
Det er forventet at mottager/dekodere kan konstrueres og produseres av flere forskjellige produsenter. Hver produsent kan produsere et antall ulike versjoner av mottager/dekoderen. Mottager/dekodere kan derfor ha ulike maskinvarekonstruk-sjoner, skjønt de alle selvsagt vil være i samsvar med de samme funksjonelle spesifikasjoner. Det er derfor viktig at data, slik som et brukerprogram, oppfører seg på samme måte på hver mottager/dekoder og at en mottager/dekoder kan utføre alle brukerprogrammer på samme, korrekte måte.
Spesielle særtrekk ved ytterligere utførelsesformer av oppfinnelsen fremgår av de øvrige uselvstendige patentkrav.
Foretrukne trekk ved foreliggende oppfinnelse vil nå bli beskrevet bare som eksempel med henvisning til de vedføyde tegninger, på hvilke:
Fig. 1 viser den generelle arkitektur av et digitalt fjernsynssystem,
fig. 2 viser arkitekturen av et interaktivt system for det digitale fjernsynssystem vist i
fig. 1,
fig. 3 er en skisse av skjemaet for grensesnitt i en mottager/dekoder som utgjør en
del av systemet vist i fig. 1 og 2,
fig. 4 er en skisse av et skjema for en fjernstyring som brukes i det digitale
fjernsynssystem,
fig. 5 viser ordningen av filer inne i en modul nedlastet inn i hukommelsen i en
interaktiv mottager/dekoder,
fig. 6 anskueliggjør det samvirkende forhold mellom et antall komponenter i en
MPEG-strøm,
fig. 7 anskueliggjør hvordan et brukerprogram kan bygges opp av moduler/tabeller,
som i sin tur består av seksjoner,
fig. 8 anskueliggjør autentiseringen av en MPEG-tabell,
fig. 9 anskueliggjør forskjellige områder i hukommelsen i en mottager/dekoder i
fjernsynssystemet,
fig. 10 anskueliggjør et parameterfelt,
fig. 11 anskueliggjør en maskinvarekatalogtabell,
fig. 12 anskueliggjør en lasterkatalogtabell, og
fig. 13 anskueliggjør prosedyren ved nedlasting av data.
En oversikt over et digitalt fjernsynssystem 1000 er vist i fig. 1. Det digitale fjernsynssystem 1000 omfatter et høyst vanlig digitalt fjernsynssystem 2000 som bruker det kjente kompresjonssystem MPEG-2 for å sende komprimerte digitale signaler. Mer detaljert mottar en MPEG-2-komprimator 2002 i et kringkastingssenter en digital signalstrøm (typisk en strøm av videosignaler). Komprimatoren 2002 er forbundet med en multiplekser og omkaster 2004 via en lenking 2006. Multiplekseren 2004 mottar flere ytterligere inngangssignaler, assemblerer en eller flere transportstrømmer og sender komprimerte digitale signaler til en sender 2008 i kringkastingssenteret via en lenking 2010 som selvsagt kan ha mange slags utforminger, innbefattet telekom-munikasjonslenker. Senderen 2008 sender ut elektriske signaler via en forbindelse 2012 oppover mot en satellittransponder 2014 hvor de blir elektronisk behandlet og kringkastet via en fiktiv forbindelse 2016 nedover til en jordmottager 2018 som passende har form av en reflektorskål som eies eller leies av sluttbrukeren. Signalene mottatt av mottageren 2018 overføres til en integrert mottager/dekoder 2020 som eies eller leies av sluttbrukeren og er forbundet med sluttbrukerens fjernsynsapparat 2022. Mottager/dekoderen 2020 dekoder det komprimerte MPEG-2-signal til et fjernsynssignal for fjernsynsapparatet 2022.
Et betinget tilgangssystem 3000 er forbundet med multiplekseren 2004 og mottager/dekoderen 2020 og befinner seg delvis i kringkastingssenteret og delvis i dekoderen. Det gjør det mulig for sluttbrukeren å gjøre tilgang til digitale fjernsyns-kringkastinger fra en eller flere kringkastingsleverandører. Et smartkort som er istand til å dechiffrere meldinger som gjelder kommersielle tilbud (dvs. ett eller flere fjernsynsprogrammer som selges av kringkastingsleverandøren), kan settes inn i mottager/dekoderen 2020. Ved å bruke dekoderen 2020 og smartkortet kan sluttbrukeren kjøpe kommersielle tilbud i enten en abonnementsmodus eller en modus med betaling pr. visning.
Et interaktivt system 4000 som også er forbundet med mulitplekseren 2004 og mottager/dekoderen 2020 og også befinner seg delvis i kringkastingssenteret og delvis i dekoderen, gjør det mulig for sluttbrukeren å samvirke med forskjellige brukerprogrammer via en modemtilkoblet bakoverkanal 4002.
Fig. 2 viser den generelle arkitektur av det interaktive fjernsynssystem 4000 i det digitale fjernsynssystem 1000 i henhold til foreliggende oppfinnelse.
For eksempel tillater det interaktive system 4000 en sluttbruker å kjøpe artikler fra kataloger på skjermen, konsultere lokale nyheter og værkart ved behov, og spille spill via sitt fjernsynsapparat.
Generelt omfatter det interaktive system 4000 fire hovedelementer:
- et redigeringsverktøy 4004 ved kringkastingssenteret eller et annet sted som gjør det mulig for en kringkastingsleverandør å skape, utvikle, "avluse" og utprøve
bru kerp rog ra m mer,
- en brukerprogram- og datatjener 4006 i kringkastingssenteret forbundet med redigeringsverktøyet 4004 for å gjøre det mulig for en kringkastingsleverandør å forberede, autentisere og formatere brukerprogrammer og data for levering til multiplekser og omkasteren 2004 for innsetting i en MPEG-2-transportstrøm
(typisk den private seksjon av denne) som skal kringkastes til sluttbrukeren,
- en virtuell maskin som omfatter en kjøretidsmotor (RTE - run time engine) 4008 som er en utførbar kode installert i mottager/dekoderen 2020 som eies eller leies
av sluttbrukeren for å gjøre det mulig for sluttbruker å motta, autentisere, dekomprimere og laste brukerprogrammer i arbeidshukommelsen 2024 i mottager/dekoderen 2020 for utførelse. Motoren 4008 utfører også brukerprogrammer for generelle formål. Motoren 4008 er uavhengig av maskinvaren og
operativsystemet, og
- en modemtilkoblet bakoverkanal 4002 mellom mottager/dekoderen 2020 og brukerprogram- og datatjeneren 4006 for å gjøre det mulig for signaler som instruerer tjeneren 4006 å sette inn data og brukerprogrammer i MPEG-2-transportstrømmen på anmodning fra sluttbrukeren.
Det interaktive fjernsynssystem arbeider ved å utnytte "brukerprogrammer" som styrer funksjonene i mottager/dekoderen og forskjellige innretninger som inneholdes i denne. Brukerprogrammene representeres i motoren 4008 som "ressursfiler". En "modul" er et sett ressursfiler og data. Et "hukommelsesvolum" i mottager/dekoderen er et lagringssted for modulene. Modulene kan lastes ned i mottager/dekoderen 2020 fra MPEG-2-transportstrømmen.
Fysiske grensesnitt i mottager/dekoderen 2020 brukes for laste ned data. Med henvisning til Fig. 3 har dekoderen 2020 f.eks. seks nedlastende anordninger, dvs. en MPEG-flytavstemmer 4028, et serielt grensesnitt 4030, et parallelt grensesnitt 4032, et modem 4034 og to kortlesere 4036. Mottager/dekoderen 2020 kan også omfatte en fremviser 4038.
For formålet av foreliggende beskrivelse består et brukerprogram av et stykke data-maskinkode for styring av høynivåfunksjoner, fortrinnsvis i mottager/dekoderen 2020. Når f.eks. sluttbrukeren plasserer fokus fra en fjernstyring (vist mer detaljert i fig. 4) på en trykknappgjenstand som vises på fjernsynsskjermen og trykker ned en valideringstast, utføres den instruksjonssekvens som er knyttet til vedkommende trykknapp.
Et interaktivt brukerprogram foreslår menyer og utfører kommandoer på anmodning fra sluttbrukeren og frembringer data som gjelder brukerprogrammets formål. Brukerprogrammene kan enten være residente brukerprogrammer, dvs. lagret i et direkte-lager (ROM eller FLASH eller annen ikke-flyktig hukommelse) i mottager/dekoderen 2020 eller bli kringkastet eller lastet ned i mottager/dekoderens RAM eller FLASH-hukommelse.
Eksempler på brukerprogrammer er:
• et initierende brukerprogram. Mottager/dekoderen 2020 er utstyrt med et resident initierende brukerprogram som er en tilpasningsbar samling av moduler (dette uttrykk defineres mer detaljert nedenfor) som gjør det mulig for mottager/dekoderen 2020 umiddelbart å arbeide i MPEG-2-miljøet. Dette brukerprogram har kjernefunksjoner som om nødvendig kan modifiseres av kringkastingsleverandør-en. Det utgjør også et grensesnitt mellom residente brukerprogrammer og
nedlastede brukerprogrammer.
• Et oppstartsbrukerprogram. Oppstarts brukerprogram met tillater et hvilket som helst brukerprogram, enten det er nedlastet eller resident, å bli utført av mottager/dekoderen 2020. Dette brukerprogram virker som en primærlaster som utføres ved ankomsten av en tjeneste i den hensikt å starte brukerprogrammet. Oppstarten lastes ned i direktehukommelsen (RAM) og kan derfor lett oppdateres. Det kan konfigureres slik at de interaktive brukerprogrammer som er tilgjengelig på hver kanal kan velges og utføres, enten umiddelbart etter ned lasting eller etter forhåndslasting. I tilfellet av forhåndslasting er brukerprogrammet lastet inn i
hukommelsen 2024 og aktiveres av oppstå rtsprog ram met når det er nødvendig.
• En programoversikt. Programoversikten er et interaktivt brukerprogram som gir full informasjon om programtilbudet. Den kan f.eks. gi informasjon om la oss si en ukes fjernsynsprogrammer på hver kanal i en digital fjernsynsbukett. Ved å trykke på en tast på fjernstyringen 2026 gjør sluttbrukeren tilgang til et tilleggsskjermbilde som overlagres den hendelse som vises på fjernsynsapparatets 2022 skjerm. Dette tilleggsskjermbilde er en liste som gir informasjon om løpende og kommende hendelser på hver kanal i den digitale fjernsynsbukett. Ved å trykke på en annen tast på fjernstyringen 2026 gjør sluttbrukeren tilgang til et brukerprogram som viser frem en liste med informasjon om hendelser i løpet av en uke. Sluttbrukeren kan også søke og sortere hendelser ut fra enkle og tilpassede kriterier. Sluttbrukeren kan også gjøre tilgang direkte til en valgt kanal. • Et brukerprogram for betaling pr. visning. Brukerprogrammet for betaling pr. visning (Pay Per View) er en interaktiv tjeneste som er tilgjengelig på hver PPV-kanal i den digitale fjernsynsbukett i sammenheng med det betingede tilgangssystem 3000. Sluttbrukeren kan gjøre tilgang til brukerprogrammet ved å utnytte en fjemsynsoversikt eller kanalliste. I tillegg starter brukerprogrammet automatisk så snart en PPV-hendelse er påvist på PPV-kanalen. Sluttbrukeren kan da kjøpe den løpende hendelse, enten via sitt dattersmartkort 3020 eller via kommunika-sjonstjeneren 3022 (som utnytter modemet, en telefon og DTMF-koder, MINITEL, eller lignende). Brukerprogrammet kan enten være resident i lesehukommelsen
(ROM) i mottager/dekoderen 2020 eller det kan lastes ned i mottager/dekoderens
direktehukommelse (RAM).
Et Internettleser-brukerprogram. I et eksempel på et Internettleser-brukerprogram legges instruksjoner fra brukeren inn ved hjelp av fjernstyringen 2026, slik som en anmodning om å få se en nettside som har en bestemt URL, og disse sendes over den modemtilkoblede bakoverkanal 4002 til brukerprogram- og datatjeneren 4006. Den riktige nettside blir så innlemmet i utsendelsen fra kringkastingssenteret for å bli mottatt av mottager/dekoderen 2020 via forbindelsen 2012 oppover, transponderen 2014 og forbindelsen 2016 nedover, for å bli vist frem på fjernsynsapparatet 2022.
Brukerprogrammene blir lagret på hukommelsessteder i mottager/dekoderen 2020 og representerer ressursfiler. Ressursfilene omfatter enhetsfiler med grafiske gjenstands-beskrivelser, variabelblokk-enhetsfiler, instruksjonssekvensfiler, brukerprogrammer og datafiler.
Enhetsfilene med beskrivelse av grafiske gjenstander beskriver skjermbilder, dvs. brukerprogrammets menneske/maskin-grensesnitt. Variabelblokk-enhetsfilene beskriver de datastrukturer som håndteres av brukerprogrammet. Instruksjonssekvensfilene beskriver brukerprogrammenes behandlingsoperasjoner. Bruker-programfilene utgjør inngangspunkter til brukerprogrammene.
De brukerprogrammer som er oppbygget på denne måte kan utnytte datafiler, slik som symbolbiblioteksfiler, billedfiler, skrifttypefiler, fargetabellfiler og ASCII-tekstfiler. Et interaktivt brukerprogram kan også oppnå data direkte (on-line) ved å utføre import og/eller eksport.
Motoren 4008 laster inn i sin hukommelse bare sådanne ressursfiler som behøves på et gitt tidspunkt. Disse ressursfiler leses fra enhetsfilene med beskrivelse av grafiske gjenstander, instruksjonssekvensfilene og brukerprogrammene, mens variabelblokk-enhetsfiler lagres i hukommelsen etter et anrop til en prosedyre for å laste moduler og forblir låst der inntil det gjøres et spesifikt anrop til en prosedyre for å "lesse" moduler.
Med henvisning til fig. 5 er en modul 4010, slik som en tele-innkjøpsmodul, et sett ressursfiler og data som omfatter det etterfølgende:
- en eneste brukerprogramfil 4012,
- et ubestemt antall enhetsfiler 4014 med beskrivelse av grafiske gjenstander,
- et ubestemt antall blokkenhetsfiler 4016 med variabler,
- et ubestemt antall instruksjonssekvensfiler 4018, og
- når det er aktuelt, datafiler 4020, slik som symbolbiblioteksfiler, billedfiler, skrifttypefiler, fargetabellfiler og ASCII-tekstfiler.
Ideen med moduler 4010 sammen med idéen med nedlasting av små kodestykker muliggjør lett utvikling av brukerprogrammer. De kan lastes ned i en permanent FLASH-hu kom meise i mottager/dekoderen 2020 som resident programvare eller kringkastes i den hensikt å bli nedlastet i direktehukommelsen (RAM) i dekoderen 2020 bare når det behøves av sluttbrukeren.
I tilfellet av en MPEG-strøm transporteres en modul 4010 i en eneste MPEG-tabell. Når moduler sendes til MPEG-avstemmeren 4028, brukes det lange MPEG-2-format sammen med en lang innledning og en kode for syklisk redundanskontroll (CRC - Cyclic Redundancy Check). Dette er også tilfellet for de fem andre grensesnitt (det serielle grensesnitt 4030, det parallelle grensesnitt 4032, modemet 4034 og de to kortlesere 4036), bortsett fra at det "korte" MPEG-2-format med en kortere innledning og ingen CRC benyttes.
Det henvises nå særlig til fig. 6 som viser at som kjent inneholder MPEG-2-bit-strømmen en programtilgangstabell (PAT - Programme Access Table) 10 med en pakkeidentifikator (PID) lik 0. PATen inneholder referanser til PID'ene for program-karttabeller (PMT - Programme Map Table) 12 for et antall programmer. Hver PMT inneholder en referanse til PID'ene i strømmene av MPEG-audiotabeller 14 og MPEG-videotabeller 16 for vedkommende program. En pakke som har en PID lik null, dvs. programtilgangstabellen 10, utgjør et inngangspunkt for alle MPEG-tilganger.
I den hensikt å nedlaste brukerprogrammer og data for dem, er to nye strømtyper definert og den relevante PMT inneholder også referanser til PID'ene for strømmene av MPEG-brukerprogramtabeller 18 (eller deler av disse) og MPEG-datatabeller 20 (eller deler av disse).
For å laste ned et brukerprogram 22 deles brukerprogrammet med henvisning til fig. 7 opp i moduler 24 som hver utgjøres av en MPEG-tabell, av hvilke noen består av en eneste seksjon 18 mens andre kan bestå av flere seksjoner 18. En typisk seksjon har et innledende felt 26 som inneholder en tabellidentifikator (TID) 28 på én byte, seksjonsnummeret 30 for vedkommende seksjon i tabellen, det samlede antall 32 av seksjoner i vedkommende tabell og et TID-etternavn 34 på to byte. Hver seksjon har også en datadel 36 og en CRC 38. For en bestemt modul/tabell 24 har alle seksjoner 18 som utgjør vedkommende tabell 24 den samme TID 28 og det samme TID-etternavn 34. For et spesielt brukerprogram 22 har alle tabellene 24 som utgjør vedkommende brukerprogram 22 den samme TID 28, men forskjellige, respektive TID-etternavn.
Autentiseringen av en MPEG-tabell vil nå bli beskrevet med henvisning til fig. 8.
Tabellen 40 inneholder data 42 (som typisk omfatter et innledende felt 26, TID 28, TID-etternavn 34 og en datadel 36), en nøkkelidentifikasjon 44 og et chifferområde 46. Nøkkelidentifikasjonen 44 omfatter en identifikasjon på 1 byte for en bestemt hemmelig nøkkel (private key) som skal brukes for å kryptere blokken. Chifferområdet 46 omfatter en blokk på 96 databyte. Den første byte 48 er lik null. En signatur 50 på 16 byte begynner ved en forskyvelse på typisk mellom 0 og 31 byte etter den første byte. Signaturen frembringes ved å utnytte den kjente MD5-signaturgenererende prosess på dataene 42. Skinndata 52 settes inn mellom den første byte og signaturen 50, og blokken krypteres ved å utnytte en kjent krypteringsprosess og den hemmelige nøkkel som svarer til nøkkelidentifikasjonen 44.
Dersom flere MPEG-tabeller skal autentiseres, er en katalog som lister opp navnene på
tabellene og signaturene for disse tabeller innlemmet i bærebølgesignalet. I tilfellet av en MPEG-strøm transporteres denne katalog i en eneste MPEG-tabell som typisk har et TID-etternavn 34 som er lik null. Katalogtabellen autentiseres med mekanismen
beskrevet ovenfor. Såsnart katalogen er blitt lastet ned fra bærebølgesignalet, er det mulig for brukerprogrammet å laste ned en eller flere MPEG-tabeller opplistet i katalogen.
Virkemåten av mottager/dekoderen 2020 når den håndterer signaturer og dekrypter-ing under nedlasting av et brukerprogram vil nå bli beskrevet. Det henvises til fig. 9 som viser at mottager/dekoderen 2020 omfatter en EEPROM 68, ROM 70 og RAM 72. EEPROM'en 68 har et beskyttet område 74 som brukes av den virtuelle maskin, og hvor bare den virtuelle maskin (og ikke et vanlig brukerprogram) kan skrive. Det beskyttede område 74 omfatter en nøkkelvalideringsbitmatrise 76 på 16 eller 256 biter og en forskyvningsbitmatrise 80 på 32 biter. I en utførelse inneholder ROM'en 70 16 offentlige nøkler 82, og i så fall benyttes en nøkkelvalideringsbitmatrise på 16 biter mens i en annen utførelse inneholder den 256 offentlige nøkler, og i så fall anvendes en nøkkelvalideringsbitmatrise på 256 biter. De offentlige nøkler identifiseres ved deres fysiske plassering i ROM'en 70 eller de kan alternativt være innlemmet i en oppslagstabell slik at en bestemt nøkkelidentifikator vil gi den tilsvarende offentlige nøkkel. RAM'en 72 kan brukes for å lagre en temporær nøkkel 84.
Når et brukerprogram skal lastes ned, blir først katalogtabellen som har den forutbestemte TID for vedkommende brukerprogram og et TID-etternavn lik null, lastet ned. Nøkkelidentifikatoren 44 trekkes så ut fra katalogtabellen og en kontroll utføres i nøkkelvalideringsbitmatrisen 76 i den beskyttede hukommelse 74 med hensyn til om den bit som tilsvarer den uttrukne nøkkelidentifikator 44, er innstilt. Hvis ikke, blir videre nedlasting av brukerprogrammet avbrutt. Dersom den riktige nøkkel er innstilt, velges imidlertid en offentlig nøkkel 82 fra ROM'en 70, som tilsvarer den uttrukne nøkkelidentifikator 44. Den valgte offentlige nøkkel og en kjent dekrypteringsprosess brukes så for å dekryptere den krypterte blokk 46 i katalogtabellen 40 for å frem-bringe en dekryptert blokk. Forskyvningen som inneholdes i forskyvningsbitmatrisen 80 i den beskyttede hukommelse 74 blir slått opp, eller dersom mer enn én forskyvningsbit er innstilt, blir hver forskyvningsbit slått opp etter hverandre og 16 databyte trekkes ut fra den dekrypterte blokk med start fra den oppslåtte forskyvning. For den ene eller hver oppslåtte forskyvning blir 16 byte behandlet som signaturen sendt sammen med katalogtabellen 40. Signaturen for oppføringene i katalogen 42 i katalogtabellen 40 beregnes ved å bruke den kjente MD5-prosess og denne beregnede signatur sammenlignes med signaturen trukket ut fra den dekrypterte blokk. Dersom de to signaturer for den ene eller hver av de oppslåtte forskyvninger ikke samsvarer, blir videre nedlasting av brukerprogrammet avbrutt. Dersom imidlertid en av signaturene samsvarer, kan nedlastingen av modulene angitt i katalogen 42 fortsette. For å laste ned en bestemt modul blir, slik som nevnt ovenfor, TID-etternavnet for vedkommende modul oppnådd fra katalogen 42, og den MPEG-tabell 24 eller de seksjoner 18 som har den samme TID som katalogtabellen og med det oppnådde TID-etternavn, lastet ned. Så snart MPEG-modultabellen er blitt lastet ned, beregner mottager/dekoderen 2020 signaturen for den nedlastede tabell ved å utnytte den kjente MD5-prosess og sammenligner så den beregnede signatur med signaturen som inneholdes i katalogoppføringen. Dersom signaturene stemmer overens blir modulen akseptert, men hvis de ikke stemmer overens, blir modulen avvist.
Alle brukerprogrammets moduler kan således lastes ned på den måte som er spesifi-sert ovenfor og brukerprogrammet kan utføres av mottager/dekoderen 2020. Nedlastingen av data inn i mottager/dekoderen 2020 vil nå bli beskrevet mer detaljert med henvisning til fig. 9 - 13.
Mottager/dekoderen 2020 har en laster 100 omtalt som en "primærlaster" 100, som først og fremst brukes for å laste ned en laster for nedlasting av programvare, slik
som produsentens fastvare, kjøretidsmotoren 4008 og brukerprogrammer som er tilstede i MPEG-datastrømmen, for lagring i FLASH-hukommelsen 69 i mottager/dekoderen 2020. Primærlasteren 100 er lagret i FLASH-hukommelsen 69 i mottager/dekoderen 2020 og kan typisk ikke slettes derfra. Primærlasteren 100 arbeider under styring fra maskinvaren i mottager/dekoderen 2020 og programvare lagret i den.
Skriving/oppdatering av programvare lagret i mottager/dekoderen kan utføres:
- på anmodning av brukeren av mottager/dekoderen 2020,
- på anmodning fra et brukerprogram lagret i mottager/dekoderen 2020, eller
- dersom programvaren tidligere lagret i mottager/dekoderen 2020 (betegnet som "resident" programvare) er blitt korrumpert eller forvansket.
For å avgjøre om resident programvare er blitt korrumpert beregner programvare skrevet av produsenten av mottager/dekoderen 2020 og lagret i denne, en kontrollsum av de residente programvaredata og sammenligner denne med en kontrollsum skrevet inn i den residente programvare. Dersom de to verdier av kontrollsummen er like, er den residente programvare ikke blitt korrumpert.
FLASH-hukommelsen 69 og EEPROM'en 68 i mottager/dekoderen 2020 inneholder parametre som gjør det mulig for primærlasteren å laste ned fra bitstrømmen en laster som har form av en maskinavhengig kode. Parametre kan lagres i selve primærlasteren 100, dvs. i FLASH-hukommelsen 69 eller i EEPROM'en 68. Eksempler på parametre som kan lagres i FLASH-hukommelsen 69 innbefatter:
- den frekvens som transponderen 2014 er avstemt til,
- forskjellige egenskaper ved det signal som skal demoduleres av mottager/dekoderen 2020,
- den PID med hvilken programvare skal overføres,
- et sett offentlige nøkler (fortrinnsvis tre nøkler) som skal brukes under autentiseringen,
- et tidsavbrudd for lasting av katalogtabeller fra MPEG-bitstrømmen,
- versjonsnummeret for primærlasteren 100, og
- en "kontrollsum"-parameter på N byte som brukes for å kontrollere integriteten av den residente programvare og hvis verdi bestemmes av produsenten av mottager/dekoderen 2020.
Eksempler på parametre lagret i EEPROM'en 68 og som kan oppdateres av et brukerprogram lagret i mottager/dekoderen 2020 innbefatter: - ytterligere egenskaper ved det signal som skal demoduleres av mottager/dekoderen 2020, og - parametre som gjør det mulig å sette opp en rapport om en skriving/oppdatering.
Disse parametre lagres i respektive parameterfelt i FLASH-hukommelsen 69 og EEPROM'en 68. Med henvisning til flg. 10 har hvert parameterfelt 400 en lengde 402, en reservert byte 404, et sett parametre 406 og en lengderedundanskode-kontrollsum (LRC - Longitudinal Redundancy Code) 408. Kontrollsummen omfatter CRL 410 som er en eksklusiv-ELLER av de foregående byte i parameterfeltet 400 og NCRL 412 som er l's komplement av CRL 410. Dersom et brukerprogram lagret i mottager/dekoderen 2020 ønsker å oppdatere parametrene lagret i et parameterfelt, f.eks. oppdatere en PID, beregner det en LRC-kontrollsum for feltet og sammenligner den med LRC-kontrollsummen 410 lagret i feltet. Dersom de to verdier stemmer overens, åpnes det for oppdatering av parameterfeltet, hvis ikke sperres det for oppdatering av parameterfeltet.
MPEG-bitstrømmen som inneholder de data som skal lastes ned i mottager/dekoderen 2020 bærer en maskinavhengig kode av hvilken i det minste en del inneholder en ytterligere laster, betegnet en "jobbstrømlaster" (instream loader). Primærlasteren 100 laster ned jobbstrømlasteren fra MPEG-bitstrømmen inn i hukommelsen (RAM) 72 i mottager/dekoderen 2020 og det er denne jobbstrømlaster som laster ned dataene fra MPEG-bitstrømmen, f.eks. i den hensikt å oppdatere den residente programvare.
Programvaren nedlastet i FLASH-hukommelsen 69 i mottager/dekoderen 2020 kan også inneholde en laster betegnet en "redsident" laster. Denne laster bør i det minste være istand til å utføre skriving/oppdatering av programvare fra MPEG-strømmen og kan ha andre trekk, slik som oppdateringer fra lokale porter, og kan også tillate video-og audiodata i MPEG-bitstrømmen å bli dekodet. Den residente laster lastes fra bit-strømmen på anmodning fra et brukerprogram, for f.eks. å komplementere den laster som utfører nedlastingen av jobbstrømlasteren eller for å laste data fra bitstrømmen. Dersom det f.eks. anmodes om skriving/oppdatering fra et brukerprogram lagret i mottager/dekoderen 2020 og den residente programvare ikke er korrumpert, brukes den residente laster til å utføre oppdateringen i stedet for jobbstrømlasteren. Dette kan minske den tid det tar å oppdatere programvaren i mottager/dekoderen. I det minste en del av den residente laster foreligger i en maskinavhengig kodeform.
Forskjellige MPEG-tabeller som inneholdes i MPEG-bitstrømmen og som tillater en mottager/dekoder 2020 å lokalisere samt laste ned den nødvendige programvare, vil nå bli beskrevet med henvisning til fig. 11 og 12.
MPEG-bitstrømmen inneholder i det minste en maskinvarekatalogtabell 200 og flere lasterkataloger 300.
En katalogtabell 200 for maskinvare gjør det mulig for primærlasteren 100 å lokalisere de riktige versjoner av jobbstrømlasteren og programvaren som skal lastes ned for et antall forskjellige versjoner av mottager/dekoderen 2020. Med henvisning til fig.11 inneholder en katalogtabell 200 for maskinvare en TID 202 lik DO og et TID-etternavn 204 som er lik 0000, idet disse verdier er tidligere lagret i EEPROM'en 68 i mottager/dekoderen 2020 for f.eks. å gjøre det mulig for primærlasteren 100 å lokalisere og laste ned katalogtabellen 200 for maskinvare.
Maskinvarekatalogtabellen 200 inneholder:
- et versjonsnummer, HVERSION 206, for maskinvarekatalogen 200. Versjonsnummeret økes trinnvis hver gang det gjøres en endring av innholdet i maskinvarekatalogen 200, - nummeret, NL 208, på jobbstrømlasterbeskrivelser som inneholdes i maskinvare-katalogen 200, og for hver versjon av mottager/dekoderen 2020: • en identifikator, HVN 210, for et versjonsnummer for en sådan mottager/dekoder 2020, • den TID 212 for de MPEG-tabeller som brukes for lasterkatalogen 300 knyttet til vedkommende HVN 210, jobbstrømlasteren og programvaren som skal nedlastes,
en redundant byte, RES 214,
største størrelse, SECTION_LEN 216, av en seksjon i MPEG-tabellen som
brukes for lasterkata logen 300 knyttet til vedkommende HVN 210,
en verdi, TIME_OUT 218, av tidsavbruddet for lasting av lasterkata logen 300
knyttet til HVN 210, og
verdien, SGN_SIGN 220, av signaturen for lasterkata logen knyttet til HVN 210, - en identifikasjon, KEY 222, av den hemmelige nøkkel som brukes for autentisering av maskinvarekatalogen 200, og - et chiffrert område, CIPH_AREA 224, som inneholder signaturen SIGN_H 226 for maskinvarekatalogen 200, idet signaturen er forskjøvet fra begynnelse av CIPH_AREA 224 med en signaturforskyvning SGN_OFFSET 228.
Mottager/dekoderens HVN 210 er 4 byte lang. En byte er reservert for fremtidig bruk, to byte inneholder en kode for versjonsnummeret av maskinvaren i mottager/dekoderen og en byte inneholder en kode for produsenten av mottager/dekoderen. Dette gjør det mulig for primærlasteren å laste ned versjonsnummeret for den jobbstrøm-laster som er kompatibel med mottager/dekoderens maskinvareplattform.
Etter å ha lastet ned maskinvarekatalogtabellen 200 gjennomsøker primærlasteren 100 tabellen 200 med hensyn til en oppføring som tilsvarer mottager/dekoderens HVN 210. Dersom det ikke finnes samsvar, avbrytes nedlastingen. Dersom det finnes et samsvar, identifiserer primærlasteren 100 ut fra tabellen 200 den TID 212 som er blitt tildelt lasterkata logen 300 knyttet til mottager/dekoderens HVN 210, jobbstrøm-lasteren og programvaren som skal nedlastes.
Med henvisning til fig. 12 inneholder lasterkata logen 300 knyttet til mottager/dekoder-ens HVN 210: - et versjonsnummer, LVERSION 302, for lasterkatalogen 300. Dette versjonsnummer økes hver gang det gjøres en endring i innholdet i lasterkatalogen 300,
- nummeret, NL 304, på MPEG-tabellene i jobbstrømlasteren,
- versjonsnummeret, LVERS 306, på jobbstrømlasteren,
- nummeret, NS 308, på MPEG-tabellene for programvaren som skal nedlastes,
- versjonsnummeret, SVERS 310, på programvaren som skal nedlastes, og for hver MPEG-tabell i jobbstrømlasteren: identifikasjonen, SEG_ID 312, for vedkommende MPEG-tabell, TID-etternavnet, TID_EXT 314, på vedkommende MPEG-tabell,
to redundante byte, RES 316,
en største størrelse, SECTION_LEN 318, av en MPEG-seksjon i vedkommende
MPEG-tabell,
en verdi, TIME_OUT 320, av tidsutbruddet for lasting av vedkommende MPEG-tabell, og
verdien, SGN_SIGN 322, av signaturen for vedkommende MPEG-tabell, og for hver MPEG-tabell for programvaren: identifikasjonen, SEG_ID 324, for vedkommende MPEG-tabell, TID-etternavnet, TID_EXT 326, på vedkommende MPEG-tabell,
to redundante byte, RES 328,
en største størrelse, SECTION_LEN 330, av en MPEG-seksjon i vedkommende
MPEG-tabell,
en verdi, TIME_OUT 332, av tidsavbruddet for lasting av vedkommende MPEG-tabell, og
verdien, SIGN_SIGN 334, av signaturen for vedkommende MPEG-tabell,
- en identifikasjon, KEY 336, for den hemmelige nøkkel som brukes for autentiseringen av lasterkatalogen 300, og - et chiffrert område, CIPH_AREA 338, som inneholder signaturen SIGN_L 340 for lasterkatalogen 300, idet signaturen er forskjøvet fra begynnelsen av CIPH_AREA 338 med en signaturforskyvning SGN_OFFSET 324.
Under oppdateringen lages en rapport som blant annet inneholder detaljer om hvert trinn under skrive-/oppdateringsprosessen, slik som om et trinn er blitt fullført med hell, eller ikke, slik at et trinn hvor skrivingen/oppdateringen kan ha sviktet senere kan identifiseres. Rapporten inneholder f.eks.:
- HVERSION 206 for maskinvarekatalogen 200,
dersom en feil har skjedd under behandlingen av maskinvarekatalogen 200, en angivelse av feiltype og TID-etternavnet på den MPEG-tabell i maskinvare-katalogen 200 hvor feilen inntraff,
- LVERSION 302 for lasterkatalogen,
dersom en feil har skjedd under behandlingen av lasterkatalogen 300, en angivelse av feiltype og TID-etternavnet på den MPEG-tabell i lasterkatalogen 300 hvor feilen inntraff, og
dersom en feil har skjedd under behandlingen av jobbstrømlasteren, en angivelse av feiltype og TID-etternavnet på den MPEG-tabell i jobbstrømlasteren hvor feilen inntraff, og
dersom en feil skjedde under behandlingen av programvaren, en angivelse av feiltype og TID-etternavnet på den MPEG-tabell for programvaren hvor feilen inntraff.
Rapporten inneholder også grunnen for hvorfor skrivingen/oppdateringen ble utført, f.eks. på anmodning fra et brukerprogram, antallet påviste programvare-uoverensstemmeiser og antallet oppgraderingssvikt.
Nar resident programvare på anmodning fra et brukerprogram oppdateres med programvare i MPEG-bitstrømmen, er mottager/dekoderen 2020 innrettet for å sammenligne SVERS 310 for programvaren identifisert i den nylig nedlastede lasterkatalogtabell 300 med den residente programvares versjonsnummer. Dersom SVERS 310 er senere, blir modulene knyttet til den residente programvare slettet fra FLASH-hukommelsen 69 og den oppdaterte programvares moduler lastes ned og monteres.
En lysdiodefremviser (LED Display) 4038 på forsiden av mottager/dekoderen 2020 er tilpasset for under nedlastingen av data å vise frem meldinger til brukeren av mottager/dekoderen 2020. Som et eksempel er de fire etterfølgende meldinger angitt i et parameterfelt lagret i FLASH-hukommelsen 60 i mottager/dekoderen 2020: - en lastemelding ("LOAD") som angir at skriving/oppdatering foregår i "normal" tilstand, dvs. på anmodning fra et brukerprogram, - en maskinavhengig melding ("NATIV") som angir at oppdatering skjer i en "maskinavhengig" ("NATIV") tilstand, dvs. fordi den residente programvare er blitt
korrumpert,
- en 0-melding ("000") som angir at primærlasteren 100 ikke er istand til å utføre skriving/-oppdatering fordi den ikke makter å lokalisere konsistente eller gyldige parametre (slik som den frekvens som MPEG-avstemmeren 4028 skal innstilles til
eller MPEG-bitstrømmens PID) i hukommelsen i mottager/dekoderen 2020, og
- en feilmelding ("ERRL") som angir at en feil som er forskjellig fra dem angitt med henvisning til 0-meldingen, har skjedd under skrivingen/oppdateringen.
Som et alternativ til statiske meldinger, kan meldinger i form av en animert "tegnefilm" vises frem på mottager/dekoderen.
Trinnene under oppdateringen av resident programvare vil nå bli beskrevet med henvisning til fig. 13.
I trinn S101 kontrollerer programvare lagret i mottager/dekoderen integriteten av all resident programvare ved å utføre en kontrollsumberegning og sammenligne resul-tatet av denne beregning med verdien av kontrollsummen lagret i den residente programvare. Dersom de to verdier er ulike, fortsetter oppdateringen i den maskinavhengige tilstand, og dersom de to verdier er den samme, eller dersom det ikke finnes noen resident programvare, fortsetter oppdateringen i den normale tilstand.
I den maskinavhengige tilstand (native state) avgjøres det da om en tidligere anmodning om oppdatering fortsatt gjelder i trinn S102. Dersom en sådan anmodning om oppdatering fra et brukerprogram ikke er avgjort, blir denne anmodning slettet i trinnet S103 og trinn S102 gjentas. Dersom ingen sådan anmodning om oppdatering fortsatt gjelder, slettes rapporten om den forutgående oppdatering i trinn S104 og initialiseres i den hensikt å begynne loggføring av denne oppdatering. Rapporten loggfører grunnen for oppdateringsanmodningen, dvs. for å erstatte korrumpert programvare.
Etter trinn S104 blir den maskinavhengige melding (NATIV) vist frem på fremviseren 4038 i mottager/dekoderen 2020 i trinn S105.
I trinn S106 blir parametrene lagret i parameterfeltene i EEPROM- og FLASH-hukommelsen 69 kontrollert. Dersom avstemningsparametrene og/eller PID-parametrene ikke er definert, bringes fremviseren 4038 til å vise frem 0-meldingen (000) og oppdateringen avbrytes.
Dersom disse parametre er definert i parameterfeltet, fortsetter oppdateringen til trinn S107 hvor primærlasteren 100 innstiller MPEG-avstemmeren 4028 til transponderen 2014 i samsvar med parametrene lagret i parameterfeltene. Dersom avstemmingen ikke lykkes, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom avstemmingen lykkes, laster primærlasteren 100 ned og autentiserer maskinvare-katalogen 200 i trinn S108. Dersom maskinvarekatalogen 200 ikke lastes ned før tidsavbruddet nås eller dersom maskinvarekatalogen 200 ikke autentiseres (ettersom en feil har oppstått under nedlastingen), avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom nedlastingen og autentiseringen lykkes, leter primærlasteren 100 etter en HVN 210 som tilsvarer versjonsnummeret for mottager/dekoderen 2020, slik den er angitt i et parameterfelt. Dersom en sådan HVN ikke lokaliseres, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom en sådan oppføring lokaliseres, leser primærlasteren 100 TID'en 212 for MPEG-tabellene som brukes for lasterkatalogen 300 knyttet til vedkommende HVN 210, jobbstrømlasteren og programvaren som skal nedlastes, og i trinn S109 blir den korrekte lasterkatalog 300 lastet ned og autentisert. Dersom lasterkatalogen 300 ikke lastes ned før tidsavbruddet nås eller dersom lasterkatalogen ikke autentiseres (ettersom en feil har oppstått under nedlastingen), avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom nedlastingen og autentiseringen lykkes, laster primærlasteren 100 ned jobb-strømlasteren fra MPEG-bitstrømmen til direktehukommelsen (RAM) 72 i mottager/dekoderen 2020 i trinn S110. Dersom jobbstrømlasteren ikke lastes ned før tidsavbruddet nås eller dersom jobbstrømlasteren ikke autentiseres (ettersom en feil har oppstått under nedlastingen), avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom jobbstrømlasteren blir lastet og autentisert med hell, utføres jobbstrøm-lasteren i trinn Sill og i trinn S112 slettes det korrumperte parti av den residente programvare og de segmenter av programvaren som skal lastes ned, lastes ned ved hjelp av jobbstrømlasteren, autentiseres og skrives inn på det riktige adressested i FLASH-hukommelsen 69.
Dersom programvaren ikke lastes ned før tidsavbruddet nås eller dersom programvaren ikke autentiseres (ettersom en feil har oppstått under nedlastingen), eller dersom en feil skjer under skrivningen av programvaren i FLASH-hukommelsen 69, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom den residente programvare blir oppdatert med hell, stanses skrivingen av rapporten i trinn S113 og mottager/dekoderen 2020 tilbakestilles for å gjøre det mulig å starte en ytterligere oppdatering.
I ethvert trinn hvor oppdateringen avbrytes, kan trinnet alternativt utføres på ny et forutbestemt antall ganger inntil det fullføres med hell eller inntil et tidsavbrudd for å utføre vedkommende trinn er nådd.
Dersom oppdatering skal skje i normal tilstand, avgjør primærlasteren 100 i trinn S201 om en anmodning om oppdatering fra et brukerprogram allerede eksisterer. Hvis ikke, fortsetter oppdateringen som normalt. Dersom det allerede foreligger en anmodning om oppdatering, blir den gjeldende anmodning behandlet først.
Rapporten om den forutgående oppdatering slettes i trinn S202 og initialiseres i den hensikt å begynne loggføring av denne oppdatering. Rapporten loggfører grunnen for oppdateringsanmodningen, slik som en anmodning fra et brukerprogram, sammen med mulige oppdaterende valgmuligheter som velges av brukerprogrammet.
I trinn S203 avgjøres det så om en resident laster er lagret i FLASH-hukommelsen 69 i mottager/dekoderen 2020. Dersom en laster er lagret i mottager/dekoderen, avgjøres det i trinn S204 om den residente laster er blitt utført som reaksjon på en kommando fra programvare lagret i mottager/dekoderen 2020. Dersom den residente laster er blitt utført, utfører den residente laster de påfølgende trinn i den oppdaterende prosess som normalt ville bli utført av primærlasteren 100.
Dersom en resident laster ikke er tilstede eller er blitt utført, brukes primærlasteren 100. Det er også mulig for programvaren lagret i mottager/dekoderen 2020 å tvinge primærlasteren 100 til å fortsette den oppdaterende prosess selv om en resident laster er lagret i FLASH-hukommelsen 69.
Lastemeldingen (LOAD) vises frem på fremviseren 4028 i mottager/dekoderen 2020 i trinn S205.
I trinn S206 blir parametrene lagret i parameterfeltene i EEPROM- og FLASH-hukommelsen 69 kontrollert. Dersom avstemningsparametrene og/eller PID-parametrene ikke er definert, bringes fremviseren 4038 til å vise frem 0-meldingen
(000) og oppdateringen avbrytes.
Dersom disse parametre er definert i parameterfeltet, fortsetter oppdateringen til trinn S207 hvor den primære eller residente laster innstiller avstemmeren 4028 til transponderen 2014 i samsvar med parametrene lagret i parameterfeltene. Dersom avstemmingen ikke lykkes, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom avstemmingen lykkes, vil den primære eller residente laster laste ned og autentisere maskinvarekatalogen 200 i trinn S208. Dersom maskinvarekatalogen 200 ikke lastes ned før tidsavbruddet nås eller dersom maskinvarekatalogen ikke autentiseres (ettersom en feil har oppstått under nedlastingen) eller, avhengig av den valgmulighet som er valgt av brukerprogrammet som anmodet om oppdateringen, dersom en vellykket oppdatering er blitt utført ved å bruke en maskinvarekatalog som har den samme HVERSION 206, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem. Dersom nedlastingen og autentiseringen lykkes og oppdateringen gjøres virksom av brukerprogrammet, leter den primære eller residente laster etter en HVN 210 som tilsvarer versjonsnummeret for mottager/dekoderen 2020, slik det er angitt i et parameterfelt. Dersom en sådan HVN ikke finnes, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom en sådan oppføring finnes, leser den primære eller residente laster TID'en 212 for de MPEG-tabeller som brukes for lasterkatalogen 300 knyttet til vedkommende HVN 210, jobbstrømlasteren og programvaren som skal nedlastes, og i trinn S209 blir den korrekte lasterkatalog 300 lastet ned og autentisert.
Dersom lasterkatalogen 300 ikke lastes ned før tidsavbruddet nås eller dersom lasterkatalogen ikke autentiseres (ettersom en feil har oppstått under nedlastingen) eller, avhengig av den valgmulighet som er valgt av brukerprogrammet som anmoder om oppdateringen, dersom en vellykket oppdatering er blitt utført ved å utnytte en lasterkatalog som har den samme LVERS 306, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom nedlastingen og autentiseringen lykkes og oppdateringen tas i bruk av brukerprogrammet, laster den primære laster 100 ned jobbstrømlasteren fra MPEG-bitstrømmen inn i direktehukommelsen (RAM) 72 i mottager/dekoderen 2020 i trinn S210. Dersom jobbstrømlasteren ikke lastes ned før tidsavbruddet nås eller dersom jobbstrømlasteren ikke autentiseres (ettersom det har oppstått en feil under nedlastingen), avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom det lykkes å laste og autentisere jobbstrømlasteren, blir jobbstrømlasteren utført i trinn S211, og i trinn S212 sammenlignes versjonsnummeret SVERS 310 for programvaren i MPEG-bitstrømmen med nummeret på den residente programvare.
Dersom versjonsnumrene er det samme, utføres ikke skriving av programvaren til FLASH-hukommelsen 69 og brukerprogram mets oppdateringsanmodning slettes. Dersom versjonsnumrene er ulike, blir den residente programvare slettet og de segmenter av programvaren som skal lastes ned, lastes ned av jobbstrømlasteren, autentiseres og skrives inn i FLASH-hukommelsen 69 i trinn S213.
Dersom programvaren ikke lastes ned før tidsavbruddet nås eller dersom programvaren ikke autentiseres (ettersom en feil har oppstått under nedlastingen), eller dersom en feil skjer under skrivingen av programvaren inn i FLASH-hukommelsen 69, avbrytes oppdateringen og feilmeldingen (ERRL) vises frem.
Dersom den residente programvare blir oppdatert med hell, stanses skrivingen av rapporten i trinn S214 og den gjeldende oppdateringsanmodning slettes og mottager/dekoderen 2020 tilbakestilles for å gjøre det mulig å begynne en ytterligere oppdatering.
Slik som i den maskinavhengige tilstand, kan et trinn hvor oppdateringen er blitt avbrudd, alternativt utføres på ny inntil den er fullført med hell.
Det vil bli forstått at ovenfor er foreliggende oppfinnelse blitt beskrevet bare som eksempel og modifikasjoner av detaljer kan gjøres innenfor omfanget av oppfinnelsen.
Hvert trekk som er beskrevet i beskrivelsen og (når det er aktuelt) i kravene og på tegningene kan frembringes hver for seg eller i en hvilken som helst passende kombinasjon. I de foran nevnte foretrukne utførelser er visse trekk ved foreliggende oppfinnelse realisert ved bruk av datamaskinprogramvare. Det vil imidlertid selvsagt være klart for fagfolk på området at ethvert av disse trekk kan realiseres ved bruk av maskinvare. Dessuten vil det lett forstås at de funksjoner som utføres av maskinvaren, datamaskinprogramvaren og lignende utføres på eller ved utnyttelse av elektriske og likedanne signaler.

Claims (11)

1. Fremgangsmåte ved overføring og nedlasting av en erstatningsversjon av resident programvare til en mottager/dekoder (2020), idet mottager/dekoderen (2020) har en primærlaster (100) og noe resident programvare lagret i en ikke-flyktig, slettbar hukommelse (69) i nevnte mottager/dekoder, og hvor fremgangsmåten omfatter et trinn (a) hvor mottager/dekoderen mottar en bitstrøm som omfatter data som inneholder en jobbstrømlaster og erstatningsversjonen av den residente programvare (22), karakterisert vedat: (b) ved hjelp av primærlasteren lokaliseres nevnte jobbstrømlaster i den mottatte bitstrøm, som er kompatibel med mottager/dekoderens maskinvareplattform, (c) ved hjelp av primærlasteren lastes den jobbstrømlaster som er kompatibel med mottager/dekoderens (2020) maskinvareplattform, ned fra bitstrømmen, inn i mottager/dekoderen (2020), og (d) ved hjelp av den nedlastede jobbstrømlaster lastes nevnte erstatningsversjon av den residente programvare (22) ned fra bitstrømmen inn i mottager/dekoderen (2020) og skrives inn i nevnte ikke-flyktige, slettbare hukommelse (69) i mottager/dekoderen (2020), hvorved alle eller noen deler av den residente programvare som slettes fra den ikke-flyktige, slettbare hukommelse, erstattes, idet erstatningsversjonen av den residente programvare inneholder en resident laster beregnet på å komplettere primærlasteren for deretter å erstatte primærlasteren.
2. Fremgangsmåte som angitt i krav 1, og hvor dataene (22) mottatt i bitstrøm-men inneholder programvaredata som er beregnet på å oppdatere den residente programvare lagret i mottager/dekoderen (2020), idet fremgangsmåten videre omfatter at det med et overføringssystem utføres trinn hvor: - den ene eller i det minste én jobbstrømlaster deles inn i en mengde moduler, og - programvaredataene deles inn i en respektiv mengde moduler (24), idet hver mengde av programvaremoduler knyttes til en respektiv mengde av jobbstrøm-lastermoduler.
3. Fremgangsmåte som angitt krav 2, og som omfatter at det med overførings-systemet også utføres trinn hvor: - mengden jobbstrømlastermoduler formateres som respektive MPEG-tabeller, idet tabellene har den samme respektive tabellidentifikasjon (TID, 212) og respektive forskjellige tabellidentifikasjonsforlengelser (TID-etternavn, 314), mens - mengden av programvaremoduler av data formateres som respektive MPEG-tabeller, idet tabellene har den samme respektive TID (212) som jobbstrøm-lasterens tabeller knyttet til dem og respektive forskjellige TID-etternavn (326).
4. Fremgangsmåte som angitt i krav 3, og som videre omfatter at det med over-føringssystemet utføres trinn hvor det genereres en respektiv MPEG-lasterkatalogtabell (300) for den ene eller hver lasterkata logta bel I som er tilknyttet en bestemt versjonsidentifikasjon (210) for mottager/dekoderen (2020), idet lasterkatalogtabellen inneholder: - en identifikasjon (312) for vedkommende modul og det respektive TID-etternavn (314), for hver i mengden av jobbstrømlastermoduler, og - en identifikasjon (324) for vedkommende modul og det respektive TID-etternavn (326), for hver i mengden av programvaremoduler.
5. Fremgangsmåte som angitt i krav 4, og som også omfatter at det med over-føringssystemet utføres trinn hvor det genereres en MPEG- maskinvarekatalogtabell (200) som haren forutbestemt tabellidentifikasjon (TID, 202) og som for hver av en mengde versjonsidentifikasjoner (210) for en mottager/dekoder (2020) inneholder en respektiv TID (212) knyttet til vedkommende versjonsidentifikasjon.
6. Fremgangsmåte som angitt i krav 5, og hvor versjonsidentifikasjonen (210) omfatter en kode for versjonen av mottager/dekoderen og en kode for produsenten av mottager/dekoderen.
7. Fremgangsmåte som angitt i krav 5 eller 6,og som videre omfatter at det ved mottager/dekoderen utføres trinn hvor: - nevnte maskinvarekatalogtabell (200) som har den forutbestemte TID (202), lastes ned, - mottager/dekoderens versjonsidentifikasjon (210) bestemmes, - den TID (212) som er knyttet til versjonsidentifikasjonen (210) oppnås fra maskinvarekatalogtabellen (200), - den lasterkatalogtabell (300) som har den oppnådde TID (212), lastes ned, - ut fra innholdet i lasterkata logta bellen bestemmes de TID-etternavn (314) i jobbstrømlaster-MPEG-tabellene, som har den samme TID (212) som lasterkatalogtabellen (300), og - de jobbstrømlastertabeller som har den samme TID (212) som den for den nedlastede lasterkatalogtabell (300) og TID-etternavn (314) fastlagt ut fra den nedlastede lasterkatalogtabell, lastes ned.
8. Fremgangsmåte som angitt i et av kravene 4 - 7, og som videre omfatter at det med overføringssystemet utføres trinn hvor: - det i hver sendte maskinvarekatalogtabell innlemmes en katalog versjons identifikasjon (206) for denne, og det ved mottager/dekoderen utføres trinn hvor: - det avgjøres om katalogversjonsidentifikasjonen (206) for en løpende overført maskinvarekatalogtabell er nyere enn katalogversjonsidentifikasjonen for en foregående nedlastet maskinvarekatalogtabell som har den samme TID som den løpende overførte maskinvarekatalogtabell, og hvis ikke, avbrytes nedlastingen av data.
9. Fremgangsmåte som angitt i et av kravene 2 - 8, og som videre omfatter at det med overføringssystemet utføres trinn hvor: - det i bitstrømmen innlemmes en programvareversjonsidentifikasjon (310), og det ved mottager/dekoderen utføres trinn hvor: - det avgjøres om programvareversjonsidentifikasjonen for den mottatte programvare er nyere enn programvareversjonsidentifikasjonen for den løpende lagrede, residente programvare, og - den mottatte programvare lastes ned fra bitstrømmen dersom den mottatte programvareversjon er nyere enn versjonen av den residente programvare.
10. Fremgangsmåte som angitt i et av de foregående krav, og hvor jobbstrøm-lasteren har form av en kode som er spesifikk for mottager/dekoderens maskinvare.
11. Mottager/dekoder (2020) som omfatter: - en mottager (2018) for mottagning av en bitstrøm som omfatter data (22) som inneholder en jobbstrømlaster og en erstatningsversjon av en resident programvare, og - et lagringsutstyr (72), karakterisert vedat noe resident programvare er lagret i en permanent, slettbar hukommelse (69), idet mottager/dekoderen videre omfatter: - en primærlaster (100) for i den mottatte bitstrøm å lokalisere nevnte jobbstrøm-laster som er kompatibel med mottager/dekoderens maskinvareplattform, - nedlastende utstyr (100) for å laste ned fra bitstrømmen inn i lagringsutstyret (72), den jobbstrømlaster som er kompatibel med mottager/dekoderens maskinvareplattform, idet den nedlastede jobbstrømlaster er i stand til å slette fra den permanente, slettbare hukommelse (69) hele eller en del av den residente programvare og i stedet skrive inn erstatningsversjonen av den residente programvare lastet fra bitstrømmen, idet erstatningsversjonen av den residente programvare lastet fra bitstrømmen inneholder en resident laster beregnet på å komplettere primærlasteren for deretter å erstatte primærlasteren.
NO20001651A 1997-10-03 2000-03-30 Fremgangsmate ved overforing og nedlasting av en erstatningsversjon av resident programvare, og tilsvarende mottager/dekoder NO331878B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97402335A EP0907285A1 (en) 1997-10-03 1997-10-03 Downloading data
PCT/IB1998/001613 WO1999018724A1 (en) 1997-10-03 1998-10-05 Downloading data

Publications (3)

Publication Number Publication Date
NO20001651D0 NO20001651D0 (no) 2000-03-30
NO20001651L NO20001651L (no) 2000-06-05
NO331878B1 true NO331878B1 (no) 2012-04-23

Family

ID=8229869

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20001651A NO331878B1 (no) 1997-10-03 2000-03-30 Fremgangsmate ved overforing og nedlasting av en erstatningsversjon av resident programvare, og tilsvarende mottager/dekoder

Country Status (19)

Country Link
US (1) US6970960B1 (no)
EP (2) EP0907285A1 (no)
JP (2) JP4845263B2 (no)
KR (1) KR20010030926A (no)
CN (1) CN1280740A (no)
AU (1) AU749089B2 (no)
BR (1) BR9813235A (no)
CA (1) CA2304144C (no)
HR (1) HRP20000164A2 (no)
HU (1) HUP0100358A2 (no)
ID (1) ID24163A (no)
IL (2) IL135412A0 (no)
NO (1) NO331878B1 (no)
PL (1) PL339580A1 (no)
RU (1) RU2226042C2 (no)
TR (1) TR200001280T2 (no)
UA (1) UA63976C2 (no)
WO (1) WO1999018724A1 (no)
ZA (1) ZA988996B (no)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393585B1 (en) * 1998-12-23 2002-05-21 Scientific-Atlanta, Inc. Method and apparatus for restoring operating systems in a set-top box environment
US7409546B2 (en) * 1999-10-20 2008-08-05 Tivo Inc. Cryptographically signed filesystem
US6718374B1 (en) * 1999-04-21 2004-04-06 General Instrument Corporation Method and system for identifying and downloading appropriate software or formware specific to a particular model of set-top box in a cable television system
CN1355997A (zh) * 1999-04-21 2002-06-26 通用仪器公司 在有线电视系统通过置顶盒接收的信号中用于定位控制频道和数据传输流的方法和系统
WO2000064181A1 (en) * 1999-04-21 2000-10-26 General Instrument Corporation Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
JP2002542736A (ja) * 1999-04-21 2002-12-10 ゼネラル インスツルメント コーポレーション ケーブルテレビジョンシステムにおける進歩したセットトップボックスの母集団におけるプログラミングの対象を定めた又は汎用のアップグレードのための方法及びシステム
US7640571B1 (en) * 1999-07-15 2009-12-29 General Instrument Corporation Method and apparatus for preventing disruptions in set-top terminal function due to the download of updated programming or data to the set-top terminal
BR0013419A (pt) * 1999-08-16 2002-07-23 Gen Instrument Corp Processo e sistema para gerenciar múltiplas versões de um objeto-código que é telecarregado por um terminal conversor de topo de aparelho em um sistema de televisão a cabo
US6813778B1 (en) * 1999-08-16 2004-11-02 General Instruments Corporation Method and system for downloading and managing the enablement of a list of code objects
EP1427214A3 (en) * 1999-09-02 2004-12-22 General Instrument Corporation Method and system of identifying software and firmware objects available for download over a network such as a cable television system
US6904611B1 (en) 1999-09-03 2005-06-07 General Instrument Corporation Method and system for directing the download of software and firmware objects over a network such as a cable television system
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
JP2001275092A (ja) * 2000-01-20 2001-10-05 Matsushita Electric Ind Co Ltd デジタル放送の伝送方法、デジタル放送受信機、デジタル放送局システム
US7069578B1 (en) 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
JP4766770B2 (ja) * 2000-06-13 2011-09-07 パナソニック株式会社 蓄積型放送サービスシステムおよび受信蓄積装置
GB0016061D0 (en) 2000-06-30 2000-08-23 Koninkl Philips Electronics Nv Efficient recording of object carousels
US6735601B1 (en) 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
FR2822329B1 (fr) * 2001-03-14 2003-06-20 Sagem Dispositif de chargement d'applications dediees a la reception de signaux de television
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
GB2381090B (en) * 2001-10-17 2005-02-02 Bitarts Ltd Software loading
US7136982B2 (en) 2001-11-09 2006-11-14 Danger, Inc. Apparatus and method for allocating memory blocks
KR20040067849A (ko) 2001-12-07 2004-07-30 마쯔시다덴기산교 가부시키가이샤 매체 콘텐츠 분배 시스템과 방법
US9134989B2 (en) * 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US7206862B2 (en) * 2002-04-24 2007-04-17 Microsoft Corporation Method and apparatus for efficiently matching responses to requests previously passed by a network node
EP1510057B1 (en) * 2002-05-22 2007-01-24 Thomson Licensing Signing and authentication devices and processes and corresponding products, notably for dvb/mpeg mhp digital streams
KR100484144B1 (ko) * 2002-06-20 2005-04-18 삼성전자주식회사 원격 관리 서버 및 원격 관리 방법
FR2845854B1 (fr) * 2002-10-11 2005-01-14 Thomson Licensing Sa Desactivation a distance de decodeurs d'acces a des donnees numeriques multimedia
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US7500092B2 (en) 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
US7673297B1 (en) * 2003-09-03 2010-03-02 The Directv Group, Inc. Automatic software update detection and flexible installer for set-top boxes
US8626146B2 (en) * 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
KR100574230B1 (ko) * 2003-11-14 2006-04-26 한국전자통신연구원 디지털 데이터 방송의 헤드엔드 또는 가입자 단말에서변경 어플리케이션 데이터 처리 방법
EP1533695B1 (en) * 2003-11-19 2013-08-07 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating data in a mobile terminal
US20070162905A1 (en) * 2004-01-28 2007-07-12 Kooijmans Sander R Use loader for signaling the system software update service
CN100502476C (zh) 2004-04-06 2009-06-17 松下电器产业株式会社 程序执行装置及方法
US7425992B2 (en) * 2004-10-29 2008-09-16 Sharp Laboratories Of America, Inc. Method and apparatus for upgrading a television system
KR100630729B1 (ko) * 2005-01-04 2006-10-02 삼성전자주식회사 플래쉬 메모리의 메인 코드 다운로드 방법
KR100719022B1 (ko) * 2005-08-18 2007-05-17 삼성전자주식회사 디지털 방송시스템 및 디지털 방송시스템의소프트웨어 다운로드 방법과, 디지털tv 및 디지털tv 의소프트웨어 다운로드 방법
JP4548307B2 (ja) * 2005-10-31 2010-09-22 ソニー株式会社 分離型処理装置及びそのソフトウエアの版更新方法
JP4932390B2 (ja) * 2006-08-31 2012-05-16 株式会社日立製作所 仮想化システム及び領域割当て制御方法
US20080293395A1 (en) * 2007-05-21 2008-11-27 Motorola, Inc. Using downloadable specifications to render a user interface on a mobile device
KR101134214B1 (ko) 2007-06-19 2012-04-09 콸콤 인코포레이티드 무선 환경에서 데이터세트 동기화를 위한 방법들 및 장치
KR20100050098A (ko) * 2008-11-05 2010-05-13 삼성전자주식회사 영상처리장치 및 그 제어 방법
US9164924B2 (en) * 2011-09-13 2015-10-20 Facebook, Inc. Software cryptoprocessor
US9477603B2 (en) 2013-09-05 2016-10-25 Facebook, Inc. System and method for partitioning of memory units into non-conflicting sets
US9983894B2 (en) 2013-09-25 2018-05-29 Facebook, Inc. Method and system for providing secure system execution on hardware supporting secure application execution
US10049048B1 (en) 2013-10-01 2018-08-14 Facebook, Inc. Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
US9747450B2 (en) 2014-02-10 2017-08-29 Facebook, Inc. Attestation using a combined measurement and its constituent measurements
US9734092B2 (en) 2014-03-19 2017-08-15 Facebook, Inc. Secure support for I/O in software cryptoprocessor
RU2576965C1 (ru) * 2014-12-30 2016-03-10 Олег Иванович Квасенков Способ производства консервов "солянка рыбная"
GB2546239A (en) * 2015-11-23 2017-07-19 Acadiant Ltd A Method and system for providing and executing web applications
US9588758B1 (en) 2015-12-18 2017-03-07 International Business Machines Corporation Identifying user managed software modules
CN107194237B (zh) * 2017-04-05 2020-04-03 百富计算机技术(深圳)有限公司 应用程序安全认证的方法、装置、计算机设备及存储介质
KR20210076608A (ko) * 2019-12-16 2021-06-24 주식회사 실리콘웍스 펌웨어 라이트 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430704A (en) * 1980-01-21 1984-02-07 The United States Of America As Represented By The Secretary Of The Navy Programmable bootstrap loading system
US4712141A (en) 1985-03-30 1987-12-08 Dainippon Screen Mfg. Co., Ltd. Method and apparatus for interpolating image signals
US5146568A (en) * 1988-09-06 1992-09-08 Digital Equipment Corporation Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
US5367571A (en) * 1992-12-02 1994-11-22 Scientific-Atlanta, Inc. Subscriber terminal with plug in expansion card
US5608732A (en) * 1993-09-01 1997-03-04 Zenith Electronics Corporation Television distribution system having virtual memory downloading
US5539920A (en) * 1994-04-28 1996-07-23 Thomson Consumer Electronics, Inc. Method and apparatus for processing an audio video interactive signal
US5819034A (en) * 1994-04-28 1998-10-06 Thomson Consumer Electronics, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system
EP0680216B1 (en) * 1994-04-28 2007-11-21 OpenTV, Inc. Apparatus and method for formulating an interactive signal
US5563648A (en) * 1994-04-28 1996-10-08 Thomson Consumer Electronics, Inc. Method for controlling execution of an audio video interactive program
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5581706A (en) * 1994-06-30 1996-12-03 Rca Thomson Licensing Corporation Method forming an audio/video interactive data signal
JPH08305561A (ja) * 1995-04-28 1996-11-22 Nec Corp ファームウエアダウンロード方法とその装置
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5689825A (en) * 1995-07-28 1997-11-18 Motorola, Inc. Method and apparatus for downloading updated software to portable wireless communication units
US6067500A (en) * 1995-08-14 2000-05-23 Aisin Aw Co., Ltd. Navigation system
US5771064A (en) * 1995-11-29 1998-06-23 Scientific-Atlanta, Inc. Home communications terminal having an applications module
WO1997030375A1 (en) * 1996-02-13 1997-08-21 Obsidian Imaging, Inc. Method and apparatus for configuring a camera through external means
JPH11504457A (ja) * 1996-02-16 1999-04-20 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ マルチメディア アプリケーション タイトルを実行するプラットフオーム サブシステムおよびそれを記憶する方法
US6112025A (en) * 1996-03-25 2000-08-29 Sun Microsystems, Inc. System and method for dynamic program linking
GB9623298D0 (en) * 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US5787017A (en) * 1997-04-18 1998-07-28 Lmi Corporation Method and apparatus for acquiring data from a measurement transducer
US5961586A (en) * 1997-05-14 1999-10-05 Citrix Systems, Inc. System and method for remotely executing an interpretive language application
US5987135A (en) * 1997-07-25 1999-11-16 Prc Inc. System and method for controlling and monitoring remote distributed processing system

Also Published As

Publication number Publication date
JP4845263B2 (ja) 2011-12-28
RU2226042C2 (ru) 2004-03-20
ZA988996B (en) 1999-05-24
KR20010030926A (ko) 2001-04-16
EP1020078A1 (en) 2000-07-19
HUP0100358A2 (hu) 2001-06-28
NO20001651L (no) 2000-06-05
CA2304144C (en) 2010-09-28
JP4971388B2 (ja) 2012-07-11
HRP20000164A2 (en) 2001-12-31
UA63976C2 (uk) 2004-02-16
BR9813235A (pt) 2000-08-22
IL135412A (en) 2006-08-01
AU9278398A (en) 1999-04-27
CN1280740A (zh) 2001-01-17
EP0907285A1 (en) 1999-04-07
WO1999018724A1 (en) 1999-04-15
IL135412A0 (en) 2001-05-20
JP2009238238A (ja) 2009-10-15
ID24163A (id) 2000-07-13
NO20001651D0 (no) 2000-03-30
JP2001519627A (ja) 2001-10-23
TR200001280T2 (tr) 2001-01-22
CA2304144A1 (en) 1999-04-15
PL339580A1 (en) 2000-12-18
AU749089B2 (en) 2002-06-20
US6970960B1 (en) 2005-11-29

Similar Documents

Publication Publication Date Title
NO331878B1 (no) Fremgangsmate ved overforing og nedlasting av en erstatningsversjon av resident programvare, og tilsvarende mottager/dekoder
JP4062367B2 (ja) Mpeg受信機/デコーダ及びデータをmpeg受信機/デコーダにダウンロードする方法
US6381741B1 (en) Secure data downloading, recovery and upgrading
ES2251102T3 (es) Telecarga de aplicaciones con un descodificador digital.
AU744517B2 (en) Computer memory organization
MXPA06004543A (es) Metodo para autentificar y ejecutar un programa de aplicacion.
AU742067B2 (en) Extracting data sections from a transmitted data stream
WO1998043433A1 (en) Data processing system
ES2205212T3 (es) Desarrollo de un sistema de control para television o radio para mpeg.
JP2006050625A (ja) 端末における動作強制
MXPA00003214A (en) Downloading data
AU1565002A (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
KR20000076406A (ko) 데이터 처리 시스템
CZ20001197A3 (cs) Zavádění dat
CZ331399A3 (cs) Způsob zavádění dat do MPEG přijímače/dekodéru a MPEG vysílací systém pro jeho realizaci
CZ331499A3 (cs) Organizace počítačové paměti
MXPA99008546A (es) Extraccion de secciones de datos desde una corriente de datos transmitida
MXPA99008543A (en) Data processing system

Legal Events

Date Code Title Description
MK1K Patent expired