WO2009106858A1 - System and method for downloading a software application - Google Patents

System and method for downloading a software application Download PDF

Info

Publication number
WO2009106858A1
WO2009106858A1 PCT/GB2009/000577 GB2009000577W WO2009106858A1 WO 2009106858 A1 WO2009106858 A1 WO 2009106858A1 GB 2009000577 W GB2009000577 W GB 2009000577W WO 2009106858 A1 WO2009106858 A1 WO 2009106858A1
Authority
WO
WIPO (PCT)
Prior art keywords
version
application
downloaded
versions
download
Prior art date
Application number
PCT/GB2009/000577
Other languages
French (fr)
Inventor
Michael Maguire
Original Assignee
Blue Whale Systems Limited
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 Blue Whale Systems Limited filed Critical Blue Whale Systems Limited
Publication of WO2009106858A1 publication Critical patent/WO2009106858A1/en

Links

Classifications

    • 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 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Definitions

  • the invention to which this application relates is to a system and method for use in the determination of the capabilities of an electronic device such as , for example, a mobile telephone.
  • the system and method are directed towards providing an improved means of allowing software applications which are provided on the phone to be rendered operable
  • the device will have a form of check system which will only allow software applications to be performed once the same has effectively been approved by the check system.
  • One form of check is to require that the software applications are "signed” which means that the software supplier includes a digital signature which certifies that the content of the application has not been tampered with. This signature is then downloaded along with the application software to the device and the "signature " is looked for and checked before die application can be run.
  • a further stage of this check process can be the requirement for the supplier's digital signature to be verified by the addition of a signature provided by a Root Certification Authority (RCA).
  • RCA Root Certification Authority
  • Verisign Ltd a trusted company which -will certify that the software application supplier is authentic. They will provide this certification on the basis of their own checks, such as by checking entries at Companies House, phone number directory lookups, and web site address DNS registry checks.
  • Root Certification Authority certificates are pre- installed onto the device's memory by the manufacturer of the device prior to purchase of the same. These installed certificates can then be referred to by the device to confirm the authenticity of a software application supplier, and hence the software application itself, when the application is subsequently downloaded.
  • This code signing check system is widely used and in certain cases can provide customers with the assurance that the software application they have downloaded onto their device will operate and will not adversely affect or damage the device.
  • the application is delivered to the phone in 2 parts, a JAD (Java Application Descriptor) as well as a JAR (Java Archive).
  • JAD Java Application Descriptor
  • JAR Java Archive
  • the JAD is not present then the JAR downloaded Authentication cannot be performed, and, while the JAR can be installed, the MIDlet suite application is treated as untrusted which may mean that repeated permission requests are made.
  • Java MIDP Java MIDP
  • Java MIDP Java MIDP
  • Java MIDP Java MIDP
  • Java MIDP Java MIDP functionality
  • additional features and functionality which may optionally be supported on some devices.
  • Java features are referred to hereonin as "Java Specification Requests" (JSR's).
  • JSR's Java Specification Requests
  • the software application which is being downloaded is not specific to particular devices and if a reference is included in the software application to a specific JSR feature or class which isn't on the device downloading the application, the Java Virtual Machine installed on that device will not recognise the reference and fail verification and prevent the downloading of the application. This therefore means that those benefits to the device's functionality which may have been improved by other features of the software application cannot be obtained as the software application cannot be downloaded at all.
  • An aim of the present invention is therefore to provide a system and method which allows the provision of software applications to an electronic device to be achieved in a more manageable manner , allowing greater access to use of the applications while at the same time ensuring that the user can use the device with the downloaded application confident of the application being suited to their requirements.
  • a system for providing a software application to an electronic device for use thereon said system including a memory in which are stored data for a plurality of versions of said application, or at least versions of parts thereof, at a location remote from the device and a communication means to allow said application data to be downloaded to the device and wherein control means are provided to allow the sequential downloading of at least two of said versions of the application to allow a version of the application to be identified as better suited for the said device.
  • the best suited version is identified with reference to one or more operating parameters of the device and/or application.
  • the system therefore allows the automatic identification and installation of the application on the user's device, without requiring user intervention once the downloading procedure is commenced.
  • the user can be asked to confirm to receive the next version whilst retaining the previous version on the device, at least temporarily.
  • each version of the application has an identification code, with in one embodiment, the original or most basic version having a lowest number identification code, which increases thereafter for successive versions.
  • the device includes a memory, preferably a non-volatile memory which survives application and phone restarts, in which data is held indicating whether or not a particular version of the application was able to download onto the device successfully. If so, data is generated to indicate that the device is to perform a platform request for the next version (e.g. version 2) to be downloaded from the remote location.
  • the control means are provided on the device
  • the user is asked to answer “Yes” to "Keep existing data” on update and asked to start the application again as soon as the download completes. In some instances this may happen automatically. In this way the device will store a record of whether or not the start of the new version of the application was successful or not.
  • a method for the downloading of a software application for use on an electronic device comprising the steps of providing a plurality of versions of the application, or at least versions of parts thereof, sequentially transmitting at least two of the versions to the device and then determining which of the transmitted versions is better suited for use on that device and selecting to subsequendy utilise the identified version of the application with the device.
  • the most basic version of the application is initially downloaded to the device and stored thereon. If the download is successful, a second version of the application is transmitted and if that is successful that version is maintained on the device and so on with successive versions until the best version which is supported by the device can be identified and then used, with the remaining versions deleted.
  • the versions differ with reference to predesignated parameters. In one embodiment the difference is with respect to "signing" and/or authentication, in that at least one version is unsigned and one version is signed and/ or at least one version is not authenticated and one version is.
  • the versions differ with regard to a parameter in terms of technical and/ or operating features provided in the application.
  • the versions differ with respect to any or any combination of parameters including any or any combination of whether or not the version is signed, whether or not the version is authenticated and/or technical features provided in the application.
  • the method includes the step of using a capability explorer programme that is downloaded and run on the device in advance of the downloading of said versions of the application and, on the basis of the results obtained from said programme, selecting the sequence in which the application versions are to be downloaded.
  • sequence of version download is dependent upon the results obtained from the previous version download. In that way the sequence of version downloads can be selected so as to be specific to the particular device operating characteristics.
  • the user of the telephone has decided that they would like to purchase and download a particular software application from a third party supplier.
  • the third party supplier would not be aware of the version to send to the user and therefore the application which they supply may not work at all, or may not work correctly on the user's device for the reasons explained previously.
  • these problems can be avoided or at least minimised.
  • the supplier upon receiving a request from a user for the particular software application, the supplier will identify the application software and a first version 1.0 of the same from their database. This version is downloaded to the users telephone and stored in flash memory in the same. If the version downloads successfully that version is maintained in memory and a second version of the application such as that having the identification code CLDC 1.1, MIDP 2.0 is downloaded. If that download succeeds, then when the user starts the MIDlet of that version, the application control means looks at the flash memory of the device to see what parts of the application worked and what parts were attempted.
  • a version 4 is downloaded which could for example be a signed authenticated version of the MIDP 2.0 application. If version 2 was not supported previously then a version 3 is downloaded which is a signed authenticated version of the version 1.
  • the new version works in either scenario in that when the application starts again it can be seen from looking at the flash memory of the device that the attempt to upgrade succeeded, it can be determined that the telephone trusts the Root Certification Authority for the supplier signature as both of these new versions were signed and authenticated. .
  • the new version doesn't work in either scenario, in that the version used when the application is next started is the previous version, then it is known that the Root Certification Authority isn't present in the telephone.
  • a further Version (X) may be downloaded in which a different certifying authority has been used in order to ascertain whether that authority would be accepted by the telephone.
  • a Version 30 of the application may support JSR 75, while a version 31 may support JSR 182, and so on with as many versions being used as appropriate to the particular application.
  • the sequential downloading of versions can be performed until an optimum version set is stored in flash memory of the device and which works with the telephone. For example, once the various versions have been downloaded, a particular version is selected for use such as for example, Version 200 which is "CLDC 1.1, MIDP 2.0, Signed by Verisign with JSR 75 support but no JSR 182 support".
  • the versions, and the particular sequence of downloading can be determined in a different order for different devices, depending on the feedback obtained for the attempted implementation of each new application version which is downloaded. For example, if a device doesn't support upgrading to an unsigned JAR after a signed JAR has been installed, then a range of signed JAR versions are downloaded in sequence to allow different JSR combination versions to be tested. Alternatively, if the upgrading to an unsigned JSR version was supported then a sequence of unsigned JSR versions may be sequentially downloaded.
  • an unsigned version of the application is downloaded to the device and the user is then given the option to download a signed version. If the signed version is accepted by the device then the application can be used on the device without any prompts or messages requesting approval being subsequently generated. If the signed version is not accepted then the unsigned version will be used on the device .
  • the present invention therefore provides significant advantage in being able to provide versions of software application for a device which are more likely to operate at least in a satisfactory manner. It also allows this to be achieved without the need to attempt to create and maintain a large database of device capabilities. It also allows new and unknown devices to be automatically and iteratively dealt with to provide a software application version which is optimal for that device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

The invention to which this application relates is to a system and method for use in the determination of the capabilities of an electronic device such as, for example, a mobile telephone. The system and method allow software applications which are downloaded to the device to be rendered operable in an effective manner. A first version of the application is downloaded and, if operation is acceptable, subsequent versions are sequentially downloaded until the optimal version of the application for operation with the particular device is provided on the device.

Description

System and Method for Downloading A software application
The invention to which this application relates is to a system and method for use in the determination of the capabilities of an electronic device such as , for example, a mobile telephone. In particular the system and method are directed towards providing an improved means of allowing software applications which are provided on the phone to be rendered operable
Typically, in electronic devices such as mobile telephones, there are a range of software applications that can be downloaded onto the device, to be used thereon. These applications can be required to allow certain functions to be performed and/or to allow particular services to be provided and/or allow the operation of the device to be better suited to the user's requirements. These applications can be provided by the device manufacturer or can be provided by a range of third parties from whom the owner of the device selects to provide the particular application software and then download the same to their phone.
Typically, the device will have a form of check system which will only allow software applications to be performed once the same has effectively been approved by the check system.
One form of check is to require that the software applications are "signed" which means that the software supplier includes a digital signature which certifies that the content of the application has not been tampered with. This signature is then downloaded along with the application software to the device and the "signature " is looked for and checked before die application can be run.
A further stage of this check process can be the requirement for the supplier's digital signature to be verified by the addition of a signature provided by a Root Certification Authority (RCA). This is an officially recognised trusted company (e.g. Verisign Ltd) which -will certify that the software application supplier is authentic. They will provide this certification on the basis of their own checks, such as by checking entries at Companies House, phone number directory lookups, and web site address DNS registry checks.
Typically the selected Root Certification Authority certificates are pre- installed onto the device's memory by the manufacturer of the device prior to purchase of the same. These installed certificates can then be referred to by the device to confirm the authenticity of a software application supplier, and hence the software application itself, when the application is subsequently downloaded.
This code signing check system is widely used and in certain cases can provide customers with the assurance that the software application they have downloaded onto their device will operate and will not adversely affect or damage the device. In one example of use, in the case of a Java MIDP software application, the application is delivered to the phone in 2 parts, a JAD (Java Application Descriptor) as well as a JAR (Java Archive). In this case the Java application Descriptor is signed by adding the digital signature to the JAD file.
If a software application is downloaded which does not have the signed authenticity, the user of the device will then have to contend with relatively frequent requests generated by their device which seek permission for the unsigned software application to perform certain actions. This can significantly slow down, or stop the performance of the software application and the device itself and can therefore quickly become frustrating for the user of the device.
Even when the software application is downloaded with a .signature and authentication, problems can still be experienced, especially if the signed application is authenticated by a Root Certification Authority which is unknown by the device, i.e. the identity of the RCA was not installed in die memory of the device at the time of manufacture.
Conventionally the following scenarios can tiierefore arise when a download of a software application to a device is performed.
If the JAD is not present then the JAR downloaded Authentication cannot be performed, and, while the JAR can be installed, the MIDlet suite application is treated as untrusted which may mean that repeated permission requests are made.
If the JAD is present but the JAR is unsigned then Authentication cannot be performed, and while the JAR may be installed the MIDlet suite application is treated as untrusted.
If the JAR is signed but the RCA identity is not present in the memory of the device then no validation can be performed by the device and the JAR installation is not allowed
It will therefore be appreciated that if a supplier signs their software application with a Root Certification Authority signature which is not preinstalled in the device memory, a signed JAR application download to the device has less chance of being accepted by the device than an unsigned software application as the signed unauthenticated application won't be accepted to load or run at all.
Another problem which is experienced is that in many cases the full functionality and features of the device cannot be fully utilised due to problems with the device authentication system conventionally used. In the case of Java MIDP applications, there is a core set of Java MIDP functionality which applications can rely upon, as well as additional features and functionality which may optionally be supported on some devices. These optional Java features are referred to hereonin as "Java Specification Requests" (JSR's). However in many cases the software application which is being downloaded is not specific to particular devices and if a reference is included in the software application to a specific JSR feature or class which isn't on the device downloading the application, the Java Virtual Machine installed on that device will not recognise the reference and fail verification and prevent the downloading of the application. This therefore means that those benefits to the device's functionality which may have been improved by other features of the software application cannot be obtained as the software application cannot be downloaded at all.
In practice this means that the suppliers of software downloads are often forced into a position of producing a lowest common denominator Java software application unless they can be entirely certain that a device will support a certain capability.
Conventionally, attempts have been made to overcome these problems by the supplier of the software applications, creating their own updated database of device capabilities and making these available to users of the device and then attempting to provide the user with the "correct" version of the software for each customer's device. However this is time- consuming and error-prone and is not satisfactory.
An aim of the present invention is therefore to provide a system and method which allows the provision of software applications to an electronic device to be achieved in a more manageable manner , allowing greater access to use of the applications while at the same time ensuring that the user can use the device with the downloaded application confident of the application being suited to their requirements.
In a first aspect of the invention there is provided a system for providing a software application to an electronic device for use thereon, said system including a memory in which are stored data for a plurality of versions of said application, or at least versions of parts thereof, at a location remote from the device and a communication means to allow said application data to be downloaded to the device and wherein control means are provided to allow the sequential downloading of at least two of said versions of the application to allow a version of the application to be identified as better suited for the said device.
Typically once the best suited version is identified, that version is provided to be used on the device.
In one embodiment the best suited version is identified with reference to one or more operating parameters of the device and/or application.
Typically the system therefore allows the automatic identification and installation of the application on the user's device, without requiring user intervention once the downloading procedure is commenced. Alternatively, once a first version of the application has successfully downloaded, the user can be asked to confirm to receive the next version whilst retaining the previous version on the device, at least temporarily.
Typically each version of the application has an identification code, with in one embodiment, the original or most basic version having a lowest number identification code, which increases thereafter for successive versions.
In one embodiment the device includes a memory, preferably a non-volatile memory which survives application and phone restarts, in which data is held indicating whether or not a particular version of the application was able to download onto the device successfully. If so, data is generated to indicate that the device is to perform a platform request for the next version (e.g. version 2) to be downloaded from the remote location. In one embodiment the control means are provided on the device
Typically the user is asked to answer "Yes" to "Keep existing data" on update and asked to start the application again as soon as the download completes. In some instances this may happen automatically. In this way the device will store a record of whether or not the start of the new version of the application was successful or not.
In a further aspect of the invention there is provided a method for the downloading of a software application for use on an electronic device, said method comprising the steps of providing a plurality of versions of the application, or at least versions of parts thereof, sequentially transmitting at least two of the versions to the device and then determining which of the transmitted versions is better suited for use on that device and selecting to subsequendy utilise the identified version of the application with the device.
In one embodiment the most basic version of the application is initially downloaded to the device and stored thereon. If the download is successful, a second version of the application is transmitted and if that is successful that version is maintained on the device and so on with successive versions until the best version which is supported by the device can be identified and then used, with the remaining versions deleted.
In one embodiment the versions differ with reference to predesignated parameters. In one embodiment the difference is with respect to "signing" and/or authentication, in that at least one version is unsigned and one version is signed and/ or at least one version is not authenticated and one version is.
In one embodiment the versions differ with regard to a parameter in terms of technical and/ or operating features provided in the application.
Typically the versions differ with respect to any or any combination of parameters including any or any combination of whether or not the version is signed, whether or not the version is authenticated and/or technical features provided in the application.
In one embodiment the method includes the step of using a capability explorer programme that is downloaded and run on the device in advance of the downloading of said versions of the application and, on the basis of the results obtained from said programme, selecting the sequence in which the application versions are to be downloaded.
Typically the sequence of version download is dependent upon the results obtained from the previous version download. In that way the sequence of version downloads can be selected so as to be specific to the particular device operating characteristics.
A specific embodiment of the invention is now described with reference to use of the method and system in relation to an electronic device in the form of a mobile telephone.
The user of the telephone has decided that they would like to purchase and download a particular software application from a third party supplier. Conventionally the third party supplier would not be aware of the version to send to the user and therefore the application which they supply may not work at all, or may not work correctly on the user's device for the reasons explained previously. However in accordance with the present invention these problems can be avoided or at least minimised.
In accordance with the invention, upon receiving a request from a user for the particular software application, the supplier will identify the application software and a first version 1.0 of the same from their database. This version is downloaded to the users telephone and stored in flash memory in the same. If the version downloads successfully that version is maintained in memory and a second version of the application such as that having the identification code CLDC 1.1, MIDP 2.0 is downloaded. If that download succeeds, then when the user starts the MIDlet of that version, the application control means looks at the flash memory of the device to see what parts of the application worked and what parts were attempted.
If at this stage the user starts the application on their phone and the second version of the application starts then it can be seen that the phone supports that version. If the application starts but it is still Version 1, and it is known from consulting the flash memory that the device tried to perform the update to Version 2, it can be identified that version MIDP 2.0 is not supported by the telephone.
At this stage then, if version 2 was supported, a version 4 is downloaded which could for example be a signed authenticated version of the MIDP 2.0 application. If version 2 was not supported previously then a version 3 is downloaded which is a signed authenticated version of the version 1.
If the new version works in either scenario in that when the application starts again it can be seen from looking at the flash memory of the device that the attempt to upgrade succeeded, it can be determined that the telephone trusts the Root Certification Authority for the supplier signature as both of these new versions were signed and authenticated. .
If the new version doesn't work in either scenario, in that the version used when the application is next started is the previous version, then it is known that the Root Certification Authority isn't present in the telephone. In this case a further Version (X) may be downloaded in which a different certifying authority has been used in order to ascertain whether that authority would be accepted by the telephone.
In this example, when it has been determined which types of signature and authentication and CLDC and MIDP is supported by the telephone it is possible to start to explore which JSR's are supported by the telephone by transmitting subsequent versions of the application with different JSR's included therein and, for each version, performing the same check of the flash memory to gauge the success or otherwise of using the most recently downloaded version on the telephone.
For example, a Version 30 of the application may support JSR 75, while a version 31 may support JSR 182, and so on with as many versions being used as appropriate to the particular application. The sequential downloading of versions can be performed until an optimum version set is stored in flash memory of the device and which works with the telephone. For example, once the various versions have been downloaded, a particular version is selected for use such as for example, Version 200 which is "CLDC 1.1, MIDP 2.0, Signed by Verisign with JSR 75 support but no JSR 182 support".
It should also be appreciated that the versions, and the particular sequence of downloading can be determined in a different order for different devices, depending on the feedback obtained for the attempted implementation of each new application version which is downloaded. For example, if a device doesn't support upgrading to an unsigned JAR after a signed JAR has been installed, then a range of signed JAR versions are downloaded in sequence to allow different JSR combination versions to be tested. Alternatively, if the upgrading to an unsigned JSR version was supported then a sequence of unsigned JSR versions may be sequentially downloaded.
In one form of the invention, an unsigned version of the application is downloaded to the device and the user is then given the option to download a signed version. If the signed version is accepted by the device then the application can be used on the device without any prompts or messages requesting approval being subsequently generated. If the signed version is not accepted then the unsigned version will be used on the device .
The present invention therefore provides significant advantage in being able to provide versions of software application for a device which are more likely to operate at least in a satisfactory manner. It also allows this to be achieved without the need to attempt to create and maintain a large database of device capabilities. It also allows new and unknown devices to be automatically and iteratively dealt with to provide a software application version which is optimal for that device.

Claims

Claims
1. A system for providing a software application to an electronic device for use thereon, said system including a memory in which is stored data for a plurality of versions of said application, or at least parts thereof, at a location remote from the device and a communication means to allow said application data to be downloaded to the device and wherein control means are provided to allow the sequential downloading of at least two of said versions to allow one of said versions to be selected to be used by the said device.
2. A system according to claim 1 wherein the selected version is identified with reference to one or more operating parameters of the device and/or application.
3. A system according to claim 1 wherein the system allows the automatic identification and installation of the selected version of the application on the user's device, without requiring user intervention once the downloading procedure is commenced.
4. A system according to claim 1 wherein once a first version of the application has successfully downloaded, the user is asked to confirm in order to receive the next version whilst retaining the previous version on the device, at least temporarily.
5. A system according to claim 1 wherein each version of the application has an identification code.
6. A system according to claim 5 wherein the original or most basic version has a lowest number identification code, which increases thereafter for successive versions.
7. A system according to claim 1 wherein the device includes a memory in which data is held indicating whether or not a particular version of the application was able to download onto the device successfully.
8. A system according to claim 7 wherein if the version downloaded is successful, data is generated to indicate that the device is to perform a platform request for the next version to be downloaded.
9 A system according to claim 1 wherein the control means are provided on the device.
10. A method for the downloading of a software application for use on an electronic device, said method comprising the steps of providing a plurality of versions of at least part of the application, sequentially transmitting at least two of the versions, identifying a downloaded version for use on that device and selecting to subsequently utilise the identified version of the application with the device.
11. A method according to claim 10 wherein the most basic version of the application is initially downloaded to the device and stored thereon, at least temporarily.
12. A method according to claim 1 1 wherein if the version download is successful, a further version of the application is transmitted and if that download is successful that version is maintained on the device and so on with successive versions until the best version which is supported by the device is identified and then used.
13. A method according to claim 12 wherein the best version is identified when the subsequent version download fails, and the last version to be successfully downloaded is identified and used.
14. A method according to claim 10 wherein the versions differ with reference to predesignated parameters.
15. A method according to claim 14 wherein the difference is with respect to "signing" and/or authentication, in that at least one version is unsigned and one version is signed and/ or at least one version is not authenticated and one version is.
16. A method according to claim 14 wherein the versions differ with regard to a parameter in terms of technical and/or operating features provided in the application.
17. A method according to claim 10 wherein the method includes the step of using a capability explorer programme that is downloaded and run on the device in advance of the downloading of said versions of the application and, on the basis of the results obtained from said programme, the sequence in which the application versions are to be downloaded is selected.
18. A method according to claim 10 wherein the sequence of version download is dependent upon the results obtained from the device for the previous version downloaded.
PCT/GB2009/000577 2008-02-28 2009-02-27 System and method for downloading a software application WO2009106858A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0803629.5 2008-02-28
GB0803629A GB0803629D0 (en) 2008-02-28 2008-02-28 System and method for downloading a software application

Publications (1)

Publication Number Publication Date
WO2009106858A1 true WO2009106858A1 (en) 2009-09-03

Family

ID=39284693

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2009/000577 WO2009106858A1 (en) 2008-02-28 2009-02-27 System and method for downloading a software application

Country Status (2)

Country Link
GB (1) GB0803629D0 (en)
WO (1) WO2009106858A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015200480A1 (en) * 2014-06-24 2015-12-30 Google Technology Holdings LLC Device to device content upgrades

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378128B1 (en) * 1998-10-08 2002-04-23 Microsoft Corporation System and method for dynamically modifying an install-set
WO2003054695A1 (en) * 2001-12-12 2003-07-03 Valve Corporation Method and system for upgrading and rolling back versions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378128B1 (en) * 1998-10-08 2002-04-23 Microsoft Corporation System and method for dynamically modifying an install-set
WO2003054695A1 (en) * 2001-12-12 2003-07-03 Valve Corporation Method and system for upgrading and rolling back versions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015200480A1 (en) * 2014-06-24 2015-12-30 Google Technology Holdings LLC Device to device content upgrades
US9621422B2 (en) 2014-06-24 2017-04-11 Google Technology Holdings LLC Device to device content upgrades

Also Published As

Publication number Publication date
GB0803629D0 (en) 2008-04-02

Similar Documents

Publication Publication Date Title
CN101194461B (en) Method and apparatus for certificate roll-over
JP4584707B2 (en) Method of installing an application on a device, device and smart card for the device
RU2391796C2 (en) Limited access to functional sets of mobile terminal
CN102830992B (en) Plug-in loading method and system
US9055427B2 (en) Updating configuration parameters in a mobile terminal
CA2923740C (en) Software code signing system and method
US7900048B2 (en) Method for loading an application in a device, device and smart card therefor
EP1712992A1 (en) Updating of data instructions
US11051162B2 (en) Method for anonymously identifying a security module
CN103577206A (en) Method and device for installing application software
CN109417545A (en) For downloading the technology of network insertion profile
CN109196891B (en) Method, terminal and server for managing subscription data set
US20110145840A1 (en) Method and device for permitting secure use of program modules
CN103559430B (en) application account management method and device based on Android system
CN111880781A (en) Generation method, device, equipment and storage medium of RPM (revolution speed limit) installation package
CN116707758A (en) Authentication method, equipment and server of trusted computing equipment
WO2009106858A1 (en) System and method for downloading a software application
CN112732676A (en) Data migration method, device, equipment and storage medium based on block chain
US8191150B2 (en) Method and arrangement relating to a communication device
US20200151312A1 (en) Method for controlling access to a security module
KR20030039665A (en) Method and Mobile Communication Terminal for Limiting Authority to use Application Programming Interface of Contents Application Program for Mobile Communication Device
US20220027455A1 (en) Authorization for the loading of an application onto a security element
CN117708828A (en) Software source management and control method and device for multiple operating systems and electronic equipment
CN113868559A (en) Application version downloading method and system
CN117834312A (en) Network access method, network access device, and computer-readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09714950

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC DATED 15.03.11

122 Ep: pct application non-entry in european phase

Ref document number: 09714950

Country of ref document: EP

Kind code of ref document: A1