EP1716688A1 - Registering an application program of an information device - Google Patents
Registering an application program of an information deviceInfo
- Publication number
- EP1716688A1 EP1716688A1 EP04817089A EP04817089A EP1716688A1 EP 1716688 A1 EP1716688 A1 EP 1716688A1 EP 04817089 A EP04817089 A EP 04817089A EP 04817089 A EP04817089 A EP 04817089A EP 1716688 A1 EP1716688 A1 EP 1716688A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- application program
- registration
- information device
- registering
- server
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000004891 communication Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 230000003213 activating effect Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 abstract description 5
- 230000004048 modification Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 9
- 238000013475 authorization Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 241001516739 Platonia insignis Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2117—User registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- This invention relates to a method for and a means of registering a software application program loaded onto a. wireless information device.
- the invention is applicable to, but not limited to, mobile communication or information devices such as PDAs, wireless phones and notebook computers .
- Modern mobile information and communication devices are provided with powerful microprocessors, large displays and many have expandable memory. This makes them capable of a wide range of functions beyond their basic design functions, such as web browsing, video playback, persona.1 data assistant, e-mail organiser, etc.
- the functionality of the devices is limited only by the software applications available for, and executable on, the microprocessor hardware of the device.
- the volume of software applications available for a specific device depends largely upon the popularity of the device and thus its attractiveness to the general software development community. It only becomes apparent some time after the launch of a new device that it is a commercial success, at which point many more applications become available for the device. On the other hand, the applications available for the device add to its attractiveness in the market place and ensure its commercial success. Thus, it is imperative that software applications be as far as possible portable and upgradeable, and that a new or modified software or firmware for a device be downloadable to the device. The applications thus installed may be run on the microprocessor of the device in order to improve the device's performance or increase its functionality.
- Tracking and controlling the usage of a particular application or piece of firmware is, however, a serious problem.
- Existing methods for tracking the use of applications require some form of unwieldy pre- registration on the part of the device user, such as pre- registering the product after purchasing it (via the internet for example) .
- the user would have to enter his/her data via a web site after which the user would then receive a registration code, perhaps via e-mail, which would then have to be input into the mobile device to unlock the new application once installed.
- the problems with such a system are many-fold.
- the user may, at the point of purchase, enter false data or simply make an error inputting the data.
- the inventor of the present invention has recognised and appreciated that the application developer has no idea if the application is being used and on what platform or devices it is being used. Thus, there is no opportunity for the developer to track the use of the application and thereafter optimise its use, say by offering upgrades to users.
- a method for registering an application program for a mobile wireless information device comprising the step of accessing data associated with, and stored on, the wireless information device by the application program.
- the method further comprises the steps of running a self-registration function; and transmitting registration data wirelessly to a remote registration server to register the application program.
- a registration server means as claimed in Claim 15.
- a registration server means as claimed in Claim 17.
- FIG. 1 illustrates a block diagram of a wireless audio communication unit adapted in accordance with the preferred embodiment of the present invention
- FIG. 2 illustrates a schematic of a registration system according to the present invention
- FIG. 3 illustrates a flow chart of the registration process according to the present invention. Description of Preferred Embodiments
- any reference to an ⁇ information device' encompasses both information devices such as PDAs as well as wireless communication devices.
- These devices also often include signal processors or microprocessors that allow functionality to be added to the device via modifications to the device's software or firmware.
- the present invention provides a mechanism to allow the functionality of a Java-capable communication device 100, such as a mobile phone, to be changed easily at any point during the lifetime of the device.
- a further advantage of the present invention is that once the Java-capable communication device 100 is in the hands of the sales person or the end-user, the sales person or end-user can readily modify the device to suit the end-user' s particular requirements/preferences by installing applications that perform the required functions or provide firmware updates or the like. In this regard, the end-user has simplified access to a wide range of device enhancing applications for his/her communication device .
- the wireless information device 100 in the context of the preferred embodiment of the invention is a mobile phone.
- the wireless information device 100 contains an antenna 102 preferably coupled to a duplex filter or antenna switch 104 that provides isolation between receive and transmit chains within the wireless information device 100.
- the receiver chain as known in the art, includes receiver front-end circuitry 106 (effectively providing reception, filtering and intermediate or base-band frequency conversion) .
- the front-end circuit is serially coupled to a signal processing function 108.
- the signal processing function 108 has been adapted to support a Java Virtual Machine (JVM) 109, for interpreting Java bytecode for the purposes of modifying the functionality of the wireless information device 100.
- JVM Java Virtual Machine
- the signal processing function 108 is able to access further firmware and hardware features of the wireless information device 100, as described in greater detail with reference to FIG. 2 and FIG.3.
- the receiver chain also includes received -signal strength indicator (RSSI) circuitry 112, which in turn is coupled to a controller 114 for maintaining overall communication unit control .
- the controller 114 is also coupled to the receiver front-end circuitry 106 and the signal processing function 108 (generally realised by a DSP) .
- the controller is also coupled to a memory element 116 that, according to the preferred embodiment of the present invention comprises a logical structure for storing registration data pertaining to the communication unit's hardware and software configuration.
- the memory element 116 also stores operating regimes, such as decoding/encoding functions and the like and further firmware for supporting functional features of the device.
- a timer 118 is typically coupled to the controller 114 to control the timing of operations (transmission or reception of time-dependent signals) within the wireless information device 100.
- this essentially includes an input device 120, such as a microphone and keypad, coupled in series through transmitter/modulation circuitry 122 and a power amplifier 124 to the antenna 102.
- the transmitter/ modulation circuitry 122 and the power amplifier 124 are operationally responsive to the controller.
- the signal processing function 108 has been adapted to support the functionality provided by a Java Virtual Machine (JVM) 109 capable of supporting wireless messaging.
- JVM Java Virtual Machine
- the implementation of a JVM 109 on the signal processing function 108 allows application software not written -specifically for the wireless information device 100 in question to be executed on the wireless information device 100.
- a generic class of such communications units 100 each having a different hardware realisation of the signal processing function 108 (e.g. the units may use different families or types of DSPs or microprocessors to implement the processing function 108) , may have application software written for that class.
- the Java language includes a number of safety features that prevent unrestricted access to the memory element 116 and processing function 108, of the host communication/ information unit 100. These safety features are a key feature of the language and prevent the JVM 109 from directly accessing and executing some or all functions native to the device 100, i.e. functions not running under the direct control of the JVM 109.
- the Java language requires specific authorisation to be granted before such actions can be taken.
- FIG.2 a schematic representation of an application registration system is illustrated in accordance with a preferred embodiment of the present invention.
- a method for registering an application program for use on a mobile wireless information device 100 is described.
- the application program is preferably downloadable to the mobile wireless information device 100 via a suitable interface.
- the application program has the ability to register itself with a remote registration server 207 by running a self registration function.
- the application program is able to access data associated with, and stored on, the mobile wireless information device 100.
- the application program preferably utilises a wireless communications mechanism and communications protocol provided by the mobile wireless information device 100, and transmits registration data via the wireless communication mechanism to a remote registration server 207.
- the registration process performed in this manner requires minimal intervention on the part of the user.
- the registration process also supplies enough detailed information for the application software or firmware provider to track the use of the firmware or software application.
- the application program that is being executed on the signal processing function 108 issues a command requesting transmission of a message via the wireless communications mechanism and communications protocol of the mobile wireless information device 100.
- the application program writes registration data to a registration memory element 116 associated with the device 100.
- the application does not require an external registration authorisation source and can simply confirm its own registration by writing identifier information to a suitable location on the wireless information device 100, such as the local record management system (RMS) .
- RMS local record management system
- the application program uses the SMS wireless communications protocol and sends a text message to a pre-defined registration server 207.
- the SMS text contains various data associated with the device 100, but preferably the telephone number of the device 100. This allows the user of the application program to be identified and registered correctly.
- the SMS text message also preferably contains the ID code of a registration server 207, the registration server itself being registered under this code with at least one SMSC (SMS centre) 203.
- SMSC SMS centre
- the application program is a Java MIDlet (Mobile Information Device Profile) conform program.
- the Java MIDlet profile preferably defines functionality that is specifically for use with mobile information devices 100, thereby ensuring that access to the required wireless functionality such as wireless messaging is available to the application program.
- the Java MIDlet application program may be downloaded to the mobile information device 100 via any of a variety of transmission methods, for example a wireless communications interface such as BlueTooth (TM) , or the Global System for Mobile communications system (GSM) or a General Packet Radio System (GPRS) or a Universal Mobile Telecommunication System (UMTS) or via an infra-red communication link, or a wireline (such as a universal serial bus (USB) or RS232) or optical fibre interface.
- TM BlueTooth
- GSM Global System for Mobile communications system
- GPRS General Packet Radio System
- UMTS Universal Mobile Telecommunication System
- USB universal serial bus
- the Java MIDlet application program may be downloaded to the mobile information device 100 via a memory card such as a multimedia card (MMC) or a secure digital (SD) card.
- MMC multimedia card
- SD secure digital
- the application program will not execute if a registration phase is not performed and validated.
- the Java MIDlet application will not be ⁇ enabled' if authorisation for transmitting a short message service (SMS) message is denied or if the self registration process is ended prematurely.
- SMS short message service
- the application may quit and disable itself, it may attempt to re-register at the next execution of the code, or it may continue to request the transmission of the SMS.
- the registration server 207 stores the application registration data and the wireless mobile information device's telephone number, which are contained in the SMS text message, in a local registration database 208. Further, upon successfully sending the SMS registration text message, the application confirms its registration by writing predefined registration data to the appropriate location in the wireless information device's memory element 116, e.g. its record management system (RMS) . In a yet further advantageous embodiment, upon execution the Java MIDlet application first searches for registration data in the memory element 116 of the device 100 for example in the Record Management System (RMS) . The Java MIDlet application subsequently executes correctly if registration data is held in the RMS, and therefore does not perform a further registration attempt .
- RMS Record Management System
- a registration server 207 adapted for implementing the present invention is itself in a further advantageous embodiment registered with a SMS Centre (SMSC) 203 for the purposes of receiving application registration data via SMS text messages 202.
- the registration server 207 is linked to the SMSC via a communication interface 206, which may be a wireless interface but is preferably a terrestrial WAN or internet connection and a communication link 209.
- the registration server 207 has access to a local server-side database 208 via a local communications link 209 which may be a wide area/access network (WAN) or local area/access network (LAN) connection or some other local communications system.
- WAN wide area/access network
- LAN local area/access network
- the SMS text message 202 is sent from the mobile wireless device 100 to a SMSC 203.
- the particular SMSC 203 that the message is sent to will depend on the user's network provider, e.g. Orange, Vodafone etc.
- the SMSC 203 receives the SMS text message 202 from the sender and forwards it to the desired recipient, i.e. the registration server 207.
- the registration server 207 is preferably registered with the SMSC 203 to use a particular ID number.
- the registration server 207 is preferably registered with the SMSC's owner, typically a network operator.
- the Java MIDlet application developer's server 207 is associated with a set number, which is set as the registration server number in the Java MIDlet, and will be used by the SMSC 203 to locate the registration server 207 and deliver the registration text.
- the mobile information device 100 communicates a SMS text message to the SMSC 203 which parses the message and extracts the ID number of the registration server 207.
- the SMSC 203 then forwards the message to the registration server 207, which receives the SMS text message data and retrieves the application ID from the message body and sender's mobile phone number from the message header.
- This information is then stored in a new record in a server side database 208 for later access/use, say, by the application developer.
- the registration server 207 may transmit a SMS text message to a registered mobile wireless information device 100. It is envisaged that the SMS text message may hold program code for modifying e.g. unlocking, upgrading, terminating the behaviour of the registered application program (s) stored on the device 100 and registered with the registration server 207.
- the SMS text may also include information for the user of the mobile device 100 regarding some aspect or feature of the registered application.
- FIG. 3 a flow chart illustrates a preferred registration process of the specific case of a Java MIDlet (MID profile) application.
- MID profile Java MIDlet
- the process begins with the execution of the Java MIDlet at step 305.
- the MIDlet application must allow the Application Management Software (AMS) to control it, i.e. to create, start, pause and/or destroy the MIDlet.
- AMS Application Management Software
- the Java MIDlet execution may be user driven, or may be event driven via the AMS .
- the Java MIDlet checks the device's Record Management Store (RMS) for registration data, as shown in step 310.
- the RMS is preferably a device specific storage area in the communication unit's memory element 116.
- the RMS is preferably maintained by the wireless information device 100 across multiple invocations of the Java MIDlet, thereby allowing pre-stored registration data to be retrieved by the Java MIDlet application.
- the wireless information device 100 is responsible for ensuring the retention of the RMS during events such as power-down or battery changes .
- a determination is made as to whether the Java MIDlet is already registered, in step 315.
- the Java MIDlet application decides whether to allow itself to be run in step 320 or to proceed with the registration process. Assuming that the appropriate registration data is not stored in the communication unit's RMS, in step 315, the Java MIDlet then preferably calls a standard Wireless Messaging API method such as Connector. open ("sms ://",write) which initiates the SMS text transmission process.
- a standard Wireless Messaging API method such as Connector. open ("sms ://",write) which initiates the SMS text transmission process.
- SMS text invokes the security system of the Wireless API, which forces the application to notify the user of the attempt.
- the application must therefore request a SMS text to be transmitted from the communications unit to the short message service centre (SMSC) , which forwards the text to the Registration
- SMSSC short message service centre
- the SMS text transmission is either allowed or forbidden by the user in step 330. If the transmission is forbidden by the user in step 330, then the request is repeated and a suitable text message displayed on the communication unit's display, in step 335.
- a user may be informed that the Java MIDlet application must first be registered before it may be run. Alternatively, it is envisaged that the application may simply quit.
- the Java MIDlet application may be allowed to start anyway, such that the registration process is, in effect, a voluntary process.
- the SMS -text sent by the communication unit and the wireless SMS message is transmitted to the remote server (SMSC), as shown in step 340.
- the SMS text transmission comprises the application ID and/or the user's mobile phone number.
- the Java MIDlet Application is then able to write the registration data, which is preferably pre-stored in the application, to the device RMS and proceed to run the application, as shown in step 345.
- the Java MIDlet application initiates itself to allow a user to run the application, once the user has authorised a wireless transmission of a registration message, using for example an SMS message. After the Java MIDlet application has been registered a first time, it is envisaged that the user will not have to register again.
- the application program may be activated later upon receipt of an acknowledgment of successful registration, say from the registration server by means of a SMS text message.
- the mobile information device aims to provide at least one or more of the following advantages: (i) A method of registering an application downloaded onto a mobile communications device, so that the application may be executed. This allows the application developer to monitor use of their software, allows the mobile device's user to be informed of modifications and/or updates to the functionality of the device and/or allows automatic optimisation of features of the device.
- a server capable of receiving the contents of an SMS text message, decoding its contents and subsequently storing the user' s registration data contained in the SMS text in a record in a server-side database 208.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
A method for registering a Java application program (300) for use on a mobile wireless information device (100), the application program being downloadable to the information device (100) via a communications interface. The method comprises the step of accessing data (310) associated with, and stored on, the wireless information device (100) by the application program; running a self-registration function; and transmitting registration data (340) wirelessly to a remote registration server (207) to register the application program. This allows the application developer to monitor use of their software, allows the mobile device's user to be informed of modifications and/or updates to the functionality of the device and/or allows automatic optimisation of features of the device.
Description
REGISTERING AN APPLICATION PROGRAM OF AN INFORMATION DEVICE
Field of the Invention
This invention relates to a method for and a means of registering a software application program loaded onto a. wireless information device. The invention is applicable to, but not limited to, mobile communication or information devices such as PDAs, wireless phones and notebook computers .
Background of the Invention
Modern mobile information and communication devices are provided with powerful microprocessors, large displays and many have expandable memory. This makes them capable of a wide range of functions beyond their basic design functions, such as web browsing, video playback, persona.1 data assistant, e-mail organiser, etc. The functionality of the devices is limited only by the software applications available for, and executable on, the microprocessor hardware of the device.
The volume of software applications available for a specific device depends largely upon the popularity of the device and thus its attractiveness to the general software development community. It only becomes apparent some time after the launch of a new device that it is a commercial success, at which point many more applications become available for the device. On the other hand, the applications available for the device add to its attractiveness in the market place and ensure its
commercial success. Thus, it is imperative that software applications be as far as possible portable and upgradeable, and that a new or modified software or firmware for a device be downloadable to the device. The applications thus installed may be run on the microprocessor of the device in order to improve the device's performance or increase its functionality.
Tracking and controlling the usage of a particular application or piece of firmware is, however, a serious problem. Existing methods for tracking the use of applications require some form of unwieldy pre- registration on the part of the device user, such as pre- registering the product after purchasing it (via the internet for example) . In such a case, the user would have to enter his/her data via a web site after which the user would then receive a registration code, perhaps via e-mail, which would then have to be input into the mobile device to unlock the new application once installed.
The problems with such a system are many-fold. The user may, at the point of purchase, enter false data or simply make an error inputting the data. In addition, the inventor of the present invention has recognised and appreciated that the application developer has no idea if the application is being used and on what platform or devices it is being used. Thus, there is no opportunity for the developer to track the use of the application and thereafter optimise its use, say by offering upgrades to users.
Thus, a need exists for a reliable and simplified method of registering, and/or activating an application on a
mobile wireless information device, and a means of carrying out this method, wherein the above-mentioned disadvantages may be alleviated.
Statement of Invention
In summary, a method and means of registering an application program on a wireless information device, is described whereby the application program includes a self-registration function.
In accordance with a first aspect of the present invention, there is provided a method for registering an application program for a mobile wireless information device. The application program is downloadable to the information device (100) via a communications interface. The method comprises the step of accessing data associated with, and stored on, the wireless information device by the application program. The method further comprises the steps of running a self-registration function; and transmitting registration data wirelessly to a remote registration server to register the application program.
This allows the application developer to monitor use of their software, allows the mobile device's user to be informed of modifications and/or updates to the functionality of the device and/or allows automatic optimisation of features of the device.
In accordance with a second aspect of the present invention, there is provided a method for registering and
activation of a Java MIDLet application program, as claimed in Claim 14.
In accordance with a third aspect of the present invention, there is provided a registration server means, as claimed in Claim 15.
In accordance with a fourth aspect of the present invention, there is provided a registration server means, as claimed in Claim 17.
In accordance with a fifth aspect of the present invention, there is provided a wireless information device, as claimed in Claim 19.
Further aspects of the present invention are as defined in the dependent Claims .
Brief Description of the Drawings
Exemplary embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
FIG. 1 illustrates a block diagram of a wireless audio communication unit adapted in accordance with the preferred embodiment of the present invention;
FIG. 2 illustrates a schematic of a registration system according to the present invention; and
FIG. 3 illustrates a flow chart of the registration process according to the present invention.
Description of Preferred Embodiments
The preferred embodiment of the present invention will be described in terms of a mobile telephone 100 capable of executing application program software written in the Java language and being MIDlet compatible. However, it will be appreciated that the invention may be embodied in any other type of wireless communication device that is capable of executing Java programs or programs written in the native language of the device or any language capable of execution on the hardware of the device, for example a pager, a portable or mobile radio, a wireless-capable laptop computer, etc. It is further envisaged that the inventive concepts may be embodied in a variety of information devices, such as a personal digital assistant (PDA) with wireless ethernet capability (sometimes referred to as WiFi) . Thus, in the context of the foregoing text, any reference to an λinformation device' encompasses both information devices such as PDAs as well as wireless communication devices.
These devices also often include signal processors or microprocessors that allow functionality to be added to the device via modifications to the device's software or firmware.
The present invention provides a mechanism to allow the functionality of a Java-capable communication device 100, such as a mobile phone, to be changed easily at any point during the lifetime of the device. A further advantage of the present invention is that once the Java-capable communication device 100 is in the hands of the sales
person or the end-user, the sales person or end-user can readily modify the device to suit the end-user' s particular requirements/preferences by installing applications that perform the required functions or provide firmware updates or the like. In this regard, the end-user has simplified access to a wide range of device enhancing applications for his/her communication device .
Referring first to FIG. 1, there is shown a block diagram of part of a wireless information device 100, adapted to support the inventive concepts of the preferred embodiments of the present invention. The wireless information device 100, in the context of the preferred embodiment of the invention is a mobile phone. As such, the wireless information device 100 contains an antenna 102 preferably coupled to a duplex filter or antenna switch 104 that provides isolation between receive and transmit chains within the wireless information device 100. The receiver chain, as known in the art, includes receiver front-end circuitry 106 (effectively providing reception, filtering and intermediate or base-band frequency conversion) . The front-end circuit is serially coupled to a signal processing function 108.
In accordance with the preferred embodiment of the present invention, the signal processing function 108 has been adapted to support a Java Virtual Machine (JVM) 109, for interpreting Java bytecode for the purposes of modifying the functionality of the wireless information device 100. In addition, the signal processing function 108 is able to access further firmware and hardware features of the wireless information device 100, as
described in greater detail with reference to FIG. 2 and FIG.3.
As known in the art, the receiver chain also includes received -signal strength indicator (RSSI) circuitry 112, which in turn is coupled to a controller 114 for maintaining overall communication unit control . The controller 114 is also coupled to the receiver front-end circuitry 106 and the signal processing function 108 (generally realised by a DSP) . The controller is also coupled to a memory element 116 that, according to the preferred embodiment of the present invention comprises a logical structure for storing registration data pertaining to the communication unit's hardware and software configuration. The memory element 116 also stores operating regimes, such as decoding/encoding functions and the like and further firmware for supporting functional features of the device. A timer 118 is typically coupled to the controller 114 to control the timing of operations (transmission or reception of time-dependent signals) within the wireless information device 100.
As regards the transmit chain, this essentially includes an input device 120, such as a microphone and keypad, coupled in series through transmitter/modulation circuitry 122 and a power amplifier 124 to the antenna 102. The transmitter/ modulation circuitry 122 and the power amplifier 124 are operationally responsive to the controller.
In accordance with the preferred embodiment of the present invention, the signal processing function 108,
has been adapted to support the functionality provided by a Java Virtual Machine (JVM) 109 capable of supporting wireless messaging. The implementation of a JVM 109 on the signal processing function 108 allows application software not written -specifically for the wireless information device 100 in question to be executed on the wireless information device 100. For example, a generic class of such communications units 100, each having a different hardware realisation of the signal processing function 108 (e.g. the units may use different families or types of DSPs or microprocessors to implement the processing function 108) , may have application software written for that class.
The Java language includes a number of safety features that prevent unrestricted access to the memory element 116 and processing function 108, of the host communication/ information unit 100. These safety features are a key feature of the language and prevent the JVM 109 from directly accessing and executing some or all functions native to the device 100, i.e. functions not running under the direct control of the JVM 109. The Java language requires specific authorisation to be granted before such actions can be taken.
Referring now to FIG.2, a schematic representation of an application registration system is illustrated in accordance with a preferred embodiment of the present invention.
In a preferred embodiment of the present invention, a method for registering an application program for use on a mobile wireless information device 100 is described.
The application program is preferably downloadable to the mobile wireless information device 100 via a suitable interface. In accordance with the preferred embodiment of the present invention, the application program has the ability to register itself with a remote registration server 207 by running a self registration function. Furthermore, the application program is able to access data associated with, and stored on, the mobile wireless information device 100. The application program preferably utilises a wireless communications mechanism and communications protocol provided by the mobile wireless information device 100, and transmits registration data via the wireless communication mechanism to a remote registration server 207.
The registration process performed in this manner requires minimal intervention on the part of the user. The registration process also supplies enough detailed information for the application software or firmware provider to track the use of the firmware or software application.
In a further preferred and advantageous embodiment of the present invention, the application program that is being executed on the signal processing function 108 issues a command requesting transmission of a message via the wireless communications mechanism and communications protocol of the mobile wireless information device 100.
Furthermore, upon successful registration the application program writes registration data to a registration memory element 116 associated with the device 100. In this manner the application does not require an external
registration authorisation source and can simply confirm its own registration by writing identifier information to a suitable location on the wireless information device 100, such as the local record management system (RMS) .
In a further advantageous embodiment of the present invention, the application program uses the SMS wireless communications protocol and sends a text message to a pre-defined registration server 207. The SMS text contains various data associated with the device 100, but preferably the telephone number of the device 100. This allows the user of the application program to be identified and registered correctly. The SMS text message also preferably contains the ID code of a registration server 207, the registration server itself being registered under this code with at least one SMSC (SMS centre) 203. Thus the application program is able to access its own dedicated registration server 207.
In a yet further advantageous embodiment of the present invention the application program is a Java MIDlet (Mobile Information Device Profile) conform program. The Java MIDlet profile preferably defines functionality that is specifically for use with mobile information devices 100, thereby ensuring that access to the required wireless functionality such as wireless messaging is available to the application program.
In a further advantageous aspect of the present invention, the Java MIDlet application program may be downloaded to the mobile information device 100 via any of a variety of transmission methods, for example a wireless communications interface such as BlueTooth (™) ,
or the Global System for Mobile communications system (GSM) or a General Packet Radio System (GPRS) or a Universal Mobile Telecommunication System (UMTS) or via an infra-red communication link, or a wireline (such as a universal serial bus (USB) or RS232) or optical fibre interface. It is also envisaged that the Java MIDlet application program may be downloaded to the mobile information device 100 via a memory card such as a multimedia card (MMC) or a secure digital (SD) card.
In order to validly register the application program according to the present invention, the application program will not execute if a registration phase is not performed and validated. For example, the Java MIDlet application will not be ^enabled' if authorisation for transmitting a short message service (SMS) message is denied or if the self registration process is ended prematurely. At this point the application may quit and disable itself, it may attempt to re-register at the next execution of the code, or it may continue to request the transmission of the SMS.
In a yet further advantageous embodiment of the application the registration server 207 stores the application registration data and the wireless mobile information device's telephone number, which are contained in the SMS text message, in a local registration database 208. Further, upon successfully sending the SMS registration text message, the application confirms its registration by writing predefined registration data to the appropriate location in the wireless information device's memory element 116, e.g. its record management system (RMS) .
In a yet further advantageous embodiment, upon execution the Java MIDlet application first searches for registration data in the memory element 116 of the device 100 for example in the Record Management System (RMS) . The Java MIDlet application subsequently executes correctly if registration data is held in the RMS, and therefore does not perform a further registration attempt .
The invention can be better understood by reference to the following description of a preferred embodiment, as illustrated in FIG' s 2 and 3.
A registration server 207 adapted for implementing the present invention, is itself in a further advantageous embodiment registered with a SMS Centre (SMSC) 203 for the purposes of receiving application registration data via SMS text messages 202. The registration server 207 is linked to the SMSC via a communication interface 206, which may be a wireless interface but is preferably a terrestrial WAN or internet connection and a communication link 209. The registration server 207 has access to a local server-side database 208 via a local communications link 209 which may be a wide area/access network (WAN) or local area/access network (LAN) connection or some other local communications system.
The SMS text message 202 is sent from the mobile wireless device 100 to a SMSC 203. The particular SMSC 203 that the message is sent to will depend on the user's network provider, e.g. Orange, Vodafone etc. The SMSC 203 receives the SMS text message 202 from the sender and
forwards it to the desired recipient, i.e. the registration server 207. To achieve this, the registration server 207 is preferably registered with the SMSC 203 to use a particular ID number.
When a message is received by the SMSC 203 with a recipient's number that matches one of the pre-registered numbers, the SMSC 203 will forward the message data to the registered location 207. The registration server 207 is preferably registered with the SMSC's owner, typically a network operator. The Java MIDlet application developer's server 207 is associated with a set number, which is set as the registration server number in the Java MIDlet, and will be used by the SMSC 203 to locate the registration server 207 and deliver the registration text.
In detail, the mobile information device 100 communicates a SMS text message to the SMSC 203 which parses the message and extracts the ID number of the registration server 207. The SMSC 203 then forwards the message to the registration server 207, which receives the SMS text message data and retrieves the application ID from the message body and sender's mobile phone number from the message header. This information is then stored in a new record in a server side database 208 for later access/use, say, by the application developer.
In a further advantageous embodiment of the present invention, the registration server 207 may transmit a SMS text message to a registered mobile wireless information device 100. It is envisaged that the SMS text message may hold program code for modifying e.g. unlocking,
upgrading, terminating the behaviour of the registered application program (s) stored on the device 100 and registered with the registration server 207. The SMS text may also include information for the user of the mobile device 100 regarding some aspect or feature of the registered application.
Referring now to FIG. 3, a flow chart illustrates a preferred registration process of the specific case of a Java MIDlet (MID profile) application. To simplify the flow chart, the steps involved in downloading the MIDlet to the communications device 100 are not shown, i.e. it is assumed that at step 305 the MIDlet is residing in the memory element 116 of the communications device 100.
The process begins with the execution of the Java MIDlet at step 305. The MIDlet application must allow the Application Management Software (AMS) to control it, i.e. to create, start, pause and/or destroy the MIDlet. Thus, at step 305 the Java MIDlet execution may be user driven, or may be event driven via the AMS .
Once the Java MIDlet is executed in step 305, the Java MIDlet checks the device's Record Management Store (RMS) for registration data, as shown in step 310. The RMS is preferably a device specific storage area in the communication unit's memory element 116. The RMS is preferably maintained by the wireless information device 100 across multiple invocations of the Java MIDlet, thereby allowing pre-stored registration data to be retrieved by the Java MIDlet application.
The wireless information device 100 is responsible for ensuring the retention of the RMS during events such as power-down or battery changes . After the Java MIDlet has checked the RMS, a determination is made as to whether the Java MIDlet is already registered, in step 315. In effect, the Java MIDlet application decides whether to allow itself to be run in step 320 or to proceed with the registration process. Assuming that the appropriate registration data is not stored in the communication unit's RMS, in step 315, the Java MIDlet then preferably calls a standard Wireless Messaging API method such as Connector. open ("sms ://",write) which initiates the SMS text transmission process.
The attempt to transmit a SMS text invokes the security system of the Wireless API, which forces the application to notify the user of the attempt. The application must therefore request a SMS text to be transmitted from the communications unit to the short message service centre (SMSC) , which forwards the text to the Registration
Server identified by the contents of the text, as shown in step 325.
Advantageously, the SMS text transmission is either allowed or forbidden by the user in step 330. If the transmission is forbidden by the user in step 330, then the request is repeated and a suitable text message displayed on the communication unit's display, in step 335. For example, a user may be informed that the Java MIDlet application must first be registered before it may be run. Alternatively, it is envisaged that the application may simply quit. In a yet further alternative embodiment, the Java MIDlet application may
be allowed to start anyway, such that the registration process is, in effect, a voluntary process.
If the transmission of the SMS text is allowed by the user in step 330, the SMS -text sent by the communication unit and the wireless SMS message is transmitted to the remote server (SMSC), as shown in step 340. Notably, the SMS text transmission comprises the application ID and/or the user's mobile phone number. The Java MIDlet Application is then able to write the registration data, which is preferably pre-stored in the application, to the device RMS and proceed to run the application, as shown in step 345. In this manner, the Java MIDlet application initiates itself to allow a user to run the application, once the user has authorised a wireless transmission of a registration message, using for example an SMS message. After the Java MIDlet application has been registered a first time, it is envisaged that the user will not have to register again.
Although the preferred embodiment of the present invention is described with respect to the processor in the wireless information device activating the application program upon transmission of registration data, it is within the contemplation of the invention that, in some instances, the application program may be activated later upon receipt of an acknowledgment of successful registration, say from the registration server by means of a SMS text message.
It will be understood that the mobile information device as described above, aims to provide at least one or more of the following advantages:
(i) A method of registering an application downloaded onto a mobile communications device, so that the application may be executed. This allows the application developer to monitor use of their software, allows the mobile device's user to be informed of modifications and/or updates to the functionality of the device and/or allows automatic optimisation of features of the device.
(ii) A method of recording the registration of an application by writing registration data to, say, an RMS of the mobile device, thus allowing an automatic check for pre-registration.
(iii) A server capable of receiving the contents of an SMS text message, decoding its contents and subsequently storing the user' s registration data contained in the SMS text in a record in a server-side database 208.
(iv) A reliable and simple method of accurately identifying and registering an ID number of a mobile information device by using an SMS text message service for contacting the registration server. The SMS text message preferably contains the telephone number of the mobile information device to allow the user to be identified and/or contacted. (v) A method for activating a Java MIDlet application designed to run on a mobile information device supporting a JVM.
Whilst the specific and preferred implementations of the embodiments of the present invention are described above, it is clear that one skilled in the art could readily apply variations and modifications of such inventive concepts .
Thus, a wireless information device with signal processing function capable of executing software applications has been described where the aforementioned disadvantages associated with prior art arrangements have been substantially alleviated.
Claims
1. A method for registering an application program (300) for use on an information device (100) , the application program being downloadable to the information device (100) via a communications interface, wherein the method comprises the step of: accessing data (310) associated with, and stored on, the wireless information device (100) by the application program; wherein the method is characterised by the steps of: running a self-registration function; and transmitting registration data (340) wirelessly to a remote registration server (207) to register the application program.
2. A method for registering an application program (300) according to Claim 1 further characterised by the step of: activating the application program (345) following transmission of the registration data (340) .
3. A method for registering an application program (300) according to Claim 1 further characterised by the step of: authorising a wireless transmission of registration in order to activate the application program.
4. A method for registering an application program (300) according to Claim 3 when a transmission is not authorised, wherein the method is further characterised by any of the following steps : quitting or disabling the application program, attempting to re-register at a subsequent execution of the application program, or continuing to request a transmission of the registration data.
5. A method for registering an application program (300) according to Claim 1 further characterised by the step of: writing registration data to a registration memory associated with the device, following transmission of the registration data.
6. A method for registering an application program (300) according to Claim 1 wherein the step of accessing data comprises the step of searching for registration data in a memory element of the information device following execution of the application program in order to determine whether to perform the step of transmitting registration data.
7. A method for registering an application program (300) according to Claim 1 further characterised in that the registration data is transmitted using a wireless communications protocol, for example the GSM Short Messaging Service protocol.
8. A method for registering an application program (300) according to Claim 1 further characterised in that the application program is written in Java language.
9. A method for registering an application program (300) according to Claim 1 further characterised in that the application program is a Java MIDlet conform program.
10. A method for- registering an application program (300) according to Claim 1 further characterised in that the step of transmitting registration data (340) comprises transmitting an application program identifier and/or a wireless information device identifier.
11. A method for registering an application program (300) according to Claim 10 further characterised in that the step of transmitting registration data (340) comprises transmitting an identifier of a registration server.
12. A method for registering an application program (300) according to Claim 10 further characterised by the step of: storing, by a registration server (207) , the application program registration data, the application program identifier and/or a wireless information device identifier in a registration data-base (208) .
13. A method for registering an application program (300) according to Claim 10 further characterised by the step of: tracking a use and/or a user of the application program using the application program identifier and/or a wireless information device identifier.
14. A method for registering and activating a Java MIDLet application program stored on a mobile wireless information device (300) comprising, upon execution of the MIDlet, the following steps: (i) Searching for registration data in the Record Management System (RMS) of the device (310) ; (ii) Allowing the program to execute if said registration data is held in the RMS (320) ; (iii) Requesting to send an SMS text message if said registration data is not in the RMS (325) ; (iv) Quitting the application or repeating the request if said request is denied; (v) Sending a SMS text message to a remote registration server (340) , the telephone number or contact code of the registration server being available to the MIDlet, said message containing an ID code associated with the application and the telephone number of the mobile wireless device, if said request is allowed; (vi) Storing a record of the registration into the RMS of the device; and (vii) Allowing the application to run (345) .
15. A registration server (207) for use in implementing the method steps of Claim 1 characterised in that the registration server (207) is registered with a SMSC (203) for the purposes of receiving application registration data via a SMS text message, said server (207) being capable of interpreting the data stored in the text message and storing said data in a server side registration database (208) .
16. A registration server (207) according to Claim 15, further characterised in that the registration server (207) comprises a processor for receiving, interpreting and storing application program registration data, an application program identifier and/or a wireless information device identifier in a registration database (208) .
17. A registration server (207) for use in implementing the method steps of Claim 14 characterised in that the registration server (207) is registered with a SMSC (203) for the purposes of receiving application registration data via a SMS text message, said server (207) being capable of interpreting the data stored in the text message and storing said data in a server side registration database (208) .
18. A registration server (207) according to Claim
17, further characterised in that the registration server (207) comprises a processor for receiving, interpreting and storing application program registration data, an application program identifier and/or a wireless information device identifier in a registration database (208) .
19. A wireless information device (100) comprising: a processing function (108) capable of supporting a Java Virtual Machine (109) , wherein the Java Virtual
Machine supports wireless messaging services and MIDlets; a memory element (116) operably coupled to the processing function (108) comprising a Java application program; wherein the wireless information device (100) is characterised by: a wireless communication mechanism operationally responsive to the processing function (108) such that registration data is transmitted to a remote server, for example using short message service text messages in order to activate the application program.
20. A wireless information device (100) according to Claim 19, further characterised by the memory element comprising an application program identifier and/or a wireless information device identifier to transmit to the remote server.
21. A wireless information device (100) according to Claim 19 further characterised by the processing function (108) activating the application program following transmission of the registration data.
22. A wireless information device (100) according to Claim 19 further characterised by the processing function (108) writing registration data to memory element (116) following transmission of the registration data.
23. A wireless information device (100) according to Claim 19 further characterised in that the wireless information device (100) is a mobile telephone (100, 201) or a PDA or a laptop or mobile computer.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0323145A GB2406664B (en) | 2003-10-03 | 2003-10-03 | Registering an application program of an information device |
PCT/EP2004/052403 WO2005034466A1 (en) | 2003-10-03 | 2004-10-01 | Registering an application program of an information device |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1716688A1 true EP1716688A1 (en) | 2006-11-02 |
Family
ID=29415421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04817089A Withdrawn EP1716688A1 (en) | 2003-10-03 | 2004-10-01 | Registering an application program of an information device |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1716688A1 (en) |
GB (1) | GB2406664B (en) |
WO (1) | WO2005034466A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2601730C (en) * | 2005-04-18 | 2013-07-02 | Research In Motion Limited | System and method for efficient transfer of applications and data during device swap |
DE102007034975A1 (en) * | 2007-07-26 | 2009-02-12 | Giesecke & Devrient Gmbh | Disk with a MIDlet |
US8792934B2 (en) | 2010-08-18 | 2014-07-29 | Microsoft Corporation | Selective update of core mobile device user interface through application marketplace |
US10637819B2 (en) * | 2014-06-26 | 2020-04-28 | Orange | Context based multi-model communication in customer service |
US10397373B2 (en) | 2015-05-20 | 2019-08-27 | Qualcomm Incorporated | Renewing registrations for client applications installed on different proximate client devices |
CN111324374B (en) * | 2018-12-17 | 2024-04-16 | 顺丰科技有限公司 | Application program registration method and device based on application performance management system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4796220A (en) * | 1986-12-15 | 1989-01-03 | Pride Software Development Corp. | Method of controlling the copying of software |
CA2231978A1 (en) * | 1998-05-20 | 1999-11-20 | Andre J. Brisson | Bigsoft brother - software method for tracking and identifying illegal software piracy, installation, copying and theft of software |
US6044471A (en) * | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US6986063B2 (en) * | 1998-06-04 | 2006-01-10 | Z4 Technologies, Inc. | Method for monitoring software using encryption including digital signatures/certificates |
WO2000075760A1 (en) * | 1999-06-07 | 2000-12-14 | Firepad, Inc. | Method and system for preventing the unauthorized use of software |
AUPQ434599A0 (en) * | 1999-11-26 | 1999-12-23 | Mcnaughton, Chris | Computer software |
US20040267645A1 (en) * | 2003-06-24 | 2004-12-30 | Pekka Pollari | Method and corresponding equipment enabling billing for use of applications hosted by a wireless terminal |
-
2003
- 2003-10-03 GB GB0323145A patent/GB2406664B/en not_active Expired - Fee Related
-
2004
- 2004-10-01 EP EP04817089A patent/EP1716688A1/en not_active Withdrawn
- 2004-10-01 WO PCT/EP2004/052403 patent/WO2005034466A1/en not_active Application Discontinuation
Non-Patent Citations (1)
Title |
---|
See references of WO2005034466A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2005034466A1 (en) | 2005-04-14 |
GB2406664B (en) | 2006-12-13 |
GB0323145D0 (en) | 2003-11-05 |
GB2406664A (en) | 2005-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093981B2 (en) | Smart broadcasting device | |
US8630747B2 (en) | Alternative authorization for telematics | |
US20190058789A1 (en) | Method and apparatus for remote control and updating of wireless mobile devices | |
CN110869907B (en) | Method and terminal for browsing application page | |
US8484633B2 (en) | Method of upgrading program of portable device and portable device having program upgrade function | |
EP1564679A2 (en) | Data access in a short-range wireless communication network | |
US20070061886A1 (en) | Digital rights management | |
US8942672B2 (en) | Mobile integrated distribution and transaction system and method for NFC services, and a mobile electronic device thereof | |
US20060085517A1 (en) | Download user agent plug-in for facilitating over-the-air downloading of media objects | |
KR101082628B1 (en) | Firmware upgrade system of audio/video/navigation(avn) system for vehicle using bluetooth mobile communication terminal and the method | |
JP2007528064A (en) | Running unverified programs in a wireless device operating environment | |
KR20050083561A (en) | Triggering event processing | |
KR20040030094A (en) | System and method for licensing applications on wireless devices over a wireless network | |
KR100809395B1 (en) | Method for remote control and apparatus thereof | |
JP2014503926A (en) | Apparatus and method for providing automatic application installation function in digital device | |
KR100646359B1 (en) | Method and system for performing code signing for application by using mobile communication terminal | |
KR100963789B1 (en) | Privacy protction and trace system of mobile terminal | |
US7606643B2 (en) | Technique for providing management of a motor vehicle information system | |
EP1716688A1 (en) | Registering an application program of an information device | |
CN112463199A (en) | System upgrading method and terminal | |
KR20060039974A (en) | Method and apparatus for billing for usage of contents | |
JP3887176B2 (en) | Relay device, communication control method, program, and recording medium | |
KR100781693B1 (en) | Method for updating firmware of personal portable device and system of enabling the method | |
CN106874746B (en) | Application program calling method and device and mobile terminal | |
EP1892620B1 (en) | Auditing application activities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20060503 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20070206 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20071117 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230520 |