SE514762C2 - Method, device and portable terminal for software download in a wireless network and such telecommunication network - Google Patents

Method, device and portable terminal for software download in a wireless network and such telecommunication network

Info

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
Application number
SE9801897A
Other languages
Swedish (sv)
Other versions
SE9801897D0 (en
SE9801897L (en
Inventor
Adam Aquilon
Stefan Willehadson
Hans Hall
Original Assignee
Ericsson Telefon Ab L M
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 Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE9801897A priority Critical patent/SE514762C2/en
Publication of SE9801897D0 publication Critical patent/SE9801897D0/en
Priority to PCT/SE1999/000892 priority patent/WO1999061983A2/en
Priority to CA002333119A priority patent/CA2333119A1/en
Priority to AU46640/99A priority patent/AU4664099A/en
Priority to CN99808772.6A priority patent/CN1309787A/en
Priority to EP99930020A priority patent/EP1082652A2/en
Publication of SE9801897L publication Critical patent/SE9801897L/en
Publication of SE514762C2 publication Critical patent/SE514762C2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer 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)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

The functionality of portable wireless devices can be changed by providing programs written in a language, e.g. Java, producing a verifiable intermediary code (byte code). The intermediary code is translated to machine code in a node in the network before it is transferred to the wireless device on which it is to be executed. Several machine code variants of each program, translated using translators for different types of terminals, may exist. This enables use of the same source code for different terminal types and a division between software vendor, terminal vendor and network operator of the responsibility for carrying out the different functions involved in changing the functionality of a device, namely developing the source code of the program, compiling the source code into byte code, translating the byte code into machine code and transferring the machine code to the terminals on which it is to be run.

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. 25 514 762 In addition, there are a large number of different terminal types that use different hardware and software platforms. It is therefore desirable to create programs that can be run on different platforms.

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.Summary of the invention The object of the present invention is to enable the execution of more advanced or demanding programs in a portable unit than would normally be possible due to the processor capacity and memory space of the portable unit.

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.It is an object of the invention to enable execution of programs in a small unit with limited processor capacity and / or memory space without reducing the processor speed.

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.It is another object of the invention to enable new applications, upgrade of applications or complete replacement of an application package in different types of portable devices, in particular portable devices adapted for use in a cellular network.

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.It is also an object of the present invention to enable the execution of programs which do not need to be permanently stored in the terminal.

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.These objects are achieved according to the present invention with a method for changing the functionality of a mobile terminal connected to a network via a wireless connection, which functionality is realized as a program in a programming language for which the source code can be compiled into an intermediate level code, which is executable. and verifiable, which method is characterized by the steps of: - the program is translated into machine code using at least one translator depending on the hardware and software environment of at least one terminal type; 10 15 20 25 514 762 3 - the correct variant of the machine code to be downloaded to the terminal is determined on the basis of the type of terminal and / or the type of subscription with which the terminal is currently working; the machine code is downloaded to said 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.These objects are also achieved by a device for providing programs in a network including host nodes and different types of terminals, at least some of the terminals being connected to other parts of the network by wireless connections, the programs being realized in a programming language for which the source code can be compiled into an intermediate level code which is executable and verifiable, and interpreted or translated into a machine code, which device is characterized in that it comprises: - memory means for storing programs in the form of machine code, executable in at least one of the types of terminals in the net; means for deciding which machine code to download to a particular terminal based on the type of terminal and or the type of subscription that the terminal is currently working on; means for transmitting a program, in the form of machine code, to at least one terminal.

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.The objects are achieved according to the invention also with a telecommunication network comprising host nodes and different types of terminals, at least some of the terminals being connected to other parts of the network with wireless connections, the telecommunication network being characterized in that it comprises - at least one translator means for a programming language for which the source code can be compiled into an intermediate level code, which translator means is used to translate the intermediate level code into machine code executable on at least one of said terminals; - memory means for storing the machine code; 10 15 20 25 30 514 762 4 - means for determining which programs or program versions are to be downloaded to a particular terminal based on the type of terminal and / or the type of subscription currently working in the terminal; means for transmitting a program, in the form of machine code, to at least one terminal.

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.According to a preferred embodiment, said device also comprises at least one translator for the intermediate level code, which translator is adapted to at least one hardware and software environment used by terminals in the network. According to this embodiment, the method also comprises the step of translating the program with the aid of the at least one translator in the host node before they are stored.

Program kan laddas ned till en terminal automatiskt, eller på begäran fiån använda- ren av terminalen.Programs can be downloaded to a terminal automatically, or on request fi from the user of the terminal.

Förfarandet är speciellt användbart för bärbara terminaler i ett cellulärt telekommu- nikationsnät.The method is especially useful for portable terminals in a cellular telecommunications network.

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.According to a preferred form of drying, it is determined which software variant is to be downloaded to the terminal based on the terminal type, e.g. based on an identity code for the terminal.

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.The objects are also achieved with a portable terminal arranged for wireless communication and comprising a core which is arranged to receive programs and / or program parts in the form of machine code, which terminal is characterized in that the core is arranged to install the received programs or program parts while the terminal is in operation, and that it is arranged to inform the correct node in the network about its type and / or the type of subscription with which it is currently working.

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.The portable terminal may be arranged to provide the user with information about the dependency trees of the available programs. The portable terminal may also be arranged to inform the appropriate node in the network of its type and the type of subscription it is currently working with, and other information, such as its current battery status.

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.According to a preferred embodiment, the portable terminal according to the invention also receives and interprets information on whether a program or a program block is to be stored in the portable terminal.

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.The most common programming language of the type mentioned today is Java. Other examples are LISP, SmallTalk and Erlang. The source code of a java program is not compiled into machine code for a particular type of processor, but into short pseudo-instructions for a virtual machine, "byte code". When a program is to be executed, the byte code is typically downloaded to the terminal where it is to be executed and translated there into machine code for the terminal. In this way, a program written in such an interpreted language, such as Java, can be executed in any type of computer having a translator, or an interpretation program for the language.

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.Java is primarily used in Internet applications, but the benefits of interpreted languages also make it suitable for use in cellular networks. J ava programs are usually smaller than the corresponding machine code programs and are therefore suitable for mobile terminals in which the available memory space is limited. An increasing number of mobile terminals support java applications.

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.The use of an interpreted language, such as J ava, is particularly advantageous in portable terminals because they have limited memory space. Translating the program outside the terminal also reduces the requirements for processor speed and power, which are also limited in portable terminals.

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.An important advantage of the present invention is that it enables a division of responsibilities to perform the various functions associated with changing the function of a unit slightly. For example, a software manufacturer may be responsible for developing the source code of the program and compiling the source code into the byte code. The manufacturer of the mobile terminal may be responsible for translating the change code into machine code, and the network operator may be responsible for transmitting the machine code to the terminals where it is to be run.

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.Interpreted languages, such as Java, have many advantages: They make it easier to download and remove parts of code dynamically to reduce the space needed. They facilitate the replacement of parts of the software because dynamic linking of programs is easier than with other programming languages, and They make it possible to run the same byte code in different processors and with different types of system architecture, so that a certain function only needs to be programmed once.

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.The last two points are useful for all portable devices, and in particular for portable devices that can communicate with any type of wireless network, which can then take advantage of all the types of services offered in the network. Upgrading the software by downloading new programs will also be easy to perform, so that the terminal will not become obsolete as the functions are upgraded or new services are developed. This also makes it easier to change from one operator to another, as the new operator's service package replaces the old package. It is also conceivable to allow the services offered by a mobile operator to change, e.g. based on the time of day, error status of the base stations in the area, the availability of internet-related services, etc.

Kortfattad beskrivning av ritningarna Figur 1 är en förenklad vy av ett nät i vilket lösningen enligt uppfinningen tillämpas.Brief description of the drawings Figure 1 is a simplified view of a net in which the solution according to the invention is applied.

Figur 2 är en mer fullständig vy av ett nät i vilket lösningen enligt uppfinningen till- lämpas.Figure 2 is a more complete view of a network in which the solution according to the invention is applied.

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.Figure 3 is a fate diagram of the procedure for making a new service available in the network according to the invention. 10 15 20 25 30 514 762 7 Figure 4 is a flow chart of the procedure for downloading a new service to a terminal automatically according to the invention.

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.Figure 5 is a fate diagram of the procedure for downloading a new service to a terminal at the request of a user according to the invention.

Figur 6 är en översikt över hur ansvaret kan delas upp mellan olika deltagare enligt uppfinningen.Figure 6 is an overview of how the responsibility can be divided between different participants according to the invention.

Detaljerad beskrivning av utfóringsforrner Figur 1 är en förenklad vy av ett nät i vilket lösningen enligt uppfinningen tillämpas.Detailed description of embodiments Figure 1 is a simplified view of a net in which the solution according to the invention is applied.

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.A portable terminal 1 is connected via an air interface to a mobile network, through a base station 3. The base station is connected to a control unit 5 which in turn is connected to a network (not shown). The control unit 5 controls the base stations and performs resource allocation functions and other functions such as switching functions in the mobile telecommunication network.

I eller i anslutning till styrenheten 5 finns en programenhet 9 som tillhandahåller program.In or adjacent to the control unit 5 there is a program unit 9 which provides programs.

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.The control unit 5 is connected to one or fl of your hardware suppliers' host nodes 7 which in turn are connected to host nodes 8, e.g. associated software vendors. Typically, software vendors' host nodes 8 are used to generate the source code and to compile the source code into byte code. The exchange code is then transmitted to the hardware suppliers' host nodes 7, in which the exchange code is translated into machine code. For this, each hardware supplier's host node 7 includes one or fl your translators ll for at least this hardware supplier's terminal types. Both in the host nodes 7 i of the hardware vendors and the host nodes 8 of the software vendors, test activities are usually performed in a known manner.

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.In the discussion above, the division of functions on the host nodes 7 of the hardware suppliers, the host nodes 8 of the software suppliers and the control unit 5 or the program unit 9 has mainly been made to clarify the various functions performed.

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.The host nodes 7, 8 can of course also be a host node in which the source code is both compiled and translated. The translator function can also be performed in the program unit 9, in which case the program unit must include at least one translator 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.The program unit 9 comprises a number of programs 13, 15. Each program is in a number of variants 13a, 13b, 130, 15a, 15b, 15c, translated with different translators 11 in order to be executed in different types of terminals 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.Alternatively, only the exchange code is stored. In this case, the program 13, 15 is translated by the relevant translator 11 when it is to be downloaded to a portable terminal 1, in order to be executed on the terminal 1, and the resulting machine code is sent to the terminal 1. This procedure is discussed in detail in connection with fi gures 4 and 5.

Figur 2 är en mer utförlig översikt över ett nät i vilket lösningen enligt uppfinningen realiseras.Figure 2 is a more detailed overview of a network in which the solution according to the invention is realized.

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.The network may include fl your networks, e.g. a telecommunication network 21 and a data network 23, such as the Internet. In Figure 2, the telecommunication network 21 is a cellular network. The telecommunication network 21 comprises one or more communication units 25, such as base stations, connected to the network by control nodes 26, which control the function of the communication units 25 and possibly other functions, such as switching functions in the network.

Kommunikationsenhetema 25 är anpassade för nådlös kommunikation med termi- naler 27 i nätet.The communication units 25 are adapted for seamless communication with terminals 27 in the network.

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.The data network 23 also comprises a number of terminals 29, 31, some of which 29 are used to provide programs in the form of source code or byte code. Others 31 can download programs that are made available according to the invention.

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.The stymodes 26 also include the programs to be downloaded to the terminals 27 of the cellular network 21. In a preferred embodiment, the translated versions of the programs are downloaded to the stymodes 26 and stored. in the control mode 26 and is stored 10 15 20 25 30 514 762 in 9 there in the form of machine code. The programs can also be downloaded to style mode and stored as a change code. In the latter case, the byte code must be translated into the machine code when the program is to be downloaded to a 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.It will be readily appreciated that any terminal 27, 31 connected to any of the networks 21, 23 may also download programs from any host node 25, 29 in any of the networks, provided that the functions required to do so this is available in terminal 27, 29, 31, or in the network.

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.Figure 3 is a fl fate diagram of the steps performed to make a new program available on the network.

Steg S31: Källkoden för tjänsteprogrammet skrivs, i Java eller ett annat tolkat språk.Step S31: The source code for the service application is written, in Java or another interpreted language.

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.Step S32: The source code generated in step S31 is compiled to provide the byte code. This step usually includes security checks, troubleshooting, function testing, debugging, etc.

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.Step S33: The exchange code produced in step S32 is downloaded to the power station in which it is to be stored. This step also usually includes security checks.

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.Step S34: The service programs are translated by each of the available translators. Of course, if the service programs are not to be run on all types of terminals, they only need to be translated by the current translators.

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.Step S35: The machine code generated in step S34 is stored in a location from which it can be downloaded to portable terminals or other devices.

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.If the storage space in the control mode 26 is limited, it may not be appropriate to store olika your different translated versions of the program. In this case, programs can be stored in the form of byte code. The translation of the exchange code then takes place when it is downloaded to the terminal, ie. steps 34 and 35 are not needed. It is of course possible to interpret the programs before they are transferred to the network center where they are to be stored, ie. to change on steps S33 and S34. 10 15 20 25 30 514 762 10 Figure 4 is a fl diagram of the steps performed when a service is to be downloaded automatically to a portable device.

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.Step S41: Step S42: Step S43: The system informs the user that it may be desirable to download a program, and receives a confirmation. This can occur, e.g. because a new program, or a new version of a program has been made available, or because the user selects a function that requires a program that is not in the user's terminal.

Användaren godtar eller nekar nedladdning av den nya programversio- nen.The user accepts or refuses to download the new software version.

Om användaren godtar nedladdning väljs den lämpliga programvarianten för terminaltypen och programmet laddas ned. Slut på proceduren.If the user accepts download, the appropriate software variant for the terminal type is selected and the program is downloaded. End the procedure.

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.Figure 5 is a fate diagram of the steps performed when a service is to be downloaded to a portable terminal at the request of a user to execute or store a program.

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.Step S51: Step S52: Step S53: Step S54: The user starts a connection between the device to which the application is to be downloaded and the power exchange on which the application is stored.

Detta kan göras på vilket som helst känt sätt, genom ett luftgränssnitt el- ler en ledning.This can be done in any known way, through an air interface or a pipe.

Terminaltypen bestäms. Detta görs företrädesvis automatiskt av systemet, men om så behövs kan användaren specificera terminaltypen.The terminal type is determined. This is preferably done automatically by the system, but if necessary the user can specify the terminal type.

Om det är lämpligt väljer användaren programmet eller programmen som skall laddas ned.If appropriate, the user selects the program or programs to be downloaded.

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.The appropriate variant and version of the program or programs selected in step S53 is identified and downloaded. If the programs are stored as a change code in the network center, they must also be translated by the appropriate translator when they are downloaded. End the procedure.

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.The programs can be stored temporarily in the terminal and deleted when they have been executed, or the programs can be stored in the terminal. In steps S43 and S54, the appropriate variant of the program may be selected in the communication unit, or this information may be obtained from the supplier of the terminal or software.

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.Which programs, and which variant of each program, can be downloaded to a particular terminal can be determined depending on the type of terminal and the type of subscription.

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.Information about the type of subscription is found on a chip in the telephone and is always communicated to the base station when a connection is to be connected. This chip, e.g.

SIM-kortet i GSM, är vanligtvis urtagbart och kan sättas in i flera olika terminaler.The SIM card in GSM is usually removable and can be inserted into your various terminals.

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.The type of terminal can therefore not be determined from information on the chip. However, different terminal types may run different programs, and require different versions of the programs, even if the subscription type is the same.

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.The terminal type can be determined both automatically and with manual identification. In the latter case, each tenninal type can e.g. is assigned an identification number, which is entered each time a program is to be downloaded.

. 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.. In a preferred embodiment, the type of terminal is determined using an identity code for the terminal, which is a unique number that identifies a wireless terminal.

I t. ex. GSM kan International Mobile Station Equipment Identity (IIVIEI) användas.In e.g. GSM International Mobile Station Equipment Identity (IIVIEI) can be used.

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.It is also possible to deny a number of terminal types and make it possible for each terminal to inform the system. its terminal type. For this to work, information on the requirements for each series of terminals must be provided by the manufacturers of terminals and stored in each host node, or retrieved from the manufacturer each time it is needed. This information may have the form of a specification of the translator to be used for each terminal type. The translator can be provided by the manufacturer of the terminal, in which case the appropriate translator only needs to be identified. If the manufacturer of the terminal does not provide the translator, the requirements for the translator must be specified in detail. 10 15 20 25 30 514 762 12 The programs to be downloaded can also be determined depending on other factors, such as cell identity, operator, date or time of day.

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.Automatic download of programs can be used, e.g. in the following situations: Once an application package has been updated, it can be downloaded to each terminal the first time it connects to the network after the update.

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.When the user tries to activate a service, the program associated with that service can be downloaded without explicitly informing the user first.

Vissa program kan laddas ned automatiskt i beroende av position, tid på dygnet, operatör, osv.Some programs can be downloaded automatically depending on position, time of day, operator, etc.

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.In the first of the above cases, it should be possible for the user to stop downloading software if he / she does not wish to receive the new software.

Detta kan inträffa, t.ex. på grund av tidsbrist eller om batterispänningen är låg.This can occur, e.g. due to lack of time or if the battery voltage is low.

Nedladdningen kan också stoppas automatiskt, t.ex. om batterispänningen är låg.The download can also be stopped automatically, e.g. if the battery voltage is low.

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.The situation when a subscriber is connected to a network other than the one where he / she is a subscriber, e.g. when the subscriber is abroad, can be handled in different ways. In this case, the system knows from the subscriber information that is transmitted that the subscriber does not belong in the current network. Although automatic downloading may be inappropriate, it may be desirable to allow software downloads upon request. The transfer of programs from the host node to the terminal can be done according to strict protocols for data transmission in the current system. For example. in GSM, the protocol for packet communication, GPRS, can be used. In systems according to the standard Advanced Mobile Phone Service (AMPS), the Cellular Digital Packet Data (CDPD) protocol can be used. The latter protocol also includes functions for putting data communication on hold when a voice call is to be forwarded. 10 15 20 25 30 514 762 13 The transfer of progam to the mobile terminal can be done on any available channel. To transmit a program from the communication unit to a mobile terminal at a given time, a traction channel can be used. Data can of course be sent with circuit-switched protocols or packet switching protocols, such as GPRS in GSM systems. High-speed connections that use more than one transmission channel can be used, e.g. High-Speed Circuit Switched Data (HSCSD) in GSM. This makes the transmission of the program faster, but is probably only suitable when the traction load in the network is low.

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.Broadcast connections can be used when the same program is to be transmitted to your mobile terminals at the same time. In this case, control information must be added so that the mobile terminals know which terminal types are to receive the program and each terminal must include control programs so that they can determine whether the program is intended for this particular 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.In some situations, it is advantageous to fix parts of the program code temporarily or permanently, in particular parts to be run fl your times, so as not to have to download them every time they are to be run. For example. subroutines for a program which are to be run fl times while the program is running can be fixed temporarily in the terminal as long as the program is running. Programs that perform important functions can be stored pennantly or semi-permanently.

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.The program parts to be prepared in this way can be selected by the subscriber or by a node in the network, but preferably by both in cooperation. Several ways to achieve this are known. For example, each program or part of a program can be marked to indicate that it should be repaired in the mobile terminal, from the point of view of the system, e.g. to save bandwidth. However, in order to decide whether a program or program part should be stored in the mobile terminal or not, it is also necessary to know the state of the team.

Det är därför vanligtvis inte lämpligt att laga dessa progamdelar automatiskt, utan att ge abonnenten en chans att avbryta.It is therefore usually not appropriate to repair these program parts automatically, without giving the subscriber a chance to cancel.

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.I 10 15 20 25 30 514 762 14 If the subscriber is to delete a program or part of a program, he / she must be informed of the dependency tree, ie. which other programs or parts of the program use the program or part of the program to be removed, in order to determine whether the program or part of the program is actually to be removed.

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.The mobile terminal should therefore include functions that enable the subscriber to decide whether a particular program or part of a program should be stored, and for how long, and to provide the information the user needs to determine this.

Figur 6 visar uppdelningen av ansvar for att tillhandahålla programmen enligt upp- finningen.Figure 6 shows the division of responsibilities for providing the programs according to the invention.

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.A service provider 101 provides the appropriate source code or exchange code. To do this, the service provider 101 must be aware of the desired function of the service to be provided. Detailed information about the software and hardware environment in the terminals is not needed, but basic knowledge of e.g. the capacity of a terminal can be good.

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.A terminal manufacturer 103 provides the terminals and usually a translator for the programming language, adapted to the terminal he provides. The terminal manufacturer 103 must have knowledge of the programming language used. It can of course be your service providers and terminal manufacturers.

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.A network operator 105 is responsible for a mobile network 1-07 and is responsible for providing the services to subscribers 109 in the network 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.The responsibility can be shared between the service provider 101, the tenninal provider 103 and the network operator 105 in olika your different ways. For example, the service provider 101 may provide the byte code to the terminal manufacturer 103 as shown by the arrow 11 1. The terminal manufacturer 103 then translates the byte code into machine code with the current translators for the terminals he provides and provides this machine code to the network operator 105. through a transport network 113, e.g. The Internet, as shown by an arrow 115. The machine code can of course be provided in any known manner, e.g. over a direct fl year connection or on a diskette or 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.Another way of dividing the responsibility would be for the service provider 101 to provide the exchange code directly to the network operator 105 through the transport network 113, as shown by an arrow 117. The terminal manufacturer 103 can provide the translator to the network operator and the network operator 105 can translate the exchange code into machine code.

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.Either way, the machine code can be stored in a memory 119 and provided to the subscriber 109 through the cellular network 107 when desired, as indicated by an arrow 121. The service provider 101 may, of course, supply the source code instead of the exchange code, but it is usually not. desirable to supply source code.

Claims (22)

10 15 20 25 514 762 16 Patentkrav10 15 20 25 514 762 16 Patent claims 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.Method for changing the functionality of a mobile terminal connected to a network via a wireless connection, which functionality is realized as a program in a programming language for which the source code can be compiled into an intermediate level code, which is executable and verifiable, characterized by the steps of - the program translated into machine code using at least one translator depending on the hardware and software environment of at least one terminal type; - the correct variant of the machine code to be downloaded to the terminal is determined by the type of terminal and / or the type of subscription with which the terminal is currently working; the machine code is downloaded to said 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.Method according to claim 1, characterized in that - the program is translated into machine code using said at least one translator; - the machine code for said program is stored in a host node in the network; the machine code is transmitted to at least one of said terminals when desired. 3. Förfarande enligt krav l eller 2, varvid nedladdningen av program startas av en enhet i nätet.A method according to claim 1 or 2, wherein the downloading of programs is started by a device in the network. 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.A method according to claim 1 or 2, wherein the program is downloaded to a terminal at the request of a user of the terminal. 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 17A method according to any one of the preceding claims, wherein at least some of the terminals are portable terminals for use in a cellular telecommunication network. 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.Method according to one of the preceding claims, characterized by the step of determining whether a program block is to be stored temporarily or permanently in the terminal and, if so, that the program block is stored accordingly. 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.Method according to one of the preceding claims, characterized in that the mandatory variant of the machine code to be downloaded to the terminal is determined on the basis of an identity code for the terminal. 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.Method according to one of the preceding claims, characterized by the steps that - for each program, the terminal types that can use the program are determined; - the program is translated using the relevant translators for these terminal types. 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.Apparatus for providing programs in a network comprising host nodes and olika your different types of terminals, at least some of the terminals being connected to other parts of the network with wireless connections, the programs being realized in a programming language for which the source code can be compiled into an intermediate level code which is executable and verifiable, and is interpreted or translated into a machine code, which device is characterized in that it comprises: - means for storing programs in the form of machine code, executable in at least one of the types of terminals in the network; means for determining which machine code is to be downloaded to a particular terminal outside the terminal type and or the type of subscription with which the terminal is currently operating; means for transmitting a program, in the form of machine code, to at least one terminal. 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 18Device according to claim 9, characterized in that it comprises translator means for translating intermediate level code into machine code in such a way that it can be executed in at least one type of portable terminal in a cellular network. 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.11. ll. Device according to claim 9 or 10, characterized in! in that at least one type of terminal is a portable terminal connected in a cellular network. 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.Device according to any one of claims 9-11, characterized in that it comprises means for determining which terminal types can use each 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.Device according to one of Claims 9 to 12, characterized in that it comprises means for determining which machine code is to be downloaded to a specific terminal on the basis of a serial number for the terminal. 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.Device according to claim 13, characterized in that it comprises means for determining which machine code is to be downloaded to a certain terminal based on the type of subscription that applies to the terminal. 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 19Telecommunication network comprising host nodes and olika your different types of terminals, at least some of the terminals being connected to other parts of the network with wireless connections, characterized in that it comprises - at least one translator means for a programming language for which the source code can be compiled into an intermediate level code , which translator means is used to translate the intermediate level code into machine code executable on at least one of said terminals; - memory means for storing the machine code; means for determining which programs or program versions are to be downloaded to a particular terminal based on the type of terminal and / or the type of subscription with which the terminal is currently working; means for transmitting a program, in the form of machine code, to at least one terminal. 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.Telecommunication network according to claim 15, characterized in that it comprises means for determining which program or which version of program is to be downloaded to a certain terminal outside the terminal type. 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.Telecommunication network according to claim 15 or 16, characterized in that it comprises means for determining which program or which version of program is to be downloaded to a certain terminal on the basis of the type of subscription. 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.Portable terminal arranged for wireless communication and comprising a core arranged to receive programs and / or program parts in the form of machine code, characterized in that the core is arranged to install the received programs or the program parts while the tenninal is in operation, and that it is arranged to inform the correct node in the network about its type and / or the type of subscription with which it is currently working. 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.Portable terminal according to claim 18, characterized in that it is arranged to provide information to the user about the dependency tree for the available programs. 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.Portable terminal according to claim 18 or 18, characterized in that it is arranged to inform the correct node in the network about its type and the type of subscription with which it is currently operating. 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.Portable terminal according to one of Claims 18 to 20, characterized in that it is arranged to inform the correct node in the network of its current battery status. 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.Portable terminal according to one of Claims 18 to 21, characterized in that it is arranged to receive and interpret information on whether a program or a program block is to be stored in the portable terminal.
SE9801897A 1998-05-28 1998-05-28 Method, device and portable terminal for software download in a wireless network and such telecommunication network SE514762C2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
SE9801897A SE514762C2 (en) 1998-05-28 1998-05-28 Method, device and portable terminal for software download in a wireless network and such telecommunication 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
AU46640/99A AU4664099A (en) 1998-05-28 1999-05-26 Changing functionality of a module terminal in a wireless network
CN99808772.6A CN1309787A (en) 1998-05-28 1999-05-26 Changing functionality of module terminal in wreless network
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 (en) 1998-05-28 1998-05-28 Method, device and portable terminal for software download in a wireless network and such telecommunication network

Publications (3)

Publication Number Publication Date
SE9801897D0 SE9801897D0 (en) 1998-05-28
SE9801897L SE9801897L (en) 1999-11-29
SE514762C2 true SE514762C2 (en) 2001-04-23

Family

ID=20411500

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9801897A SE514762C2 (en) 1998-05-28 1998-05-28 Method, device and portable terminal for software download in a wireless network and such telecommunication network

Country Status (6)

Country Link
EP (1) EP1082652A2 (en)
CN (1) CN1309787A (en)
AU (1) AU4664099A (en)
CA (1) CA2333119A1 (en)
SE (1) SE514762C2 (en)
WO (1) WO1999061983A2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
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
WO2002015527A2 (en) * 2000-08-11 2002-02-21 Zucotto Wireless, Inc. Communications apparatus interface and method for discovery of remote devices
BE1014409A3 (en) * 2001-10-02 2003-10-07 Acunia Nv Method and networking system for the provision of services available.
ES2198198B1 (en) * 2002-01-29 2005-05-01 Airtel Movil, S.A. CUSTOMIZATION SYSTEM FOR THE APPLICATIONS OF A SIM OR USIM CARD OF A MOBILE TERMINAL.
DE10216853A1 (en) * 2002-04-16 2003-10-30 Siemens Ag Telecommunication module with a system data processing means for carrying out at least one telecommunication activity
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 (en) * 2003-07-03 2006-02-02 엘지전자 주식회사 A method and a apparatus of dynamic java push for mobile phone
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 (en) * 2004-01-17 2006-11-10 삼성전자주식회사 Method for improving performance of Java virtual machine and system employing the method
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
ATE471059T1 (en) * 2004-10-05 2010-06-15 Research In Motion Ltd MOBILE DEVICE DIAGNOSIS, TESTING, APPLICATION USE AND UPDATES FROM ONE WEBSITE
DE102005062513A1 (en) * 2005-12-27 2007-06-28 Vodafone Holding Gmbh Networking method for configuring a network-integrated data-processing device transmits configurations selected by users to a configuration computer in a network as a configuration profile
EP1916598A1 (en) * 2006-10-23 2008-04-30 Nagravision S.A. Method for loading and managing an application in a mobile equipment item
EP2787783A1 (en) * 2010-07-13 2014-10-08 Nokia Solutions and Networks Oy Determination of user equipment type smartphone
CN106775644B (en) * 2016-11-23 2020-03-17 北京小米移动软件有限公司 File operation method and equipment
US10565014B2 (en) * 2017-12-05 2020-02-18 Western Digital Technologies, Inc. Data processing offload using in-storage code execution

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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 (en) * 1993-04-20 1994-11-04 Matsushita Electric Ind Co Ltd Method and device for data processing
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 (en) * 1995-10-05 2014-01-01 Gigaset Communications GmbH Method for programming an apparatus

Also Published As

Publication number Publication date
WO1999061983A3 (en) 2000-02-03
SE9801897D0 (en) 1998-05-28
WO1999061983A2 (en) 1999-12-02
CN1309787A (en) 2001-08-22
AU4664099A (en) 1999-12-13
EP1082652A2 (en) 2001-03-14
SE9801897L (en) 1999-11-29
CA2333119A1 (en) 1999-12-02

Similar Documents

Publication Publication Date Title
SE514762C2 (en) Method, device and portable terminal for software download in a wireless network and such telecommunication network
KR100817387B1 (en) System and method for bi-directional communication and execution of dynamic instruction sets
US7359699B2 (en) System and method for peer-to-peer handset communication
Reijers et al. Efficient code distribution in wireless sensor networks
EP1168758A2 (en) Client/server system and program for application distribution
US7117494B2 (en) System and method for bi-directional communication and execution of dynamic instruction sets
CN110851163A (en) Software updating method compatible with multi-device platform based on CAN communication
KR20010090304A (en) Download service system for mobilephone
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 (en) Intelligent device, intelligent system, and method for intelligently installing application
CN105740006A (en) Cross-platform service providing method of wearable intelligent device based on transparent computing
EP1111506A1 (en) Method and apparatus for processing environment determination
CN110221908B (en) Process management method for embedded device and embedded device
KR100579806B1 (en) System and Method for Downloading Wireless Internet Service Platform and Mobile Communication Terminal therefor
KR970003972B1 (en) Method for loading of common data initial in cdma
KR100873198B1 (en) Method and System for Managing the Integrated Software of the Personal Digital Assistant
US7222164B1 (en) Device and method to load commands in an integrated circuit card
KR100409119B1 (en) Method of Maintaining and Repairing Software of Mobile Station for Mobile Communication System
KR0175576B1 (en) Control method of function execution in asynchronous transfer mode switching system
KR100443633B1 (en) Method for Addition Subsystem in ATM Switching System
KR100637390B1 (en) Wireless contents download method
KR20010068488A (en) Method for managing system package of subscriber module in network management system

Legal Events

Date Code Title Description
NUG Patent has lapsed