WO1999061983A2 - Changing functionality of a module terminal in a wireless network - Google Patents

Changing functionality of a module terminal in a wireless network Download PDF

Info

Publication number
WO1999061983A2
WO1999061983A2 PCT/SE1999/000892 SE9900892W WO9961983A2 WO 1999061983 A2 WO1999061983 A2 WO 1999061983A2 SE 9900892 W SE9900892 W SE 9900892W WO 9961983 A2 WO9961983 A2 WO 9961983A2
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
code
program
network
programs
Prior art date
Application number
PCT/SE1999/000892
Other languages
French (fr)
Other versions
WO1999061983A3 (en
Inventor
Adam Aquilon
Stefan Willehadson
Hans Hall
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to EP99930020A priority Critical patent/EP1082652A2/en
Priority to CA002333119A priority patent/CA2333119A1/en
Priority to AU46640/99A priority patent/AU4664099A/en
Publication of WO1999061983A2 publication Critical patent/WO1999061983A2/en
Publication of WO1999061983A3 publication Critical patent/WO1999061983A3/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]

Definitions

  • the present invention relates to service provisioning, and in particular to service provisioning to handheld or portable terminals in wireless network.
  • a method of changing the functionality of a mobile terminal connected by a wireless connection in a network said functionality being implemented as programs in a prograrnming language for which the source code may be compiled to an intermediary code, said intermediary code being executable and verifiable, comprising the following steps:
  • an apparatus for providing programs in a network comprising hosts and several different types of terminals, at least some of said terminals being connected by wireless connections, said programs being implemented in a programming language for which the source code may be compiled to an inter- mediary code, said intermediary code being executable and verifiable, and interpreted or translated to a machine code: said apparatus comprising:
  • - memory means for storing programs in the form of machine code, in such a way that they can be executed in at least one of the types of client terminals in the net- work.
  • - means for transferring a program, in the form of machine code, to at least one client terminal.
  • said apparatus also comprises at least one translator for the intermediary code, said translator being adapted to at least one hardware and software environment used by terminals in the network.
  • the method also comprises the step of translating said program using said at least one translator in the host before storing them.
  • Programs may be downloaded to a terminal automatically or on a request from the user of the terminal.
  • the appropriate program variant to be downloaded to the terminal is determined on the basis of the type of terminal, for example, on the basis of an identity code of the terminal.
  • a portable terminal adapted to wireless communication comprising a core, arranged to receive programs and/or program parts in the form of machine code, and to install the received programs during operation.
  • the portable terminal may be arranged to provide the user with information about the dependency tree of the available programs.
  • the portable terminal may also be arranged to inform the appropriate node in the network about its type and the subscription type with which it is currently operating, and other information, such as its current battery status.
  • the portable terminal also receives and interprets information about whether or not a program or program block should be stored in the portable terminal.
  • Java The most common language of the above mentioned kind today is Java. Other examples are LISP, SmallTalk and Erlang.
  • the source code of a Java program is not compiled to form machine code for a certain type of processor, but to short pseudo- instructions for a virtual machine, "byte code".
  • byte code When a program is to be executed, the byte code is typically downloaded to the te ⁇ ninal on which it is to run and then translated into machine code for said terminal.
  • a program written in an interpreted language such as Java, can be executed in any kind of computer that has a translator or an interpreter for the language.
  • Java is primarily used in Internet applications, but the advantages of interpreted lan- guages also make them feasible for use in cellular networks. Java programs are usually smaller than corresponding machine code programs and are therefore suitable for mobile terminals, in which the memory space available is limited. An increasing number of mobile terminals support Java applications.
  • One main advantage of the present invention is that it enables a division of the responsibility for carrying out the different functions involved in changing the functionality of a device.
  • a software manufacturer can be responsible for developing the source code of the program and for compiling the source code into byte code.
  • the manufacturer of a mobile terminal can be responsible for translating the byte code into machine code and the network operator can be responsible for the transfer of the machine code to the terminals on which it is to be run.
  • the last two points are useful for all portable devices, and especially for portable devices that can communicate with a wireless network of some kind, which will be able to utilize all types of services offered by the network. Also, upgrading the software by downloading new programs will be easy, so that the te ⁇ ninal will not become obsolete as the functions are upgraded or new services are developed. This will also make it easier to change from one operator to the other, in which case the service package of the new operator will replace the old package. It is also perceivable to let the services provided by a mobile operator change according to, for ex- ample, the time of day, the error status of the base stations in the area, the availability of Internet-related services, etc.
  • Figure 1 is a simplified view of a network in which the solution according to the in- vention is applied.
  • Figure 2 is a more complete view of a network in which the solution according to the invention is applied.
  • Figure 3 is a flow chart of the procedure of making a new service available in the network according to the invention.
  • Figure 4 is a flow chart of the procedure of downloading a new service to a terminal automatically according to the invention.
  • Figure 5 is a flow chart of the procedure of downloading a new service to a terminal on a user's request according to the invention.
  • Figure 6 is an overview of how the responsibility may be divided between different participants according to the invention.
  • FIG. 1 is a simplified view of a network in which the solution according to the invention is applied.
  • a portable terminal 1 is connected, via an air interface to a mo- bile network, through a base station 3.
  • the base station is connected to a control unit 5, which is in turn 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 telecommunications network.
  • the control unit 5 there is a program provisioning unit 9.
  • the control unit 5 is connected to one or more hardware vendors' hosts 7, in turn connected to hosts 8, for example belonging to software vendors.
  • the software vendors' hosts 8 are used for producing the source code and for compiling the source code into byte code.
  • each hardware vendor's host 7 comprises one or more translators 11 for at least the terminal types of the particular hardware vendor.
  • test activities will normally be carried out in ways known in the art.
  • the translating function may be carried out in the program provisioning unit 9, in which case the program provisioning unit must comprise at least one translator 11.
  • the program provisioning unit 9 comprises a number of programs 13, 15. Each pro- gram exists in a number of variants, 13a, 13b, 13c, 15a, 15b, 15c, translated by different translators 11 to be executable in different types of terminals 1.
  • control unit 5 comprises a selection unit comprising logic for dete ⁇ nining the appropriate variant 13a, 13b, 13c, 15a, 15b, 15c of the program 13, 15 to be transmitted to the terminal 1.
  • a selection unit 17 is shown in the program provisioning unit.
  • Figure 2 is a more extensive representation of a network in which the solution ac- cording to the invention is implemented.
  • the network may comprise several networks, for example, a telecommunications network 21 and a data network 23, such as the Internet.
  • the telecommunications network 21 is a cellular telecommunications network.
  • the telecommu- nications network 21 comprises one or more communication units 25, such as base stations, connected to the network through control nodes 26 controlling the function of the communication units 25 and possibly other functions, such as switching functions in the network.
  • the communication units 25 are adapted to wireless communication with terminals 27 in the network.
  • 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 may retrieve programs that are made available according to the invention.
  • the control nodes 26 also comprise the programs to be downloaded to the terminals 27 in the cellular network 21.
  • the translated versions of the programs are downloaded to the control nodes 26 and stored there.
  • the programs may also be downloaded to the control node 26 as byte code, translated in the control node 26 and stored there as machine code.
  • the programs may also be downloaded to the control node 26 and stored as byte code. In the latter case, the byte code must be translated to machine code when the program is to be downloaded to a terminal.
  • any terminal 27, 31 connected to any of the networks 21, 23 can also download programs from any host 25, 29 in any of the networks, provided the functions required to do so are available in the terminal 27, 29, 31 or in the network.
  • a selection unit 33 is shown in each control node 26.
  • the selec- tion unit 33 comprises logic for selecting the appropriate variant of a program to be transmitted to a terminal 27. If translated programs are stored, the selection unit may also comprise have access to a list of the appropriate variant of a program for each terminal type and/or subscription. If the byte code is stored and the program translated when it is to be transmitted, the selection unit may comprise or have access to a list specifying which translator should be used for transmission to a particular terminal type and/or subscription. The list may of course also state that a particular terminal type and/or subscription should not receive any variant of a particular program.
  • FIG. 3 is a flow chart of the steps taken to make a new program available in the network.
  • Step S31 The source code of the service program is written, in Java or another interpreted language.
  • Step S32 The source code produced in step S31 is compiled to produce byte code. This step will normally include security checks, error detection, function testing, debugging, and so on.
  • Step S33 The byte code produced in step S32 is downloaded to the server on which it should be stored. This step will normally also include security checks.
  • Step S34 The service programs are translated by each of the translators available. If the service programs are not to be run on all types of terminals, of course, they only have to be translated by the relevant translators.
  • Step S35 The machine code resulting from step S34 are stored in a place from which it can be downloaded to portable terminals or other devices. If the storage space of the control node 26 is limited, it may not be feasible to store several different translated versions of the program. In this case, program may be stored in the form of byte code. The translation of the byte code then takes place when it is downloaded to the terminal, that is, steps S34 and S35 are not needed. Of course, it will be possible to interpret the programs before they are downloaded to the server on which they are to be stored, that is, to change the order of steps S33 and S34.
  • Figure 4 is a flowchart of the steps performed when a service is to be automatically downloaded to a portable device.
  • Step S41 The system informs the user that it may be desirable to download a program and requests an acknowledgement. This may be, for example, 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 found in the user's terminal.
  • Step S42 The user accepts or denies the downloading of the new program version.
  • Step S43 If the user accepts the downloading, the appropriate program variant for the terminal type is selected and the program is downloaded. End of procedure.
  • FIG. 5 is a flowchart of the steps performed when a service is to be downloaded to a portable terminal on request of a user for execution or storing of a program.
  • Step S51 The user initiates a connection between the device to which the pro- gram should be downloaded and the server on which the program is located. This may be done in any way known in the art, through an air interface or a wired connection.
  • Step S52 The type of terminal is determined. This is preferably done automatically by the system, but if necessary, the user may specify the type of terminal.
  • Step S53 If appropriate, the user selects the program or programs to be downloaded.
  • Step S54 The appropriate variant and version of the program or programs selected in step S53 is identified and downloaded. If the programs are stored as byte code in the server, they must also be translated by the appropriate translator when being downloaded. End of procedure.
  • the programs may be temporarily stored in the terminal and discarded once they have been executed, or the programs may be stored in the terminal.
  • steps S43 and S54 the selection of the appropriate program variant may be carried out in the communication unit, or this information may be retrieved from the vendor of the terminal or the software vendor.
  • the programs, and the appropriate variant of each program, that may be downloaded to a particular terminal may be dete ⁇ nined in dependence of the type of terminal and the type of subscription.
  • 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 set up.
  • This chip for example, the SIM card in GSM, is normally removable and may inserted in a number of different terminals. Thus, the type of terminal cannot be determined from the information on the chip. Different terminal types may, however, be able to run different programs, and require different variants of programs, even if the sub- scription type is the same.
  • the terminal type may be determined both automatically and by manual identification. In the latter case, for example, each terminal type may be assigned an identification number, which is entered every time a program is to be downloaded. In a preferred embodiment, the terminal type is determined using an identity code of the terminal, which is a unique number identifying a wireless terminal. In GSM, for example the International Mobile Station Equipment Identity (IMEI) might be used. This number (IMEI) is stored in every mobile terminal and should in this case be transmitted by the mobile terminal to the network to indicate the variant of a program that whould be received. It would also be possible to define a number of terminal types and enable every teraiinal to inform the system about its terminal type.
  • IMEI International Mobile Station Equipment Identity
  • information about the requirements of each series of terminals must be supplied from the manufacturers of the terminals and stored in each host, or retrieved from the manufacturer each time it is needed.
  • This information may have the form of a specification of the translator that should be used for each terminal type.
  • the translator may be provided by the terminal manufacturer, in which case the appropriate translator only has to be identified. If the terminal manufacturer does not provide the translator, the requirements on the translator must be specified in detail.
  • the programs to be downloaded may also be determined in dependence of other factors, such as the cell identity, the operator, the date or the time of the day.
  • Automatic downloading of programs may be used, for example, in the following situations:
  • the program associated with this service may be downloaded without the user being explicitly informed first.
  • Certain programs may be automatically downloaded in dependence of the location, the time of the day, the operator, etc.
  • the user should be possible for the user to stop the download- ing of software, if he/she does not want to receive new software. This may happen, for example because of lack of time or because the battery is low.
  • the downloading may also be stopped automatically, for example, if the battery is low.
  • the transmission of programs from the host to the terminal may be made according to existing protocols for data transmission in the system concerned.
  • GSM Global Packet Radio Service
  • GPRS Global Packet Radio Service
  • AMPS Advanced Mobile Phone Service
  • CDPD Cellular Digital Packet Data
  • the latter protocol also comprises functions for suspending data communication when a voice call is attempted.
  • the transfer of the program to the mobile terminal may be carried out in any available channel.
  • a traffic channel may be used.
  • data may be transmitted according to circuit switched protocols or according to packet switched protocols, such as GPRS in a GSM system.
  • packet switched protocols such as GPRS in a GSM system.
  • high-speed connections involving more than one traffic channel may be used, for example High-Speed Circuit- Switched Data (HSCSD) in GSM. This will make the transfer of the program faster but will probably only be feasible at times when the traffic load in the network is low.
  • HCSD High-Speed Circuit- Switched Data
  • Broadcasting may be used when the same program is to be transferred to several mobile terminals at the same time.
  • control information must be added to let the mobile terminals know which terminal types are to receive the program, and each terminals must comprise logic to be able to determine whether or not the program is intended for this particular terminal.
  • the program parts to be stored in this way may be selected by the subscriber or by a node in the network, but preferably by both in cooperation.
  • each program or program part may be marked, to signify if it should be stored in the mobile terminal from a system point of view, for example, to save bandwidth.
  • knowledge of the state of the terminal is also needed. Therefore, it is usually not feasible to store these program parts automatically, without giving the subscriber a chance to interrupt.
  • the subscriber is to delete a program or a program part, he/she must be given information about the dependency tree, that is, what other programs or programs part use the program or program part to be deleted, in order to decide if the program or program part should really be deleted.
  • the mobile terminal should therefore contain functions enabling the subscriber to determine whether or not a specific program or program part should be stored, and for how long, and providing the information needed by the subscriber to make a decision.
  • Figure 6 illustrates the division of the responsibilities for providing the programs according to the invention.
  • a service provider 101 provides the appropriate source code, or byte code. To do this, the service provider 101 must know the desired functionality of the service to be provided. Detailed information about the software and hardware environment provided in the terminals is not needed, but basic knowledge about, for example, the capacity of a terminal may be useful.
  • a terminal manufacturer 103 provides the terminals and, usually, a translator for the programming language, adapted for the terminals he provides.
  • the terminal manufacturer 103 must have knowledge about the programming language used. There may of course be several service providers and terminal manufacturers.
  • a network operator 105 is responsible for a mobile network 107 and for providing the services to subscribers 109 in the network 107.
  • the responsibilities may be divided between the service provider 101, the terminal provider 103 and the network operator 105 in a number of different ways.
  • the service provider 101 may provide byte code to the terminal manufacturer 103, as indicated by the arrow 111.
  • the terminal manufacturer 103 then translates the byte code to machine code using the appropriate translators for the terminals he provides, and provides this machine code to the network operator 105 through a transport network 113, such as the Internet, as indicated by an arrow 115.
  • the machine code could be provided in any way known in the art, for example, by means of a direct connection or on a floppy disk, or CD-ROM.
  • Another way of dividing the responsibilities would be for the service provider 101 to provide the byte code directly to the network operator 105, through the transport network 113, as indicated by an arrow 117.
  • the terminal manufacturer 103 could provide the translator to the network operator 105, and the network operator 105 could translate the byte code into machine code.
  • the machine code could 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 could deliver the source code instead of the byte code, but it is normally not desirable to deliver source code.

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

CHANGING FUNCTIONALITY OF A MODULE TERMINAL IN A WIRELESS NETWORK
Technical Field
The present invention relates to service provisioning, and in particular to service provisioning to handheld or portable terminals in wireless network.
Description of Related Art
The use of mobile telephones for different types of purposes is increasing. New types of mobile or portable terminals have been introduced, such as smart phones, message pads, personal digital assistants, intelligent pagers, etc. New terminals with increased functionality are constantly being developed. The possibility of upgrading the functionality of an existing portable terminal is, however, limited with current technology.
Thus, there is a desire to be able to add functions to existing portable terminals and to tailor the functionality to suit the user's needs. There is a general requirement for portable terminals to be as small and light as possible. This limits the memory space available, as well as the processing speed and the power. Other factors, for example, the limited battery capacity, and the need for cooling must also be taken into ac- count.
Current development of portable devices tends to place system intelligence in the portable device itself, rather than in a server, in order to make user interaction faster and to reduce the bandwidth required to transfer information and functionality. There is, however, a limit to the amount of memory and processor capacity that can be included in a portable device without increasing its size and weight too much. Thus, when designing a mobile terminal, a balance must be found between functionality requirement and the size and weight, etc., of the terminal. When determining what to store in the mobile terminal and what to store in a node in the network, a balance must be found between the processor capacity and memory space needed in the portable terminal and the bandwidth required to transfer programs and/or information between the network and the portable terminal.
Also, a large number of different terminal types exist, using different hardware and software platforms. Therefore, it is desirable to make programs that are executable on several different platforms.
Summary of the Invention
It is an object of the invention to enable the execution of more advanced, or de- manding, programs in a portable device than would normally be possible with respect to the processor capacity and memory space of the portable device.
It is an object of the invention to enable the execution of programs in a small device with limited processor capacity and/or memory space without reducing the process- ing speed.
It is another object of the present invention to enable the addition of new functions, upgrading of functions or the complete replacement of a function package in different types of handheld devices, especially handheld devices adapted for use in a cel- lular network.
It is yet another object of the present invention to enable the execution of programs that do not have to be permanently stored in the terminal.
These objects are achieved according to the present invention, by a method of changing the functionality of a mobile terminal connected by a wireless connection in a network, said functionality being implemented as programs in a prograrnming language for which the source code may be compiled to an intermediary code, said intermediary code being executable and verifiable, comprising the following steps:
- translating said program into machine code using at least one translator in dependence of the hardware and software environment of at least one terminal type;
- downloading the translated program to said mobile teirninal.
The objects are also achieved by an apparatus for providing programs in a network comprising hosts and several different types of terminals, at least some of said terminals being connected by wireless connections, said programs being implemented in a programming language for which the source code may be compiled to an inter- mediary code, said intermediary code being executable and verifiable, and interpreted or translated to a machine code: said apparatus comprising:
- memory means for storing programs in the form of machine code, in such a way that they can be executed in at least one of the types of client terminals in the net- work.
- means for transferring a program, in the form of machine code, to at least one client terminal.
According to a preferred embodiment, said apparatus also comprises at least one translator for the intermediary code, said translator being 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 said program using said at least one translator in the host before storing them.
Programs may be downloaded to a terminal automatically or on a request from the user of the terminal.
The method is particularly useful for portable teraunals in a cellular telecommunications network. According to a preferred embodiment, the appropriate program variant to be downloaded to the terminal is determined on the basis of the type of terminal, for example, on the basis of an identity code of the terminal.
The objects are also achieved by a portable terminal adapted to wireless communication comprising a core, arranged to receive programs and/or program parts in the form of machine code, and to install the received programs during operation.
The portable terminal may be arranged to provide the user with information about the dependency tree of the available programs.
The portable terminal may also be arranged to inform the appropriate node in the network about its type and the subscription type with which it is currently operating, and other information, such as its current battery status.
According to a preferred embodiment, the portable terminal according to the invention also receives and interprets information about whether or not a program or program block should be stored in the portable terminal.
The most common language of the above mentioned kind today is Java. Other examples are LISP, SmallTalk and Erlang. The source code of a Java program is not compiled to form machine code for a certain type of processor, but to short pseudo- instructions for a virtual machine, "byte code". When a program is to be executed, the byte code is typically downloaded to the teπninal on which it is to run and then translated into machine code for said terminal. In this way, a program written in an interpreted language, such as Java, can be executed in any kind of computer that has a translator or an interpreter for the language.
Java is primarily used in Internet applications, but the advantages of interpreted lan- guages also make them feasible for use in cellular networks. Java programs are usually smaller than corresponding machine code programs and are therefore suitable for mobile terminals, in which the memory space available is limited. An increasing number of mobile terminals support Java applications.
The use of an interpreted language, such as Java, is particularly feasible in portable terminals because their memory space is limited. Translating the program outside of the terminal also reduces the requirements on processing speed and power, which are also limited in portable terminals.
One main advantage of the present invention is that it enables a division of the responsibility for carrying out the different functions involved in changing the functionality of a device. For example, a software manufacturer can be responsible for developing the source code of the program and for compiling the source code into byte code. The manufacturer of a mobile terminal can be responsible for translating the byte code into machine code and the network operator can be responsible for the transfer of the machine code to the terminals on which it is to be run.
Interpreted languages, such as Java, have a number of advantages:
- They make it possible to load and unload portions of code dynamically to reduce the amount of space needed,
- They facilitate exchanging parts of the software since dynamic linking of programs is easier than with other program languages, and
- They make it possible to run the same byte code on different processors and with different system architectures, so that a particular function only has to be pro- grammed once.
The last two points are useful for all portable devices, and especially for portable devices that can communicate with a wireless network of some kind, which will be able to utilize all types of services offered by the network. Also, upgrading the software by downloading new programs will be easy, so that the teπninal will not become obsolete as the functions are upgraded or new services are developed. This will also make it easier to change from one operator to the other, in which case the service package of the new operator will replace the old package. It is also perceivable to let the services provided by a mobile operator change according to, for ex- ample, the time of day, the error status of the base stations in the area, the availability of Internet-related services, etc.
Brief Description of the Drawings
Figure 1 is a simplified view of a network in which the solution according to the in- vention is applied.
Figure 2 is a more complete view of a network in which the solution according to the invention is applied.
Figure 3 is a flow chart of the procedure of making a new service available in the network according to the invention. Figure 4 is a flow chart of the procedure of downloading a new service to a terminal automatically according to the invention.
Figure 5 is a flow chart of the procedure of downloading a new service to a terminal on a user's request according to the invention.
Figure 6 is an overview of how the responsibility may be divided between different participants according to the invention.
Detailed Description of Embodiments
Figure 1 is a simplified view of a network in which the solution according to the invention is applied. A portable terminal 1 is connected, via an air interface to a mo- bile network, through a base station 3. The base station is connected to a control unit 5, which is in turn 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 telecommunications network. In, or in connection to, the control unit 5, there is a program provisioning unit 9. The control unit 5 is connected to one or more hardware vendors' hosts 7, in turn connected to hosts 8, for example belonging to software vendors. Typically, the software vendors' hosts 8 are used for producing the source code and for compiling the source code into byte code. The byte code is then transferred to the hardware vendors' hosts 7, in which the byte code is translated into machine code. For this purpose, each hardware vendor's host 7 comprises one or more translators 11 for at least the terminal types of the particular hardware vendor. In both the hardware vendors' hosts 7 and the software vendors' hosts 8 test activities will normally be carried out in ways known in the art.
In the discussion above, the division of functions into the hardware vendors' hosts 7, the software vendors' hosts 8 and the control unit 5 or program provisioning unit 9 is mainly done to clarify the different functions performed. Of course the hosts 7,
8 may also be one host in which the source code is both compiled and translated. Also, the translating function may be carried out in the program provisioning unit 9, in which case the program provisioning unit must comprise at least one translator 11.
The program provisioning unit 9 comprises a number of programs 13, 15. Each pro- gram exists in a number of variants, 13a, 13b, 13c, 15a, 15b, 15c, translated by different translators 11 to be executable in different types of terminals 1.
Alternatively, only the byte code is stored. In this case, when a program 13, 15 is to be downloaded to a portable terminal 1, this program 13, 15 is translated by the ap- propriate translator 11 in order to be executable on the terminal 1 and the resulting machine code is transmitted to the terminal 1. This procedure is discussed in detail in connection with Figures 4 and 5. Preferably, either the program provisioning unit
9 or the control unit 5 comprises a selection unit comprising logic for deteπnining the appropriate variant 13a, 13b, 13c, 15a, 15b, 15c of the program 13, 15 to be transmitted to the terminal 1. In Figure 1 such a selection unit 17 is shown in the program provisioning unit.
Figure 2 is a more extensive representation of a network in which the solution ac- cording to the invention is implemented.
The network may comprise several networks, for example, a telecommunications network 21 and a data network 23, such as the Internet. In Figure 2, the telecommunications network 21 is a cellular telecommunications network. The telecommu- nications network 21 comprises one or more communication units 25, such as base stations, connected to the network through control nodes 26 controlling the function of the communication units 25 and possibly other functions, such as switching functions in the network. The communication units 25 are adapted to wireless communication with terminals 27 in the network.
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 may retrieve programs that are made available according to the invention.
The control nodes 26 also comprise the programs to be downloaded to the terminals 27 in the cellular network 21. In a preferred embodiment, the translated versions of the programs are downloaded to the control nodes 26 and stored there. The programs may also be downloaded to the control node 26 as byte code, translated in the control node 26 and stored there as machine code. The programs may also be downloaded to the control node 26 and stored as byte code. In the latter case, the byte code must be translated to machine code when the program is to be downloaded to a terminal.
As will be understood, any terminal 27, 31 connected to any of the networks 21, 23 can also download programs from any host 25, 29 in any of the networks, provided the functions required to do so are available in the terminal 27, 29, 31 or in the network.
In this embodiment a selection unit 33 is shown in each control node 26. The selec- tion unit 33 comprises logic for selecting the appropriate variant of a program to be transmitted to a terminal 27. If translated programs are stored, the selection unit may also comprise have access to a list of the appropriate variant of a program for each terminal type and/or subscription. If the byte code is stored and the program translated when it is to be transmitted, the selection unit may comprise or have access to a list specifying which translator should be used for transmission to a particular terminal type and/or subscription. The list may of course also state that a particular terminal type and/or subscription should not receive any variant of a particular program.
Figure 3 is a flow chart of the steps taken to make a new program available in the network. Step S31: The source code of the service program is written, in Java or another interpreted language. Step S32: The source code produced in step S31 is compiled to produce byte code. This step will normally include security checks, error detection, function testing, debugging, and so on. Step S33: The byte code produced in step S32 is downloaded to the server on which it should be stored. This step will normally also include security checks. Step S34: The service programs are translated by each of the translators available. If the service programs are not to be run on all types of terminals, of course, they only have to be translated by the relevant translators. Step S35: The machine code resulting from step S34 are stored in a place from which it can be downloaded to portable terminals or other devices. If the storage space of the control node 26 is limited, it may not be feasible to store several different translated versions of the program. In this case, program may be stored in the form of byte code. The translation of the byte code then takes place when it is downloaded to the terminal, that is, steps S34 and S35 are not needed. Of course, it will be possible to interpret the programs before they are downloaded to the server on which they are to be stored, that is, to change the order of steps S33 and S34.
Figure 4 is a flowchart of the steps performed when a service is to be automatically downloaded to a portable device.
Step S41 : The system informs the user that it may be desirable to download a program and requests an acknowledgement. This may be, for example, 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 found in the user's terminal.
Step S42: The user accepts or denies the downloading of the new program version. Step S43 : If the user accepts the downloading, the appropriate program variant for the terminal type is selected and the program is downloaded. End of procedure.
Figure 5 is a flowchart of the steps performed when a service is to be downloaded to a portable terminal on request of a user for execution or storing of a program. Step S51 : The user initiates a connection between the device to which the pro- gram should be downloaded and the server on which the program is located. This may be done in any way known in the art, through an air interface or a wired connection. Step S52: The type of terminal is determined. This is preferably done automatically by the system, but if necessary, the user may specify the type of terminal. Step S53 : If appropriate, the user selects the program or programs to be downloaded.
Step S54: The appropriate variant and version of the program or programs selected in step S53 is identified and downloaded. If the programs are stored as byte code in the server, they must also be translated by the appropriate translator when being downloaded. End of procedure.
The programs may be temporarily stored in the terminal and discarded once they have been executed, or the programs may be stored in the terminal.
In steps S43 and S54 the selection of the appropriate program variant may be carried out in the communication unit, or this information may be retrieved from the vendor of the terminal or the software vendor.
The programs, and the appropriate variant of each program, that may be downloaded to a particular terminal may be deteπnined in dependence of the type of terminal and the type of subscription.
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 set up. This chip, for example, the SIM card in GSM, is normally removable and may inserted in a number of different terminals. Thus, the type of terminal cannot be determined from the information on the chip. Different terminal types may, however, be able to run different programs, and require different variants of programs, even if the sub- scription type is the same.
The terminal type may be determined both automatically and by manual identification. In the latter case, for example, each terminal type may be assigned an identification number, which is entered every time a program is to be downloaded. In a preferred embodiment, the terminal type is determined using an identity code of the terminal, which is a unique number identifying a wireless terminal. In GSM, for example the International Mobile Station Equipment Identity (IMEI) might be used. This number (IMEI) is stored in every mobile terminal and should in this case be transmitted by the mobile terminal to the network to indicate the variant of a program that whould be received. It would also be possible to define a number of terminal types and enable every teraiinal to inform the system about its terminal type. In order for this to work, information about the requirements of each series of terminals must be supplied from the manufacturers of the terminals and stored in each host, or retrieved from the manufacturer each time it is needed. This information may have the form of a specification of the translator that should be used for each terminal type. The translator may be provided by the terminal manufacturer, in which case the appropriate translator only has to be identified. If the terminal manufacturer does not provide the translator, the requirements on the translator must be specified in detail.
The programs to be downloaded may also be determined in dependence of other factors, such as the cell identity, the operator, the date or the time of the day.
Automatic downloading of programs may be used, for example, in the following situations:
- When a program package has been updated it may be downloaded to each terminal the first time it connects to the network after the update.
- When the user tries to activate a service, the program associated with this service may be downloaded without the user being explicitly informed first.
- Certain programs may be automatically downloaded in dependence of the location, the time of the day, the operator, etc.
In the first case listed above, it should be possible for the user to stop the download- ing of software, if he/she does not want to receive new software. This may happen, for example because of lack of time or because the battery is low. The downloading may also be stopped automatically, for example, if the battery is low.
The situation when a subscriber is connected to another network than the one in which he/she is a subscriber, for example, when abroad, may be handled in different ways. In this case, the subscription information transmitted will let the system know that the subscriber does not belong in the current network. Even if automatic downloading may not be feasible, it may be desirable to allow the downloading of software on request
The transmission of programs from the host to the terminal may be made according to existing protocols for data transmission in the system concerned. For example, in GSM, the protocol for packet communication, Global Packet Radio Service (GPRS) may be used. In Advanced Mobile Phone Service (AMPS) systems, The Cellular Digital Packet Data (CDPD) protocol may be used. The latter protocol also comprises functions for suspending data communication when a voice call is attempted.
The transfer of the program to the mobile terminal may be carried out in any available channel. For transferring a program from the communication unit to one mobile terminal at a given time, a traffic channel may be used. Of course, data may be transmitted according to circuit switched protocols or according to packet switched protocols, such as GPRS in a GSM system. Also, high-speed connections involving more than one traffic channel may be used, for example High-Speed Circuit- Switched Data (HSCSD) in GSM. This will make the transfer of the program faster but will probably only be feasible at times when the traffic load in the network is low.
Broadcasting may be used when the same program is to be transferred to several mobile terminals at the same time. In this case, control information must be added to let the mobile terminals know which terminal types are to receive the program, and each terminals must comprise logic to be able to determine whether or not the program is intended for this particular terminal.
In some situations it will be feasible to store parts of the program code temporarily or permanently, especially parts that are to be run several times, to avoid having to download them every time they are to run. For example, subroutines of a program that are to be run several times during the execution of the program may be stored temporarily in the portable terminal for as long as the program is running. Programs that perform important functions may be stored permanently or semipermanently.
The program parts to be stored in this way may be selected by the subscriber or by a node in the network, but preferably by both in cooperation. Several ways of achieving this are known in the art. For example, each program or program part may be marked, to signify if it should be stored in the mobile terminal from a system point of view, for example, to save bandwidth. To determine whether or not a program or program part should be stored in the mobile terminal, however, knowledge of the state of the terminal is also needed. Therefore, it is usually not feasible to store these program parts automatically, without giving the subscriber a chance to interrupt.
If the subscriber is to delete a program or a program part, he/she must be given information about the dependency tree, that is, what other programs or programs part use the program or program part to be deleted, in order to decide if the program or program part should really be deleted.
The mobile terminal should therefore contain functions enabling the subscriber to determine whether or not a specific program or program part should be stored, and for how long, and providing the information needed by the subscriber to make a decision. Figure 6 illustrates the division of the responsibilities for providing the programs according to the invention.
A service provider 101 provides the appropriate source code, or byte code. To do this, the service provider 101 must know the desired functionality of the service to be provided. Detailed information about the software and hardware environment provided in the terminals is not needed, but basic knowledge about, for example, the capacity of a terminal may be useful.
A terminal manufacturer 103 provides the terminals and, usually, a translator for the programming language, adapted for the terminals he provides. The terminal manufacturer 103 must have knowledge about the programming language used. There may of course be several service providers and terminal manufacturers.
A network operator 105 is responsible for a mobile network 107 and for providing the services to subscribers 109 in the network 107.
The responsibilities may be divided between the service provider 101, the terminal provider 103 and the network operator 105 in a number of different ways. For ex- ample, the service provider 101 may provide byte code to the terminal manufacturer 103, as indicated by the arrow 111. The terminal manufacturer 103 then translates the byte code to machine code using the appropriate translators for the terminals he provides, and provides this machine code to the network operator 105 through a transport network 113, such as the Internet, as indicated by an arrow 115. Of course, the machine code could be provided in any way known in the art, for example, by means of a direct connection or on a floppy disk, or CD-ROM.
Another way of dividing the responsibilities would be for the service provider 101 to provide the byte code directly to the network operator 105, through the transport network 113, as indicated by an arrow 117. The terminal manufacturer 103 could provide the translator to the network operator 105, and the network operator 105 could translate the byte code into machine code.
According to both these methods the machine code could 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. Of course, the service provider 101 could deliver the source code instead of the byte code, but it is normally not desirable to deliver source code.

Claims

Claims
1. A method of changing the functionality of a mobile terminal connected by a wireless connection in a network, said functionality being implemented as programs in a programming language for which the source code may be compiled to an intermediary code, said intermediary code being executable and verifiable, characterized by the steps of
- translating said intermediary code into machine code using at least one transla- tor in dependence of the hardware and software environment of at least one terminal type;
- determining the appropriate variant of the machine code to be downloaded to the terminal;
- downloading the appropriate variant of the machine code to said terminal.
2. A method according to claim 1, characterized by
- translating said program into machine code using said at least one translator;
- storing the machine code of said programs in a host in the network
- transferring said machine code to at least one of said terminals when desired.
3. A method according to claim 1 or 2, wherein the downloading of programs is initiated by a unit in the network.
4. A method according to claim 1 or 2, wherein programs are downloaded to a terminal on a request from the user of the terminal.
5. A method according to any one of the preceding claims, wherein at least some of said terminals are portable terminals for use in a cellular telecommunications network.
6. A method according to any one of the preceding claims, characterized by the step of determining whether or not a program block should be stored temporarily or permanently in the terminal and, in this case, storing the program accordingly.
7. A method according to any one of the preceding claims, characterized by the step of deterrnining the appropriate variant of the machine code to be downloaded to the terminal on the basis of an identity code of the terminal;
8. A method according to any one of the preceding claims, characterized by the step of determining the appropriate variant of the machine code to be downloaded to the terminal on the basis of a code identifying the type of subscription.
9. A method according to any one of the preceding claims, characterized by the steps of - for each program, determining the terminal types that can use the program;
- translating the program using the translators relevant for said teπninal types.
10. An apparatus for providing programs in a network comprising hosts and several different types of terminals, at least some of said terminals being connected to other parts of the network by wireless connections, said programs being implemented in a programming language for which the source code may be compiled to an intermediary code, said intermediary code being executable and verifiable, and interpreted or translated to a machine code: said apparatus being 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 network;
- deteπnining which machine code should be downloaded to a particular terminal on the basis of the terminal type;
- means for transferring a program, in the form of machine code, to at least one teπninal.
11. An apparatus according to claim 10, characterized in that it comprises translation means for translating intermediary code into machine code in such a way that it can be executed in at least one type of portable terminal in a cellular net- work.
12. An apparatus according to claim 10 or 11, characterized in that at least one type of terminal is a portable terminal connected in a cellular network.
13. An apparatus according to any one of the claims 10-12, characterized in that it comprises means for determining the terminal types that can use each program.
14. An apparatus according to claim 13, characterized in that it comprises means for determining the machine code that should be downloaded to a particular ter- minal on the basis of a serial number of the terminal.
15. An apparatus according to any one of the claims 10-14, characterized in that it comprises means for determining the program that should be downloaded to a particular terminal on the basis of the type of subscription applying to the termi- nal.
16. A telecommunications network comprising hosts and several different types of terminals, at least some of said terminals being connected to other parts of the network by wireless connections, characterized in that it comprises: - at least one translating means for a programming language for which the source code may be compiled to an intermediary code, said translating means being used to translate said intermediary code into machine code executable on at least one of said terminals; - memory means for storing the machine code; - means for determining what programs or program versions should be downloaded to a particular terminal
- means for transferring a program, in the form of machine code, to at least one terminal.
17. A telecommunications network according to claim 16, characterized in that it comprises means for determining what programs or program versions should be downloaded to a particular terminal on the basis of the terminal type.
18. A telecommunications network according to claim 16 or 17, characterized in that it comprises means for deterrnining what programs or program versions should be downloaded to a particular terminal on the basis of the type of subscription.
19. A portable terminal adapted to wireless communication comprising a core, adapted to receive programs and/or program parts in the form of machine code, characterized in that said core is arranged to install the received programs and/or program parts during operation, and that it is arranged to inform the appropriate node in the network about its type and/or the subscription type with which it is currently operating.
20. A portable terminal according to claim 19, characterized in that it is arranged to provide the user with information about the dependency tree of the available programs.
21. A portable terminal according to claim 19 or 20, characterized in that it is arranged to inform the appropriate node in the network about its type and the subscription type with which it is currently operating.
22. A portable terminal according to any one of the claims 19-21, characterized in that it is arranged to inform the appropriate node in the network about its current battery status.
23. A portable terminal according to any one of the claims 19-22, characterized in that it is arranged to receive and interpret information about whether or not a program or program block should be stored in the portable terminal.
PCT/SE1999/000892 1998-05-28 1999-05-26 Changing functionality of a module terminal in a wireless network WO1999061983A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP99930020A EP1082652A2 (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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9801897-1 1998-05-28
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 (2)

Publication Number Publication Date
WO1999061983A2 true WO1999061983A2 (en) 1999-12-02
WO1999061983A3 WO1999061983A3 (en) 2000-02-03

Family

ID=20411500

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE1999/000892 WO1999061983A2 (en) 1998-05-28 1999-05-26 Changing functionality of a module terminal in a wireless 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)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015527A2 (en) * 2000-08-11 2002-02-21 Zucotto Wireless, Inc. Communications apparatus interface and method for discovery of remote devices
GB2368154A (en) * 2000-04-06 2002-04-24 Ibm Systems, apparatus and method for transformation of Java server pages to PvC format
WO2003034211A1 (en) * 2001-10-02 2003-04-24 Acunia International, Naamloze Vennootschap Method and networking system for providing services
WO2003088623A2 (en) * 2002-04-16 2003-10-23 Siemens Aktiengesellschaft Telecommunication module comprising a system-data processing means for executing at least one telecommunication activity
ES2198198A1 (en) * 2002-01-29 2004-01-16 Airtel Movil S A System for personalizing applications of a mobile terminal SIM or USIM card
EP1602028A2 (en) * 2003-12-15 2005-12-07 Microsoft Corporation System and method for updating installation components in a networked environment
EP1797732A1 (en) * 2004-10-05 2007-06-20 Research In Motion Limited Mobile device diagnosis, test, application deployment and update from a web page
EP1804162A1 (en) * 2005-12-27 2007-07-04 Vodafone Holding GmbH Method for configuring a network integrated data processing device and a network integrated data processing device
EP1916598A1 (en) * 2006-10-23 2008-04-30 Nagravision S.A. Method for loading and managing an application in a mobile equipment item
US7676448B2 (en) 2004-03-12 2010-03-09 Microsoft Corporation Controlling installation update behaviors on a client computer
US7853609B2 (en) 2004-03-12 2010-12-14 Microsoft Corporation Update distribution system architecture and method for distributing software
EP2787783A1 (en) * 2010-07-13 2014-10-08 Nokia Solutions and Networks Oy Determination of user equipment type smartphone
EP3327565A1 (en) * 2016-11-23 2018-05-30 Beijing Xiaomi Mobile Software Co., Ltd. Method and equipment for running a file

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR100643268B1 (en) * 2004-01-17 2006-11-10 삼성전자주식회사 Method for improving performance of Java virtual machine and system employing the method
US10565014B2 (en) * 2017-12-05 2020-02-18 Western Digital Technologies, Inc. Data processing offload using in-storage code execution

Citations (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
EP0569178A2 (en) * 1992-05-08 1993-11-10 AT&T Corp. Apparatus and method for downloading programs
US5541986A (en) * 1993-07-27 1996-07-30 Bell Communications Research, Inc. Method and system for automated telecommunications service script consolidation and downloading
US5617564A (en) * 1993-04-20 1997-04-01 Matsushita Electric Industrial Co., Ltd. Program source file preprocessing method and apparatus to detect modifications and generate a class of files
EP0767426A1 (en) * 1995-10-05 1997-04-09 Siemens Aktiengesellschaft Method for programming an apparatus
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel

Patent Citations (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
EP0569178A2 (en) * 1992-05-08 1993-11-10 AT&T Corp. Apparatus and method for downloading programs
US5617564A (en) * 1993-04-20 1997-04-01 Matsushita Electric Industrial Co., Ltd. Program source file preprocessing method and apparatus to detect modifications and generate a class of files
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
EP0767426A1 (en) * 1995-10-05 1997-04-09 Siemens Aktiengesellschaft Method for programming an apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1082652A2 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2368154A (en) * 2000-04-06 2002-04-24 Ibm Systems, apparatus and method for transformation of Java server pages to PvC format
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
WO2002015527A3 (en) * 2000-08-11 2002-08-01 Zucotto Wireless Inc Communications apparatus interface and method for discovery of remote devices
WO2002015527A2 (en) * 2000-08-11 2002-02-21 Zucotto Wireless, Inc. Communications apparatus interface and method for discovery of remote devices
WO2003034211A1 (en) * 2001-10-02 2003-04-24 Acunia International, Naamloze Vennootschap Method and networking system for providing services
BE1014409A3 (en) * 2001-10-02 2003-10-07 Acunia Nv Method and networking system for the provision of services available.
EP1331559A3 (en) * 2002-01-29 2004-07-07 Vodafone Group PLC System for personalizing applications of a mobile terminal SIM or USIM card
ES2198198A1 (en) * 2002-01-29 2004-01-16 Airtel Movil S A System for personalizing applications of a mobile terminal SIM or USIM card
US7295837B2 (en) 2002-04-16 2007-11-13 Siemens Aktiengesellschaft Telecommunication module having a system-data processor for performing at least one telecommunication activity
WO2003088623A2 (en) * 2002-04-16 2003-10-23 Siemens Aktiengesellschaft Telecommunication module comprising a system-data processing means for executing at least one telecommunication activity
WO2003088623A3 (en) * 2002-04-16 2004-04-22 Siemens Ag Telecommunication module comprising a system-data processing means for executing at least one telecommunication activity
EP1602028A4 (en) * 2003-12-15 2009-01-07 Microsoft Corp System and method for updating installation components in a networked environment
EP1602028A2 (en) * 2003-12-15 2005-12-07 Microsoft Corporation System and method for updating installation components in a networked environment
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
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
EP1797732A4 (en) * 2004-10-05 2008-02-20 Research In Motion Ltd Mobile device diagnosis, test, application deployment and update from a web page
EP1797732A1 (en) * 2004-10-05 2007-06-20 Research In Motion Limited Mobile device diagnosis, test, application deployment and update from a web page
US8818349B2 (en) 2004-10-05 2014-08-26 Blackberry Limited Mobile device diagnosis, test, application deployment and update from a web page
EP1804162A1 (en) * 2005-12-27 2007-07-04 Vodafone Holding GmbH Method for configuring a network integrated data processing device and a network integrated data processing device
WO2008049792A3 (en) * 2006-10-23 2009-03-26 Nagravision Sa Method for loading and managing an application in a mobile equipment
WO2008049792A2 (en) * 2006-10-23 2008-05-02 Nagravision S.A. Method for loading and managing an application in a mobile equipment
EP1916598A1 (en) * 2006-10-23 2008-04-30 Nagravision S.A. Method for loading and managing an application in a mobile equipment item
US8135825B2 (en) 2006-10-23 2012-03-13 Nagravision Sa Method for loading and managing an application on mobile equipment
EP2787783A1 (en) * 2010-07-13 2014-10-08 Nokia Solutions and Networks Oy Determination of user equipment type smartphone
EP3327565A1 (en) * 2016-11-23 2018-05-30 Beijing Xiaomi Mobile Software Co., Ltd. Method and equipment for running a file
US10824410B2 (en) 2016-11-23 2020-11-03 Beijing Xiaomi Mobile Software Co., Ltd. Method and equipment for executing a file

Also Published As

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

Similar Documents

Publication Publication Date Title
EP1082652A2 (en) Changing functionality of a module terminal in a wireless network
KR100584443B1 (en) Component Download Manager for a Wireless Mobile Station and Method of Operation
EP1362491B1 (en) Internet session initiation on personal cellular telecommunications devices, and customization protocol therefor
KR100817387B1 (en) System and method for bi-directional communication and execution of dynamic instruction sets
CN1270254C (en) Updating capability negotiation information in communications system
US8572597B2 (en) Apparatus and method for performing an over-the-air software update in a dual processor mobile station
KR100883556B1 (en) Method for processing and transmitting data on a mobile telephone network and microchip onboard system
JP3464760B2 (en) Improved method and command for downloading a predetermined list of items to a mobile terminal controlled by a subscriber identification module, a subscriber identification module and a mobile terminal
WO2005079144A2 (en) Automatic mobile device configuration system and method in a mobile communication network
WO1997044975A1 (en) Method and apparatus for accessing a plurality of communication networks
CN106961339B (en) Method and system for realizing directional flow
US7200385B1 (en) Selection of service implementation
FI111318B (en) Use of applications in a telecommunications system
JP2006506721A (en) How to load applications deployed in terminals and chip cards
EP1111506A1 (en) Method and apparatus for processing environment determination
EP2356805B1 (en) Method and system for service management of mobile stations
EP1435743A1 (en) Download of application scripts to a mobile terminal by SMS
GB2389272A (en) Remote Reconfiguration of a Subscriber Identity Module (SIM)
US20050177696A1 (en) Over the air memory allocation modification
CN114422972A (en) Data interaction method, system, device and storage medium
KR20020004032A (en) Method and apparatus for servicing user-oriented wireless internet
KR20100018213A (en) Method of supporting compatibility between different mobile telephone networks in mobile internet service and mobile telephone using the same

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99808772.6

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

ENP Entry into the national phase

Ref document number: 2333119

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 46640/99

Country of ref document: AU

NENP Non-entry into the national phase

Ref country code: KR

WWE Wipo information: entry into national phase

Ref document number: 1999930020

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999930020

Country of ref document: EP