SE514762C2 - Förfarande, anordning och portabel terminal för programvarunedladdning i ett trådlöst näverk samt sådant telekommunikationsnät - Google Patents
Förfarande, anordning och portabel terminal för programvarunedladdning i ett trådlöst näverk samt sådant telekommunikationsnätInfo
- Publication number
- SE514762C2 SE514762C2 SE9801897A SE9801897A SE514762C2 SE 514762 C2 SE514762 C2 SE 514762C2 SE 9801897 A SE9801897 A SE 9801897A SE 9801897 A SE9801897 A SE 9801897A SE 514762 C2 SE514762 C2 SE 514762C2
- Authority
- SE
- Sweden
- Prior art keywords
- terminal
- program
- code
- network
- machine code
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
25 514 762 Dessutom finns ett stort antal olika terminaltyper som använder olika hård- och mjukvaruplattformer. Det är därför önskvärt att skapa program som kan köras på fle- ra olika plattformar.
Sammanfattning av uppfinningstanken Det är ett syfte med föreliggande uppfinning att möjliggöra exekvering av mer avan- cerade eller krävande program i en bärbar enhet än vad som vanligtvis skulle vara möjligt på grund av den bärbara enhetens processorkapacitet och minnesutrymme.
Det är ett syfte med uppfinningen att möjliggöra exekvering av program i en liten enhet med begränsad processorkapacitet och/ eller minnesutrymme utan att minska processorhastigheten.
Det är ett annat syfte med uppfinningen att möjliggöra av nya fimktioner, uppgradering av fimktioner eller fullständig utskifming av ett fimktionspaket i olika typer av bärbara enheter, i synnerhet bärbara enheter anpassade för användning i ett cellulärt nät.
Det är även ett syfte med den föreliggande uppfinningen att möjliggöra exekvering av program som inte behöver vara permanent lagrade i terminalen.
Dessa syften uppnås enligt den föreliggande uppfinningen med ett förfarande för att ändra fimktionaliteten i en mobil terminal ansluten till ett nät via en trådlös förbin- delse, vilken funktionalitet är realiserad såsom program i ett programmeringsspråk för vilket källkoden kan kompileras till en mellannivåkod, som är exekverbar och verifierbar, vilket förfarande är kännetecknat av stegen att - programmet översätts till maskinkod med användning av åtminstone en översät- tare i beroende av hård- och mjukvarumiljön i ånninstone en terminaltyp; 10 15 20 25 514 762 3 - rätt variant av maskinkoden som skall laddas ned till terminalen bestäms utifrån terminalens typ och/eller typen av abonnemang som terminalen arbetar med för tillfället; - maskinkoden laddas ned till nämnda terminal.
Dessa syften uppnås även av en anordning för att tillhandahålla program i ett nät in- nefattande värdnoder och flera olika typer av terminaler, varvid åtminstone vissa av terminalema är anslutna till andra delar av nätet med trådlösa förbindelser, varvid programmen är realiserade i ett programmeringsspråk för vilket källkoden kan kom- pileras till en mellannivâkod som är exekverbar och verifierbar, och tolkas eller översättas till en maskinkod, vilken anordning är känneteclmad av att den innefattar: - minnesorgan for att lagra program i form av maskinkod, exekverbar i åtminstone en av typema av terminaler i nätet; - organ fór att bestämma vilken maskinkod som skall laddas ned till en viss termi- nal utifrån terminaltypen och eller typen av abonnemang som terminalen arbetar med för tillfället; - organ för att överföra ett program, i form av maskinkod till åtminstone en termi- nal.
Syftena uppnås enligt uppfinningen även med ett telekommunikationsnät innefattan- de värdnoder och flera olika typer av terminaler, varvid åtminstone vissa av termi- nalema är anslutna till andra delar av nätet med trådlösa förbindelser, varvid tele- kommunikationsnåtet är kännetecknat av att det innefattar - åtminstone ett översättarorgan för ett programmeringsspråk för vilket källkoden kan kompileras till en mellannivâkod, vilket översättarorgan används för att över- sätta mellannivåkoden till maskinkod som är exekverbar på åtminstone en av nämn- da terminaler; - minnesorgan för att lagra maskinkoden; 10 15 20 25 30 514 762 4 - organ för att bestämma vilka program eller programversioner som skal laddas ned till en viss terminal utifrån tenninalens typ och/eller typen abonnemang som i terminalen arbetar med för tillfället; - organ för att överföra ett program, i form av maskinkod, till åtminstone en termi- nal.
Enligt en föredragen utföiingsform innefattar nämnda anordning även åtminstone en översättare för mellannivåkoden, vilken översättare är anpassad till åtminstone en hård- och mjukvarumiljö som används av terminaler i nätet. Enligt denna utförings- form innefattar förfarandet även steget att programmet översätts med hjälp av nämnda åtminstone ena översättare i värdnoden innan de lagras.
Program kan laddas ned till en terminal automatiskt, eller på begäran fiån använda- ren av terminalen.
Förfarandet är speciellt användbart för bärbara terminaler i ett cellulärt telekommu- nikationsnät.
Enligt en föredragen uttöringsform bestäms vilken programvariant som skal laddas ned till terminalen utifrån terminaltypen, t. ex. utifrån en identitetskod för termina- len.
Syftena uppnås också med en portabel terminal anordnad för trådlös kommunikation och innefattande en kärna som är anordnad att motta program och/eller programde- lar i form av maskinkod, vilken terminal är kännetecknad av att kärnan är anordnad att installera de mottagna programmen eller programdelarna medan terminalen är i drift, och att den är anordnad att informera rätt nod i nätet om sin typ och/eller abonnemangstypen som den arbetar med för tillfället.
Den bärbara terminalen kan vara anordnad att förse användaren med information om de tillgängliga programmens beroendeträd. 10 15 20 25 30 514 762 Den bärbara terminalen kan också vara anordnad att informera den lämpliga noden i nätet om sin typ och abonnemangstypen som den arbetar med för tillfället, och an- nan information, såsom sin nuvarande batteristatus.
Enligt en föredragen utföringsform mottar och tolkar den bärbara terminalen enligt uppfinningen även information om huruvida ett program eller ett programblock skall lagras i den bärbara tenninalen.
Det vanligaste programmeringsspråket av den nämnda typen i dag är Java. Andra _ exempel är LISP, SmallTalk och Erlang. Källkoden i ett javaprogram kompileras inte till maskinkod för en viss typ av processor, men till korta pseudoinstruktioner för en virtuell maskin, ”bytekod”. När ett program skall exekveras laddas bytekoden typiskt sett ned till terminalen där den skall exekveras och översätts där till maskin- kod för terminalen. På detta sätt kan ett program skrivet i ett sådant tolkat språk, så- som Java, exekveras i vilken som helst typ av dator som har en översättare, eller ett tolkningsprogram för språket.
Java används primärt i intemettillämpningar, men fördelarna med tolkade språk gör dem även lämpade för användning i cellulära nät. J avaprogram är vanligtvis mindre än motsvarande maskinkodsprogram och är därför lämpliga för mobila terminaler i vilka det tillgängliga minnesutrymmet är begränsat. Ett ökande antal mobila termi- naler stöder javafillämpningar.
Användandet av ett tolkat språk, såsom J ava, är speciellt fördelaktigt i bärbara ter- minaler eftersom de har begränsat minnesutrymme. Att översätta programmet utan- för terminalen reducerar också kraven på processorhastighet och effekt, som också är begränsade i bärbara terminaler.
Enhviktig fördel med den föreliggande uppfinningen är att den möjliggör en delning av ansvarefför att utföra de olika fimktionerna förbundna med att ändra ftmktiona- 10 15 20 25 30 514 762 6 litet i en enhet. Till exempel kan en mjukvaiutillverkare vara ansvarig för att ut- veckla källkoden till programmet och för att kompilera källkoden till bytekod. Till- verkaren av den mobila terminalen kan vara ansvarig för att översätta bytekoden till maskinkod, och nätoperatören kan vara ansvarig för överförandet av maskinkoden till terminalerna där den skall köras.
Tolkade språk såsom Java, har många fördelar: De gör det lättare att ladda ned och ta bort delar av kod dynamiskt för att reducera utrymmet som behövs, De underlättar utskiftning av delar av mjukvaran eftersom dynamisk länkning av program är lättare än med andra programmeringsspråk, och De gör det möjligt att köra samma bytekod i olika processorer och med olika typer av systemarkitektur, så att en viss funktion endast behöver programmeras en gång.
De två sista punkterna är användbara för alla bärbara enheter, och i synnerhet för bärbara enheter som kan kommunicera med någon typ av trådlöst nät, som då kan utnyttja alla typer av tjänster som erbjuds i nätet. Uppgradering av mjukvaran ge- nom att ladda ned nya program blir också enkel att utföra, så att terminalen inte kommer att bli föråldrad eftersom fimktionerna uppgraderas eller nya tjänster ut- vecklas. Detta gör det också lättare att byta fiån en operatör till en annan, då den nya operatörens tjänstepaket ersätter det gamla paketet. Det är också tänkbart att låta tjänsterna som erbjuds av en mobiloperatör ändras, t. ex. utifrån tiden på dygnet, fel- status för basstationerna i området, tillgängligheten till intemetrelaterade tjänster, OSV.
Kortfattad beskrivning av ritningarna Figur 1 är en förenklad vy av ett nät i vilket lösningen enligt uppfinningen tillämpas.
Figur 2 är en mer fullständig vy av ett nät i vilket lösningen enligt uppfinningen till- lämpas.
Figur 3 är ett flödesschema av proceduren för att göra en ny tjänst tillgänglig i nätet enligt uppfinningen. 10 15 20 25 30 514 762 7 Figur 4 är ett flödesschema av proceduren för att ladda ned en ny tjänst till en ter- minal automatiskt enligt uppfinningen.
Figur 5 är ett flödesschema av proceduren för att ladda ned en ny tjänst till en ter- minal på begäran av en användare enligt uppfinningen.
Figur 6 är en översikt över hur ansvaret kan delas upp mellan olika deltagare enligt uppfinningen.
Detaljerad beskrivning av utfóringsforrner Figur 1 är en förenklad vy av ett nät i vilket lösningen enligt uppfinningen tillämpas.
En bärbar terminal 1 är ansluten via ett luftgränssnitt till ett mobilnät, genom en basstation 3. Basstationen är ansluten till en styrenhet 5 som i sin tur är ansluten till ett nät (ej visat). Styrenheten 5 styr basstationema och utför resursallokeringsfunk- tioner och andra fimktioner såsom växelftmktioner i mobiltelekommunikationsnätet.
I eller i anslutning till styrenheten 5 finns en programenhet 9 som tillhandahåller program.
Styrenheten 5 är ansluten till en eller flera hårdvaruleverantörers värdnoder 7 som i sin tur är anslutna till värdnoder 8, tex. tillhörande mjukvaruleverantörer. Typiskt sett används mjukvaruleverantörernas värdnoder 8 för att tillverka källkoden och för att kompilera källkoden till bytekod. Bytekoden överförs sedan till hårvaruleveran- töremas värdnoder 7, i vilka bytekoden översätts till maskinkod. För detta innefattar varje hårdvaruleverantörs värdnod 7 en eller flera översättare ll för åt- minstone denna hårdvaruleverantörs terminaltyper. Både i hårdvaruleverantöremas värdnoder 7 i och mjukvaruleverantöremas värdnoder 8 utförs vanligtvis testaktivi- teter på känt sätt.
I diskussionen ovan har uppdelningen av funktioner på hårdvaruleverantörernas värdnoder 7, mjukvaruleverantöremas värdnoder 8 och styrenheten 5 eller program- enheten 9 huvudsakligen gjorts för att klargöra de olika flmlctionema som utförs.
Värdnodema 7, 8 kan givetvis också vara en värdnod i vilken källkoden både kom-_ 10 15 20 25 30 514 762 8 pileras och översätts. Översättarfimktionen kan också utföras i programenheten 9, i vilket fall programenheten måste innefatta åtminstone en översättare ll.
Programenheten 9 innefattar ett antal program 13, 15. Varje program finns i ett antal varianter 13a, l3b, 130, 15a, l5b, l5c, översatta med olika översättare ll för att kunna exekveras i olika typer av terminaler 1.
Alternativt lagras endast bytekoden. I detta fall översätts programmet 13, 15 av den relevanta översättaren 11 när det skall laddas ned till en bärbar terminal l, för att kunna exekveras på terminalen 1, och den resulterande maskinkoden sänds till ter- minalen 1. Denna procedur diskuteras i detalj i förbindelse med figurerna 4 och 5.
Figur 2 är en mer utförlig översikt över ett nät i vilket lösningen enligt uppfinningen realiseras.
Nätet kan innefatta flera nät, t. ex. ett telekommunikationsnât 21 och ett datanät 23, såsom Intemet. I figur 2 är telekommunikationsnätet 21 ett cellulärt nät. Telekom- munikationsnätet 21 innefattar en eller flera kommunikationsenheter 25, såsom bas- stationer, anslutna till nätet genom styrnoder 26, vilka styr kommunikafionsenheter- nas 25 fimktion och möjligen andra fimktioner, såsom växelftmktioner i nätet.
Kommunikationsenhetema 25 är anpassade för nådlös kommunikation med termi- naler 27 i nätet.
Datanätet 23 innefattar också ett antal terminaler 29, 31, av vilka några 29 används för att tillhandahålla program i form av källkod eller bytekod. Andra 31 kan hämta program som görs tillgängliga enligt uppfinningen.
Stymodema 26 innefattar också programmen som skall laddas ned till terminalema 27 i det cellulära nätet 21. I en íöredragen utiöringsform laddas de översatta versio- nerna av programmen ned till stymoderna 26 och lagras Programmen kan också laddas ned till stymoden 26 i form av bytekod, översättas i stymoden 26 och lagras 10 15 20 25 30 514 762 i 9 där i fonn av maskinkod. Programmen kan också laddas ned till stymoden och lag- ras som bytekod. I det senare fallet måste bytekoden översättas till maslcinkod när programmet skall laddas ned till en terminal.
Det inses lätt att vilken som helst terminal 27, 31 ansluten till vilket som helst av näten 21, 23 även kan ladda ned programifrån vilken som helst värdnod 25, 29 i vil- ket som helst av näten, förutsatt att funktíonema som krävs för att göra detta finns tillgängliga i terminalen 27, 29, 31, eller i nätet.
Figur 3 är ett flödesschema över stegen som utförs fór att göra ett nytt program till- gängligt i nätet.
Steg S31: Källkoden för tjänsteprogrammet skrivs, i Java eller ett annat tolkat språk.
Steg S32: Källkoden som togs fram i steg S31 kompileras för att ge bytekod. Detta steg innefattar vanligtvis säkerhetskontroller, felsökning, funktionstest- ning, debugging, osv.
Steg S33: Bytekoden som togs fram i steg S32 laddas ned till näteentralen i vilken den skall lagras. Detta steg innefattar också vanligtvis säkerhetskontrol- ler.
Steg S34: Tjänsteprogrammen översätts av var och en av de tillgängliga översättar- na. Om tjänsteprogrammen inte skall köras på alla typer av terminaler behöver de givetvis endast översättas av de aktuella översättama.
Steg S35: Maskinkoden som togs fram i steg S34 lagras på en plats från vilken den kan laddas ned till bärbara terminaler eller andra enheter.
Om lagringsutrymmet i stymoden 26 är begränsat är det kanske inte lämpligt att lag- ra flera olika översatta versioner av programmet. I detta fall kan program lagras i form av bytekod. Översätmingen av bytekoden sker då när den laddas ned till termi- nalen, dvs. stegen 34 och 35 behövs inte. Det är givetvis möjligt att tolka program- men innan de överförs till nätcentralen där de skall lagras, dvs. att byta om på stegen S33 och S34. 10 15 20 25 30 514 762 10 Figur 4 är ett flödesschema över stegen som utförs när en tjänst skall laddas ned automatiskt till en bärbar enhet.
Steg S41: Steg S42: Steg S43: Systemet informerar användaren om att det kan vara önskvärt att ladda ned ett program, och mottar en bekräftelse. Detta kan inträffa, tex. därför att ett nytt program, eller en ny version av ett program har gjorts till- gänglig, eller därför att användaren väljer en flmktion som lcräver ett pro- gram som inte finns i användarens terminal.
Användaren godtar eller nekar nedladdning av den nya programversio- nen.
Om användaren godtar nedladdning väljs den lämpliga programvarianten för terminaltypen och programmet laddas ned. Slut på proceduren.
Figur 5 är ett flödesschema över stegen som utförs när en tjänst skall laddas ned till en bärbar terminal på begäran av en användare för att exekvera eller lagra ett pro- gram.
Steg S51: Steg S52: Steg S53: Steg S54: Användaren startar en förbindelse mellan enheten till vilken programmet skall laddas ned och nätcentralen på vilken programmet finns lagrat.
Detta kan göras på vilket som helst känt sätt, genom ett luftgränssnitt el- ler en ledning.
Terminaltypen bestäms. Detta görs företrädesvis automatiskt av systemet, men om så behövs kan användaren specificera terminaltypen.
Om det är lämpligt väljer användaren programmet eller programmen som skall laddas ned.
Den lämpliga varianten och versionen av programmet eller programmen som valdes i steg S53 identifieras och laddas ned. Om programmen är lagrade såsom bytekod i nätcentralen måste de även översättas av den lämpliga översättaren när de laddas ned. Slut på proceduren.
Programmen kan lagras temporärt i terminalen och tas bort när de har exekverats, eller programmen kan lagras i tenninalen. 10 15 20 25 30 514 762 ll I stegen S43 och S54 kan den lämpliga varianten av programmet väljas i kommuni- kationsenheten, eller denna information kan hämtas från leverantören av terminalen eller mjukvaran.
Vilka program, och vilken variant av varje program, som kan laddas ned “till en viss terminal kan bestämmas i beroende av typen av terminal och typen av abonnemang.
Information om typen av abonnemang finns på ett chip i telefonen och kommunice- ras alltid tiH basstationen när en förbindelse skall kopplas upp. Detta chip, tex.
SIM-kortet i GSM, är vanligtvis urtagbart och kan sättas in i flera olika terminaler.
Typen av terminal kan därför inte bestämmas från information på chipet. Olika ter- minaltyper kan emellertid krmna köra olika program, och lcräva olika versioner av programmen, även om abonnemangstypen är den samma.
Terminaltypen kan bestämmas både automatiskt och med manuell identifiering. I det senare fallet kan varje tenninaltyp t.ex. tilldelas ett identifikationsnummer, som matas in varje gång ett program skall laddas ned.
. I en föredragen uttöringsfonn bestäms terminaltypen med användning av en identi- tetskod för terminalen, som är ett unikt nummer som identifierar en trådlös terminal.
I t. ex. GSM kan International Mobile Station Equipment Identity (IIVIEI) användas.
Det är även möjligt att definiera ett antal terminaltyper och göra det möjligt för varje terminal att informera systemet om. sin terminaltyp. För att detta skall fungera måste information om kraven for varje serie av terminaler tillhandahållas från tillverkama av terminaler och lagras i varje värdnod, eller hämtas från tillverkaren varje gång den behövs. Denna infonnation kan ha fonnen av en specifikation av översättaren som skall användas fór varje terminaltyp. Översâttaren kan tillhandahållas av till- verkaren av terminalen, ivilket fall den lämpliga översättaren endast behöver identi- fieras. Om tillverkaren av terminalen inte tillhandahåller översättaren måste kraven på översättáren specificeras i detalj. 10 15 20 25 30 514 762 12 Vilka program som skall laddas ned kan också bestämmas i beroende av andra fak- torer, såsom cellidentitet, operatör, datum eller tid på dygnet.
Automatisk nedladdning av program kan användas, t. ex. i följande situationer: När ett programpaket har uppdaterats kan det laddas ned till varje terminal första gången den kopplar upp sig mot nätet efter uppdateringen.
När användaren försöker aktivera en tjänst kan programmet som associeras med denna tjänst laddas ned utan att användaren explicit informeras först.
Vissa program kan laddas ned automatiskt i beroende av position, tid på dygnet, operatör, osv.
I det forsta av de ovan angivna fallen bör det vara möjligt för användaren att stoppa nedladdningen av mjukvara om han/hon inte önskar att motta den nya mjukvaran.
Detta kan inträffa, t.ex. på grund av tidsbrist eller om batterispänningen är låg.
Nedladdningen kan också stoppas automatiskt, t.ex. om batterispänningen är låg.
Situationen då en abonnent är ansluten till ett annat nät än det där han/hon är abon- nent, t. ex. när abonnenten är utomlands, kan hanteras på olika sätt. I detta fall vet systemet utifrån abonnentinformationen som överförs att abonnenten inte hör i det aktuella nätet. Även om automatisk nedladdning kan vara olämplig kan det vara önskvärt att tillåta nedladdning av mjukvara på begäran. Överlöringen av program från värdnoden till terminalen kan göras enligt befintliga protokoll för datatransmission i det aktuella systemet. T.e_x. i GSM kan protokollet för paketkommunikation, GPRS, användas. I system enligt standarden Advanced Mobile Phone Service (AMPS) kan protokollet Cellular Digital Packet Data (CDPD) användas. Det sistnämnda protokollet innefattar också funktioner för att sätta datakommunikation i vänteläge när ett röstsamtal skall kopplas fram. 10 15 20 25 30 514 762 13 Övertöringen av progam till den mobila terminalen kan göras på vilken som helst tillgänglig kanal. För att överföra ett program från kommunikationsenheten till en mobil terminal vid en given tidpunkt kan en trafikkanal användas. Data kan givetvis sändas med kretskopplade protokoll eller pakettörmedlingsprotokoll, såsom GPRS i GSM-system. Höghastighetstörbindelser som använder mer än en trafikkanal kan användas, t.ex. High-Speed Circuit Switched Data (HSCSD) i GSM. Detta gör över- förandet av progammen snabbare, men är troligen endast lämpligt när trafikbelast- ningen i nätet är låg.
Broadcast-förbindelser kan användas när samma program skall överföras till flera mobilterminaler vid samma tidptmkt. I detta fall måste styrinformation läggas till så att de mobila terminalema vet vilka terminaltyper som skall motta programmet och varje terminal måste innefatta styrprogram så att de kan avgöra huruvida program- met är avsett för just denna terminal.
I vissa situationer är det fördelaktigt att laga delar av programkoden temporärt eller permanent, i synnerhet delar som skall köras flera gånger, för att inte behöva ladda ned dem varje gång de skall köras. T.ex. subrutiner för ett progam vilka skall köras flera gånger medan programmet körs kan lagas temporärt i terminalen så länge pro- grammet körs. Program som utför viktiga fimktioner kan lagras pennanent eller semi-permanent.
Programdelama som skall lagas på detta sätt kan väljas av abonnenten eller av en nod i nätet, men företrädesvis av båda i samverkan. Flera sätt att uppnå detta är kän- da. Till exempel kan varje program eller programdel markeras för att visa att det skall lagas i den mobila terminalen, ur systemets synvinkel, t.ex. för att spara band- bredd. För att bestämma om ett program eller progamdel skall lagras i den mo- bila tenninalen eller inte, behövs emellertid även krmskap om teiminalens tillstånd.
Det är därför vanligtvis inte lämpligt att laga dessa progamdelar automatiskt, utan att ge abonnenten en chans att avbryta.
I 10 15 20 25 30 514 762 14 Om abonnenten skall ta bort ett program eller en programdel måste han/hon få in- formation om beroendeträdet, dvs. vilka andra program eller programdelar som an- vänder programmet eller programdelen som skall tas bort, för att bestämma om pro- grammet eller programdelen verkligen skall tas bort.
Den mobila terminalen bör därför innefatta fimktioner som gör det möjligt för abon- nenten att bestämma huruvida ett visst program eller en programdel skall lagras, och för hur lång tid, och tillhandahålla informationen som användaren behöver för att bestämma detta.
Figur 6 visar uppdelningen av ansvar for att tillhandahålla programmen enligt upp- finningen.
En tjänsteleverantör 101 tillhandahåller den lämpliga källkoden eller bytekoden. För att göra detta måste tjänsteleverantören 101 känna till den önskade fimktionen för tjänsten som skall tillhandahållas. Detaljerad information om mjuk- och hårdvaru- miljön i terminalema behövs inte, men grundläggande kimskap om tex. en terminals kapacitet kan vara bra.
En terminaltillverkare 103 tillhandahåller terminalerna och vanligtvis en översättare för programmeringsspråket, anpassad till terminalen han tillhandahåller. Termi- naltillverkaren 103 måste ha kimskap om programmeringsspråket som används. Det kan givetvis finnas flera tjänsteleverantörer och terminaltillverkare.
En nätoperatör 105 är ansvarig for ett mobilnät 1-07 och lör att tillhandahålla tjäns- terna till abonnenter 109 i nätet 107.
Ansvaret kan delas mellan tjänsteleverantören 101, tenninalleverantören 103 och nätoperatören 105 på flera olika sätt. Till exempel kan tjänsteleverantören 101 till- handahålla bytekoden till terminaltillverkaren 103 såsom visas med pilen ll 1. Ter- minaltillverkaren 103 översätter sedan bytekoden till maskinkod med de aktuella 10 15 514 762 15 översättarna för terminalema han tillhandahåller och tillhandahåller denna maskin- kod till nätoperatören 105 genom ett transportnät 113, tex. Intemet, såsom visat med en pil 115. Maskinkoden kan givetvis tillhandahållas på vilket som helst känt sätt, t. ex. över en direktflårbindelse eller på en diskett eller CD-ROM.
Ett annat sätt att dela upp ansvaret skulle vara att tjänsteleverantören 101 tillhanda- håller bytekoden direkt till nätoperatören 105 genom transportnätet 113, såsom visat med en pil 117. Terminaltillverkaren 103 kan tillhandahålla översättaren till nätope- ratören och nätoperatören 105 kan översätta bytekoden till maskinkod.
Enligt båda dessa sätt kan maskinkoden lagras i ett minne 119 och tillhandahållas till abonnenten 109 genom det cellulära nätet 107 när så önskas, såsom visas med en pil 121. Tjänsteleverantören 101 kan givetvis leverera källkoden i stället för byteko- den, men det är vanligtvis inte önskvärt att leverera källkod.
Claims (22)
1. Förfarande för att ändra fimktionaliteten i en mobil terminal ansluten till ett nät via en trådlös förbindelse, vilken fimktionalitet är realiserad såsom program i ett programmeringsspråk för vilket källkoden kan kompileras till en mellannivåkod, som är exekverbar och verifierbar, kännetecknat av stegen att - programmet översätts till maskinkod med användning av åtminstone en översät- tare i beroende av hård- och mjukvarumiljön i åtminstone en terminaltyp; - rätt variant av maskinkoden som skall laddas ned till terminalen bestäms utifiån terminalens typ och/eller typen av abonnemang som terminalen arbetar med för tillfället; - maskinkoden laddas ned till nämnda terminal.
2. Förfarande enligt krav 1, kännetecknat av att - programmet översätts till maskinkod med användning av nämnda åtminstone ena översättare; - maskinkoden för nämnda program lagras i en värdnod i nätet; - maskinkoden överförs till åtminstone en av nämnda terminaler när så önskas.
3. Förfarande enligt krav l eller 2, varvid nedladdningen av program startas av en enhet i nätet.
4. Förfarande enligt krav 1 eller 2, varvid program laddas ned till en terminal på be- gäran av en användare av terminalen.
5. Förfarande enligt något av föregående krav, varvid åtminstone några av termina- lema är bärbara terminaler for användning i ett cellulärt telekommunikationsnät. 10 15 20 25 30 514 762 17
6. F örfarande enligt något av föregående krav, kännetecknat av steget att det be- stäms huruvida ett programblock skall lagras temporärt eller permanent i terminalen och, om så är fallet, att programblocket lagras i enlighet med detta.
7. Förfarande enligt något av föregående krav, kännetecknat av steget att den lärnpliga varianten av maskinkoden som skall laddas ned till terrninalen bestäms utifiån en identitetskod för terminalen.
8. Förfarande enligt något av föregående krav, kännetecknat av stegen att - för varje program bestäms terminaltypema som kan använda programmet; - programmet översätts med användning av de relevanta översättarna för dessa ter- minaltyper.
9. Anordning för att tillhandahålla program i ett nät innefattande värdnoder och flera olika typer av terminaler, varvid åtminstone vissa av terminalema är anslutna till andra delar av nätet med trådlösa förbindelser, varvid programmen är realiserade i ett programmeringsspråk för vilket källkoden kan kompileras till en mellannivåkod som är exekverbar och verifierbar, och tolkas eller översättas till en maskinkod, vilken anordning är kännetecknad av att den innefattar: - rninnesorgan för att lagra program i form av maskinkod, exekverbar i åtminstone en av typerna av terminaler i nätet; - organ för att bestämma vilken maskinkod som skall laddas ned till en viss termi- nal utifiån terminaltypen och eller typen av abonnemang som terminalen arbetar med för tillfället; - organ för att överföra ett program, i forrn av maskinkod till åtminstone en terrninal.
10. Anordning enligt krav 9, kännetecknad av att den innefattar översättarorgan för att översätta mellannivåkod till maskinkod på ett sådant sätt att den kan exekveras i åtminstone en typ av portabel terminal i ett cellulärt nät. 10 15 20 25 514 7621 18
11. ll. Anordning enligt krav 9 eller 10, kännetecknar! av att åtminstone en typ av terminal är en portabel terminal ansluten i ett cellulärt nät.
12. Anordning enligt något av kraven 9-11, kännetecknad av att den innefattar or- gan för att bestämma vilka terminaltyper som kan använda varje program.
13. Anordning enligt något av kraven 9-12, kännetecknad av att den innefattar or- gan för att bestämma vilken maskinkod som skall laddas ned till en viss terminal utifrån ett serienummer för terrninalen.
14. Anordning enligt krav 13, kännetecknad av att den innefattar organ för att be- stämma vilken maskinkod som skall laddas ned till en viss terminal utifrån typen av abonnemang som gäller för terminalen.
15. Telekommunikationsnät innefattande värdnoder och flera olika typer av tenni- naler, varvid åtminstone vissa av terminalema är anslutna till andra delar av nätet med trådlösa förbindelser, kännetecknat av att det innefattar - åtminstone ett översättarorgan för ett programmeringsspråk för vilket källkoden kan kompileras till en mellannivåkod, vilket översättarorgan används för att över- sätta mellarmivåkoden till maskinkod som är exekverbar på åtminstone en av nämn- da tenninaler; - minnesorgan för att lagra maskinkoden; - organ för att bestämma vilka program eller programversioner som skal laddas ned till en viss terminal utifrån terminalens typ och/eller typen abonnemang som terminalen arbetar med för tillfället; - organ för att överföra ett program, i form av maskinkod, till åtminstone en termi- nal. 10 15 20 25 514 762 19
16. Telekommunikationsnät enligt krav 15, kännetecknat av att det innefattar organ fór att bestämma vilket program eller vilken programversion som skall laddas ned till en viss terminal utifi-ån terminaltypen.
17. Telekommunikationsnät enligt krav 15 eller 16, kännetecknat av att det inne- fattar organ för att bestämma vilket program eller vilken programversion som skall laddas ned till en viss terminal utifrån typen av abonnemang.
18. Portabel terminal anordnad för trådlös kommunikation och innefattande en kär- na som är anordnad att motta program och/eller prograrndelar i form av maskinkod, kännetecknad av att kärnan är anordnad att installera de mottagna programmen el- ler prograrndelama medan tenninalen är i drift, och att den är anordnad att informe- ra rätt nod i nätet om sin typ och/eller abonnemangstypen som den arbetar med för tillfället.
19. Portabel terminal enligt krav 18, kännetecknad av att den är anordnad att till- handahålla information till användaren om beroendeträdet- för de tillgängliga pro- grammen.
20. Portabel terminal enligt krav 18 eller 18, kännetecknad av att den är anordnad att informera rätt nod i nätet om sin typ och abonnemangstypen med vilken den ar- betar för tillfället.
21. Portabel terminal enligt något av kraven 18-20, kännetecknad av att den är an- ordnad att informera rätt nod i nätet om sin nuvarande batteristattis.
22. Portabel terminal enligt något av kraven 18-21, kännetecknad av att den är an- ordnad att motta och tolka information om huruvida ett program eller ett program- block skall lagras i den portabla tenninalen.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9801897A SE514762C2 (sv) | 1998-05-28 | 1998-05-28 | Förfarande, anordning och portabel terminal för programvarunedladdning i ett trådlöst näverk samt sådant telekommunikationsnät |
AU46640/99A AU4664099A (en) | 1998-05-28 | 1999-05-26 | Changing functionality of a module terminal in a wireless network |
PCT/SE1999/000892 WO1999061983A2 (en) | 1998-05-28 | 1999-05-26 | Changing functionality of a module terminal in a wireless network |
CA002333119A CA2333119A1 (en) | 1998-05-28 | 1999-05-26 | Changing functionality of a module terminal in a wireless network |
CN99808772.6A CN1309787A (zh) | 1998-05-28 | 1999-05-26 | 改变无线网络中模块终端的功能性 |
EP99930020A EP1082652A2 (en) | 1998-05-28 | 1999-05-26 | Changing functionality of a module terminal in a wireless network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9801897A SE514762C2 (sv) | 1998-05-28 | 1998-05-28 | Förfarande, anordning och portabel terminal för programvarunedladdning i ett trådlöst näverk samt sådant telekommunikationsnät |
Publications (3)
Publication Number | Publication Date |
---|---|
SE9801897D0 SE9801897D0 (sv) | 1998-05-28 |
SE9801897L SE9801897L (sv) | 1999-11-29 |
SE514762C2 true SE514762C2 (sv) | 2001-04-23 |
Family
ID=20411500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE9801897A SE514762C2 (sv) | 1998-05-28 | 1998-05-28 | Förfarande, anordning och portabel terminal för programvarunedladdning i ett trådlöst näverk samt sådant telekommunikationsnät |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1082652A2 (sv) |
CN (1) | CN1309787A (sv) |
AU (1) | AU4664099A (sv) |
CA (1) | CA2333119A1 (sv) |
SE (1) | SE514762C2 (sv) |
WO (1) | WO1999061983A2 (sv) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836395B1 (en) | 2000-04-06 | 2010-11-16 | International Business Machines Corporation | System, apparatus and method for transformation of java server pages into PVC formats |
AU2001275333A1 (en) * | 2000-08-11 | 2002-02-25 | Zucotto Wireless, Inc. | Communications apparatus interface and method for discovery of remote devices |
BE1014409A3 (nl) * | 2001-10-02 | 2003-10-07 | Acunia Nv | Werkwijze en netwerkingsysteem voor het beschikbaar stellen van diensten. |
ES2198198B1 (es) * | 2002-01-29 | 2005-05-01 | Airtel Movil, S.A. | Sistema de personalizacion de las aplicaciones de una tarjeta sim o usim de un terminal movil. |
DE10216853A1 (de) * | 2002-04-16 | 2003-10-30 | Siemens Ag | Telekommunikationsmodul mit einem System-Datenverarbeitungsmittel zum Ausführen mindestens einer Telekommunikationsaktivität |
US20040221021A1 (en) * | 2003-04-30 | 2004-11-04 | Domer Jason A. | High performance managed runtime environment application manager equipped to manage natively targeted applications |
KR100548368B1 (ko) * | 2003-07-03 | 2006-02-02 | 엘지전자 주식회사 | 휴대단말기의 동적 자바푸시 장치 및 방법 |
US7546594B2 (en) * | 2003-12-15 | 2009-06-09 | Microsoft Corporation | System and method for updating installation components using an installation component delta patch in a networked environment |
KR100643268B1 (ko) * | 2004-01-17 | 2006-11-10 | 삼성전자주식회사 | 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템 |
US7853609B2 (en) | 2004-03-12 | 2010-12-14 | Microsoft Corporation | Update distribution system architecture and method for distributing software |
US7676448B2 (en) | 2004-03-12 | 2010-03-09 | Microsoft Corporation | Controlling installation update behaviors on a client computer |
CN101133665B (zh) * | 2004-10-05 | 2015-02-11 | 黑莓有限公司 | 移动设备通过网页进行诊断、测试、应用程序部署以及更新 |
DE102005062513A1 (de) * | 2005-12-27 | 2007-06-28 | Vodafone Holding Gmbh | Verfahren zum Konfigurieren eines netzwerkeingebundenen Datenverarbeitungsgeräts sowie netzwerkeingebundenes Datenverarbeitungsgerät |
EP1916598A1 (fr) | 2006-10-23 | 2008-04-30 | Nagravision S.A. | Méthode de chargement et de gestion d'une application dans un équipement mobile |
WO2012007029A1 (en) * | 2010-07-13 | 2012-01-19 | Nokia Siemens Networks Oy | Dynamic optimization of radio network resources based on user equipment type smartphone |
CN106775644B (zh) | 2016-11-23 | 2020-03-17 | 北京小米移动软件有限公司 | 文件运行方法及设备 |
US10565014B2 (en) * | 2017-12-05 | 2020-02-18 | Western Digital Technologies, Inc. | Data processing offload using in-storage code execution |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667290A (en) * | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
US6131159A (en) * | 1992-05-08 | 2000-10-10 | Paradyne Corporation | System for downloading programs |
JPH06309204A (ja) * | 1993-04-20 | 1994-11-04 | Matsushita Electric Ind Co Ltd | データ処理方法及びその装置 |
US5541986A (en) * | 1993-07-27 | 1996-07-30 | Bell Communications Research, Inc. | Method and system for automated telecommunications service script consolidation and downloading |
US5666293A (en) * | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
EP0767426B1 (de) * | 1995-10-05 | 2014-01-01 | Gigaset Communications GmbH | Verfahren zur Programmierung eines Gerätes |
-
1998
- 1998-05-28 SE SE9801897A patent/SE514762C2/sv not_active IP Right Cessation
-
1999
- 1999-05-26 CA CA002333119A patent/CA2333119A1/en not_active Abandoned
- 1999-05-26 CN CN99808772.6A patent/CN1309787A/zh active Pending
- 1999-05-26 AU AU46640/99A patent/AU4664099A/en not_active Abandoned
- 1999-05-26 WO PCT/SE1999/000892 patent/WO1999061983A2/en active Application Filing
- 1999-05-26 EP EP99930020A patent/EP1082652A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
AU4664099A (en) | 1999-12-13 |
WO1999061983A3 (en) | 2000-02-03 |
CN1309787A (zh) | 2001-08-22 |
SE9801897D0 (sv) | 1998-05-28 |
EP1082652A2 (en) | 2001-03-14 |
SE9801897L (sv) | 1999-11-29 |
CA2333119A1 (en) | 1999-12-02 |
WO1999061983A2 (en) | 1999-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE514762C2 (sv) | Förfarande, anordning och portabel terminal för programvarunedladdning i ett trådlöst näverk samt sådant telekommunikationsnät | |
KR100817387B1 (ko) | 양방향 통신 및 동적 명령 세트 실행 시스템 및 방법 | |
US7359699B2 (en) | System and method for peer-to-peer handset communication | |
Reijers et al. | Efficient code distribution in wireless sensor networks | |
US20020002605A1 (en) | Server/client system and program for implementing application distribution in this server/client system | |
US7117494B2 (en) | System and method for bi-directional communication and execution of dynamic instruction sets | |
CN110851163A (zh) | 一种基于can通信的兼容多设备平台的软件更新方法 | |
KR20010090304A (ko) | 휴대폰 단말기를 위한 다운로드 서비스 시스템 및 이를이용한 어플리케이션 프로그램 서비스 방법 | |
US20170070573A1 (en) | Communication device, communication system, and data processing device | |
US7958496B2 (en) | Method of and system for application service exchange across different execution environments | |
CN106648805A (zh) | 一种智能装置、智能系统及智能安装应用的方法 | |
CN105740006A (zh) | 基于透明计算的可穿戴智能设备跨平台服务提供方法 | |
EP1111506A1 (en) | Method and apparatus for processing environment determination | |
CN110221908B (zh) | 用于嵌入式装置的进程管理方法及嵌入式装置 | |
KR100579806B1 (ko) | 무선 인터넷 서비스 플랫폼 다운로드 시스템 및 방법과이를 위한 이동 통신 단말기 | |
US7222164B1 (en) | Device and method to load commands in an integrated circuit card | |
KR100409119B1 (ko) | 이동 통신용 단말기의 소프트웨어 유지 및 보수 방법 | |
CN118803693A (zh) | Sim卡的管理方法、装置、sim卡及可读存储介质 | |
KR20080049294A (ko) | 휴대용 정보 단말기를 위한 통합 소프트웨어 관리 방법 및시스템 | |
KR0175576B1 (ko) | 비동기 전송모드 교환시스템에서의 기능수행 제어방법 | |
KR100443633B1 (ko) | 에이티엠 교환기에서의 서브 시스템 추가 방법 | |
CN110351190A (zh) | 路由控制方法、装置以及计算机设备 | |
KR20010068488A (ko) | 망관리 시스템에서 가입자모듈의 시스템 패키지 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |