US20040098715A1 - Over the air mobile device software management - Google Patents

Over the air mobile device software management Download PDF

Info

Publication number
US20040098715A1
US20040098715A1 US10/652,352 US65235203A US2004098715A1 US 20040098715 A1 US20040098715 A1 US 20040098715A1 US 65235203 A US65235203 A US 65235203A US 2004098715 A1 US2004098715 A1 US 2004098715A1
Authority
US
United States
Prior art keywords
patch
software
server
wireless device
dsp
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.)
Abandoned
Application number
US10/652,352
Inventor
Parixit Aghera
Alan Bok
Suresh Chintada
Sudharshana Rao
Antonella Rinaldi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Priority to US10/652,352 priority Critical patent/US20040098715A1/en
Assigned to MOTOROLA, INC. reassignment MOTOROLA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AGHERA, PARIXIT, RINALDI, ANTONELLA, BOK, ALAN B., CHINATADA, SURESH K., RAO, SUDHARSHANA
Publication of US20040098715A1 publication Critical patent/US20040098715A1/en
Assigned to Motorola Mobility, Inc reassignment Motorola Mobility, Inc ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA, INC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Definitions

  • the present invention relates generally to wireless communication systems, and more particularly, to a method of remotely updating the operating software or feature set of a wireless electronic device by transmitting the update over the air (OTA).
  • OTA over the air
  • Mobile device software management includes operations such as application provisioning, application management and software upgrades.
  • Software upgrades are used for adding new functionality, enhancing existing features, adding new features, and fixing bugs.
  • Providing software upgrades leads to a need to manage the software in an innovative way to contain costs and sustain revenues.
  • the present invention provides a solution to the difficulty of maintaining and upgrading electronic device software.
  • FIG. 1 is a simplified diagram showing elements involved in OTA (Over The Air) software management
  • FIG. 2 shows an architecture of a solution for OTA Mobile Device Software Management in accordance with an embodiment of the present invention
  • FIG. 3 shows an example of a package exchange between a Management Server and a Management Client for a DSP software upgrade in accordance with an embodiment of the present invention
  • FIG. 4 shows a patch profile as a stack in a J2ME environment in accordance with an embodiment of the present invention
  • FIG. 5 shows a patch packet format in accordance with an embodiment of the present invention
  • FIG. 6 illustrates the flow for a DSP software upgrade in accordance with an embodiment of the present invention
  • FIG. 7 shows an architecture for OTA Mobile Device Software Management in accordance with an embodiment of the present invention
  • FIG. 8 shows an OTA ROM software patching process in accordance with an embodiment of the present invention
  • FIG. 9 shows memory blocks reserved for storing a DSP Patch in a mobile electronic device in accordance with an embodiment of the present invention
  • FIG. 10 shows a Patch Version Table and DSP Patch Data of the DSP Patch Blocks in accordance with an embodiment of the present invention
  • FIG. 11 is a high-level flow diagram of interaction between an MCU and a DSP during DSP Patch loading, with the commands being sent by a DSP patch loader, in accordance with an embodiment of the present invention
  • FIG. 12 is a Patch Download Component Diagram in accordance with an embodiment of the present invention.
  • FIG. 13 is a flowchart of a DSP Patch Installation Algorithm in accordance with an embodiment of the present invention.
  • FIGS. 14 - 17 are flowcharts of the state transitions of the DSP Patch Installation Algorithm of FIG. 13.
  • mobile electronic device and wireless device are used interchangeably to refer to electronic devices that send and receive information using RF communications methods. Such devices include, for example, cellular telephones, portable computers, and other hand-held devices like personal digital assistants (PDAs).
  • PDAs personal digital assistants
  • the present invention provides a client based software method for upgrading or patching ROM software of a processor of a mobile electronic device by OTA downloading patch software to the device and then installing the patch software on the device in a secure manner.
  • a patch server hosts the patch software.
  • the patch software is downloaded by a patch agent application running on the mobile device.
  • the patch server initiates the patch download by sending a notification message to the mobile device.
  • the notification message invokes the patch agent application on the mobile device.
  • the patch agent application sends negotiation parameter values to the server and the server determines whether the mobile device requires a particular patch and if the device has enough resources to download and install the patch.
  • the patch agent carries out an installation process, which replaces an existing patch with a new patch in a non-volatile memory of the mobile device. Once started, the patch installation proceeds automatically.
  • the patch installation operates in a fail-safe manner that prevents a partial or corrupt installation from rendering the system inoperable (i.e., crashing the software on the mobile device).
  • the present invention also provides a system for OTA downloading a patch program to a mobile device including a server having software for downloading a software patch and initiating installation of the software patch on the mobile device, a patch agent on a mobile device for installing the downloaded patch software on the mobile device in a fail safe and error-recoverable manner.
  • a patch server for over-the-air (OTA) updating of processor software of a client, wireless electronic device includes a patch server application that communicates with client devices via an OTA interface, a patch program database in communication with the patch server application, and a patch data generator in communication with the patch program database.
  • OTA over-the-air
  • the patch server application initiates a patch download to a client device by sending a patch notification message to the client device that initiates a patch agent application on the client device.
  • the patch program database stores a plurality of downloadable patch programs for downloading to the client devices.
  • the patch data generator generates the downloadable patch programs by encoding predetermined patch data.
  • a patch server 10 communicates with a plurality of wireless electronic devices 12 (one of which is shown) by way of a wireless network 14 .
  • wireless networks include one or more base stations, such as a base station 16 shown in the drawing.
  • the patch server 10 can be any computer that is connected to a wireless network, such as the network 14 , and can transmit and receive messages by way of the network.
  • the wireless devices 12 can be any type of wireless device, such as a mobile communication device, e.g., a cell phone, a personal digital assistant, etc.
  • the wireless device 12 has a processor, such as a digital signal processor (DSP) and associated software that allows the device 12 to perform predetermined functions.
  • DSP digital signal processor
  • the patch server 10 transmits a patch, which may include bug fixes, feature enhancements, new features, etc., to the wireless device 12 by way of the network 14 .
  • FIG. 2 is a schematic block diagram of the software architectures of the patch server 10 and the wireless device 12 .
  • the patch server 10 and the wireless device 12 preferably communicate by way of a predetermined protocol.
  • the patch server 10 and the wireless device 12 communicate using the SyncML protocol, as indicated at 18 .
  • the SyncML protocol is a data synchronization and device management open standard that drives data mobility by establishing a common language for communications between devices, applications and networks.
  • the SyncML standard is sponsored by a number of well-known companies, including Motorola Inc., the assignee of the present invention, and is supported leading wireless companies.
  • both the patch server 10 and the wireless device 12 include respective SyncML profiles 20 and 22 .
  • the SyncML profiles 20 and 22 implement the SyncML Management Protocol.
  • the SyncML profile implementation of client and server interfaces according to the SyncML DM (Device Management) protocol.
  • the SyncML profile 20 generates SyncML messages to be sent to the client (i.e., the wireless device 12 ) and parses received SyncML messages.
  • the SyncML profile 22 acts in the same manner.
  • the SyncML profile 22 defines sets of APIs and features to provide wireless device applications such as callbacks, GUI interface, and management objects interface across the network.
  • the patch server 10 and the wireless device 12 have a client-server relationship.
  • the patch server 10 includes a server application 24 that provides an operator interface, such as a web-based Graphical User interface (GUI), that allows an operator to set a management operation for a specific device. For example, an operator can select a particular software version of an application to be distributed to a particular type of devices. As will be discussed in more detail below, the server application 24 then initiates the software upgrade or another management operation by sending a notification message to the wireless device 12 .
  • GUI Graphical User interface
  • the server application 24 can be implemented as a Java servlet. However, as will be understood by those of skill in the art, the server application can be implemented in other HTTP (Hypertext Transport Protocol) environments like CGI, ASP etc.
  • the patch server 10 includes a server profile 26 that provides access to appropriate data stored in a management information base (MIB) 28 during a SyncML management session with a wireless device 12 .
  • the patch server 10 and the wireless device 12 further communicate via the HTTP protocol, as evidenced by line 30 .
  • the patch server 10 and the wireless device 12 include respective HTTP modules 32 and 34 .
  • the HTTP transport protocol is a preferred transport protocol, it is possible to use a different transport protocol for completing the communication between the client 12 and server 10 .
  • the MIB 28 contains information for each type of wireless device for which the patch server manages software updates.
  • the MIB 28 also stores a plurality of different software patches that the various wireless devices will download.
  • the MIB 28 is in communication with a patch generator 36 .
  • the patch generator 36 generates the downloadable patch programs by encoding predetermined patch data.
  • the predetermined patch data includes patch software and its corresponding license. Both the patch software and its corresponding license are stored in the MIB 28 along with other predetermined patch data encoded by the patch generator 36 , such as a description of the patch, patch program version number, associated wireless device model identifier, a ROM version number, a processor identification number and resource requirements for installation of the patch on the wireless device 12 .
  • the patch generator 36 also preferably assigns a unique identifier to each new patch generated, such as the patch program size or a checksum.
  • the wireless device 12 includes a client application 38 .
  • the client application 38 is a MIDlet application that presents a user interface to the wireless device user and accepts user input as required.
  • the client application 38 is needed to initialize the SyncML profile 22 for exchanging SyncML packages with the patch server 10 .
  • the wireless device 12 also includes a TM profile 40 that executes commands specified by the patch server 10 . Some command execution may require invoking native applications or methods, which is accomplished by using JNI (Java Native Interface).
  • the TM profile 40 uses Patch Profile Services for software patch storage and software patch installation services.
  • the TM profile 40 is initialized by the client application 38 for executing a device management command specified by the patch server 10 .
  • the wireless device 12 includes a patch profile 42 .
  • the patch profile 42 provides those services required for a software upgrade.
  • the patch profile 42 is designed in a generic way so that it can be extended easily for different software patch types.
  • the patch profile 42 maintains version information of all upgradeable software applications on the wireless device 12 .
  • the patch profile 42 also keeps track of available resources for download and installation of a new patch.
  • the version and resource information is sent to the patch server 10 during SyncML message exchange, as described below, so that the patch server 10 will be able to determine whether or not the wireless device 12 requires a certain patch.
  • the patch profile 42 stores downloaded software patches in a Flash or persistent memory 44 of the wireless device 12 .
  • the patch profile 42 is able to manage storage of multiple patches. Further, the patch profile 42 verifies the authenticity and integrity of a downloaded patch by using the patch license downloaded along with the patch. If confidentiality of the patch is important for a wireless device manufacturer, the patch can be encrypted and then the encryption information can be provided in the license.
  • the Flash memory 44 is re-programmable persistent memory.
  • the wireless device configuration parameters and upgradeable application software are stored in the Flash memory 44 .
  • the TM profile 40 and patch profile 42 reprogram the flash memory 44 to set new configuration parameters and upgrade the device software.
  • the patch profile 42 ensures that a patch installation procedure proceeds automatically and is managed in a fail-safe manner that prevents partial or corrupt installation from crashing the system or otherwise rendering the wireless device inoperable. Since a software upgrade could include or be for one or more system critical components, any corruption during the software upgrade process may render the device 12 unusable. Once installation is started, the patch profile 42 ensures that the installation procedure is completed.
  • the mobile device 12 further includes a security library 46 .
  • the patch profile 42 uses the security library 46 for such verifications.
  • the patch profile 42 provides a Java wrapper around the security library 46 .
  • the patch profile 42 verifies the integrity and authenticity of a downloaded patch by passing the patch and the associated patch license to the security library 46 .
  • Support for confidentiality of the security library is optional.
  • the OTA software upgrade process of the present invention can be divided into three major functionalities, namely, Notification and Download Protocol for the patch, Storage and Installation of the patch on the wireless device 12 , and Generation and Storage of the patch on the patch server 10 .
  • the Notification and Download Protocol as discussed above, is implemented using common industry standards.
  • the presently preferred embodiment uses SyncML for this functionality.
  • the SyncML specifications are implemented in J2SE on the patch server side and J2ME on the client (wireless device 12 ) side. More specifically, MIDP (Mobile Information Device Profile) is used on the client side, since MIDP is a widely available implementation for J2ME based devices.
  • the Storage and Installation of the patch on the wireless device 12 is platform dependant functionality.
  • J2ME is used at client side for defining Java APIs for this functionality.
  • the Generation and Storage of the patch on the patch server 10 does not use a generic structure for the patch because the generation of the patch is specific to the wireless device type to be updated.
  • the patch and its associated patch license are generated by the wireless device manufacturer and distributed to operators for hosting on the patch server 10 .
  • the setup phase 50 includes an exchange of packages (package0 and package1) between the server 10 and the device 12 .
  • Pakcage0 is required only when the server 10 initiates a management session.
  • the management session starts with package1.
  • the management phase has a number of protocol iterations. Protocol iteration means a package from client to server and a package from server to client.
  • the server 10 invokes an application on the device 12 by sending a SMS auto-launch message via SMS-C (package0).
  • the SMS auto-launch message is parsed by an SMS engine in the device 12 , which launches the client application.
  • Package1 which is transmitted from the device 12 to the server 10 , contains client authentication credentials and device information including DSP software version of the device 12 .
  • the patch server 10 determines whether or not the device 12 needs the available patch. Considerations are the current software version and the DSP or processor version of the device 12 . Another factor for consideration is any license agreement for certain devices. If it is determined by the patch server 10 that the device 12 should receive the patch, then the server 10 sends package2 to the device 12 .
  • Package2 includes the following information in a SyncML document, patch information (description of the patch), the patch itself, and a patch license. The information in package2 is then first stored on the device 12 and second installed on the device 12 . Once the installation is complete, the device 12 sends the results of the installation back to the server 10 in package3.
  • the server 10 In response to receiving the package3, the server 10 signals the device 12 to terminate the management session (i.e., terminate the patch agent operating on the device 12 ) via package4. It should be understood that a large sized patch might span multiple SyncML packages.
  • the SyncML Sync Protocol specifies how to handle large objects.
  • FIG. 6 is a diagram showing the packets exchanged for the case of the wireless device 12 or a user thereof requesting a patch from an operator managing the patch server 10 . This is in contrast to the case shown in FIG. 3 where the patch download is initiated by the server 10 .
  • a user contacts a customer care center, such as via a voice call, and informs the customer care representative or operator that the wireless device 12 has a problem, such as poor voice quality, at 60 .
  • the operator searches a database including known problems and solutions for the wireless device 12 and determines that a patch is available for improving the voice quality problem at 62 .
  • the operator then instructs the patch server 10 to provide the patch to the device 12 at 64 .
  • the patch server 10 sends an SMS message (package0) to the device 12 .
  • receipt of the package0 invokes a patch agent on the device 12 , as indicated at 68 .
  • the device 12 and the server 10 then exchange packages with the server 10 sending the patch to the device 12 , the device 12 installing the patch and then sending back to the server 10 the results of the patch installation.
  • the patch agent is exited and the device 12 is rebooted. With the patch installed, the user notices the improved voice quality, as indicated at 74 .
  • the patch profile 42 is shown as a stack in a J2ME environment.
  • the patch profile 42 is concerned with fail-safe installation of the downloaded patch, extensibility, and reusability.
  • installation of native software such as DSP software is a very platform dependant task.
  • the patch profile 42 is divided into two parts, Java APIs 76 and a native implementation 78 .
  • the patch profile Java APIs 76 is the platform independent part of patch profile, which exposes a set of APIs to the TM profile 40 and other applications.
  • the Java APIs 76 perform platform independent tasks such as storage management of the patch and its license.
  • the patch profile native implementation 78 is called via a Java Native Interface.
  • the Java APIs 76 are designed in a generic way so that they handle different types of patches without any changes in the exposed Patch Profile APIs.
  • the Java APIs 76 are LCC (Licensee Closed Class).
  • the patch profile native implementation 78 includes the native code required to install a particular type of patch and gather version and resource information for a particular type of patch installation, available memory space for the installation process and installation of the DSP patch.
  • the installation process includes error recovery routines that allow recovery of installation when an error occurs, like power failure or system crash.
  • the patch profile 42 also includes MIDP/CLDC APIs 80 , an OEM class library 82 , a Kvirtual machine (KVM) 84 , a native platform library 86 , and a hardware platform 88 .
  • the MIDP/CLDC APIs 80 are standard APIs available for MIDlet development.
  • the OEM Class Library 82 provides specific APIs required by a certain platform (i.e., functionality specific), but that are not included as part of the MIDP/CLDC APIs 80 .
  • the KVM 84 is a compact, portable Java virtual machine intended for small, resource-constrained devices such as cellular phones, pagers, personal organizers, mobile Internet devices, and so forth. All native functions accessed by Java code are part of the KVM 84 implementation.
  • the native platform library 86 includes APIs provided by OS system calls and native libraries.
  • the patch profile native implementation 78 uses the native libraries and OS system calls to perform installation specific tasks, such as flash programming routines for re-programming upgraded DSP software.
  • the hardware platform 88 is the device 12 hardware.
  • An example hardware platform 88 is the 280 i cellular telephone manufactured by Motorola Inc. of Schaumburg, Illinois.
  • FIG. 5 shows the format of a patch packet 90 .
  • the patch packet 90 includes a patch header 92 and a patch body 94 .
  • the patch header 90 gives the “type” information of the patch used by the patch profile 42 to call corresponding storing and installing functions.
  • the header 90 includes six byte fixed part and a variable part.
  • the fixed part includes a two-byte patch identifier, a one-byte patch type field, a two-byte patch size field, and a one-byte header size field.
  • the variable part can be used to hold a patch version identifier.
  • the patch server 10 includes a patch server application 100 , a patch program database 102 and a patch data generator 104 .
  • the wireless device 12 includes a patch agent application 106 , patching APIs 108 , a security API 110 , a first memory 112 , such as an EPROM, EEPROM, UV-EPROM, Flash, and the like, a patch loader 114 , and a second, processor accessible, memory 116 .
  • the patch server application 100 maintains storage of various DSP patches in the patch program database 102 and communicates with the patch agent application 106 for DSP patch upgrades.
  • the patch server application 100 can initiate a patch download session with the patch agent application 106 by sending a notification message to the patch agent application 106 , as previously discussed with reference to FIG. 3.
  • the notification message launches the patch agent application 106 on the wireless device 12 , which in turn starts the download session.
  • the patch server application 100 has to receive at least the following capability negotiation parameters from the patch agent application 106 : Mobile Device Model ID; Versions of currently installed patch on the mobile device for all processors on the mobile device; ROM software version being patched; and Free Storage Space available in the first memory 112 .
  • the above parameters are necessary for the patch server application 100 to check if the wireless device 12 needs a software patch, if it is able to upgrade the wireless device 12 (e.g. the database 102 contains new patches for the device 12 ) and if the resources available on the device 12 allow the execution of a patch procedure (e.g. enough memory resources are available at the moment).
  • the patch server application 100 can be a web-server application or any other server application, which can be accessed by the patch agent application 106 of the mobile device 12 in a given mobile network.
  • the patch server application 100 can be an independent application or a functionality of another server application.
  • the patch program database 102 is a database for different patch program releases. There is a unique patch ID associated with each patch stored in the database 102 . Several other parameters also are stored with a particular patch program release, including: ROM Version (version of the ROM to be patched by the patch program), Processor ID (Identifier for processor on a mobile device in case there are multiple processors that can be patched on a particular mobile device), and a License File.
  • the license file/certificate corresponds to the patch program so that the patch agent application 106 can verify authenticity and integrity of the patch program. If the patch program is encrypted due to a confidentiality requirement as specified by the license file, then the license file will contain cryptographic information to decrypt the patch program on the wireless device 12 . Advanced software/content distribution concepts like digital rights management (DRM) can also be used for security.
  • DRM digital rights management
  • the patch data generator 104 generates the patch data and the License file for the patch data.
  • the patch data generator 104 also performs required encoding of the patch data and the license file for network transmission.
  • the generated and transmitted patch data is a patch program converted into specific format so that the patch agent application 106 can load the patch into the wireless device processor's accessible memory along with following information: ROM version being patched, ID of processor to which the patch is being installed, Version of the patch program, and Size of the patch program. Where the processor can access the first memory 112 directly and can execute code from the memory 112 , the patch data is the patch program along with above information.
  • the patch agent application 106 resides on the wireless device 12 and communicates with the patch server 10 for downloading the patch data from the server 10 . Once the patch data is downloaded, the patch agent application 106 uses the patching APIs 108 to store the patch data on the device 12 and then install the patch program on the device 12 .
  • the patch agent application 106 can be an independent application or can be a functionality of some other application on the wireless device 12 .
  • the patching APIs 108 provide services to end user applications for storing the downloaded patch data and installing that patch on the mobile device 12 .
  • the patching APIs 108 manage storage of the patch on the device 12 and manage the installation process. Once in process, the patch installation process proceeds automatically.
  • the patching APIs 108 are implemented as a native library or as a Java library. Before installing the patch data on the wireless device 12 , it is important to verify the authenticity and integrity of the patch data to prevent corrupted or malicious code being installed on the device 12 .
  • the security APIs 110 provide services to other software components to perform these check operations. That is, the security APIs 110 check the authenticity and integrity of the downloaded patch data using the license file downloaded from the server along with the patch data. If the patch data is encrypted due to a confidentiality requirement, the license file contains the cryptographic information required to decrypt the patch program on the wireless device 12 . As discussed above, DRM may also be used.
  • the first memory 112 which may be an EPROM is persistent storage in the wireless device 12 where patch programs are stored persistently.
  • EPROM Electrically Erasable Programmable Read Only Memory (EEPROM), Ultraviolet Erasable Programmable ROM (UVEPROM), and flash memory etc.
  • the wireless device 12 also includes processor accessible memory 116 , which is the memory where the patch program is loaded for execution. If a processor can directly access the first memory 112 , the second memory 116 is not required.
  • the patch Loader 114 is the software component responsible for loading the patch data into RAM of the processor so that the processor can execute the patch programs instead of some specific code in the processor ROM.
  • the patch loader 114 may not be required in a system where the processor being patched can directly access the first memory 112 and can execute the patch programs from the first memory 112 , itself.
  • the patch loader 114 is implemented on the processor being patched and in an alternate embodiment, the patch loader 114 is implemented on another processor of the mobile device 12 .
  • FIG. 8 shows that the OTA ROM software patching is divided into four major phases, notification, download, installation and activation. Each of these phases is described below.
  • the notification phase occurs first. Whenever a new patch is available for a mobile device, the patch server application 100 invokes the patch agent application 106 on the wireless device 12 by sending a SMS or any other notification message supported by the mobile device 12 , which will auto-launch the patch agent application 106 .
  • Line 120 indicates the patch server application 100 generating a SMS notification message.
  • the server 10 then sends the SMS notification message via SMS-C and parsed by an SMS engine 118 on the wireless device 12 , which in turn launches the Patch Agent Application 106 , as indicated at 124 .
  • the patch agent application 106 requests the user to confirm the downloading and installation of a patch. The user confirmation request is performed by displaying a message on the display screen of the device 12 and waiting for a user input. Upon the user confirming the patch download request at step 128 , the download phase is initiated.
  • the Patch Data and License file for the new patch are downloaded and stored on the wireless device 12 using available bearer service of the wireless device 12 .
  • the patch agent application 106 sends capability parameters to the patch server application 100 before the patch data is transmitted back to the device 12 .
  • the patch server application 100 checks the capability negotiation parameters values sent by the patch agent application 106 and then at step 132 sends the patch data and license file to the device 12 , as long as the capability parameters match the criterion for new patch download and installation.
  • the patch agent application at step 134 , stores the downloaded patch data using the patching APIs 108 .
  • the patch agent application 106 uses the patching APIs 108 to install the patch on the device 12 .
  • the patching APIs 108 check for which processor the particular patch is for and performs security checks using the security APIs 110 at step 138 .
  • the patching APIs then update the existing patch data stored in the first memory 112 with the downloaded patch data in a fail-safe manner, so that unexpected errors like a power-failure do not render the device 12 inoperable at step 140 .
  • the fail-safe algorithm ensures the availability of the already installed patch program or null patch program to the processor being patched, in case of some unexpected failure during new patch installation.
  • the patch is activated.
  • the newly installed patch is said to be active only when the patch loader 114 loads the new patch to the processor RAM for execution and the patch agent application is exited, step 148 .
  • activation requires warm-boot of the device 12 , as indicated at step 150 .
  • a DSP program memory is shown in which a DSP patch is installed in accordance with an embodiment of the present invention.
  • a DSP patch is a set of functions, loaded in to the program RAM (P-RAM) of the DSP at the boot time and executed in lieu of specific functions/code in the DSP Program ROM (P-ROM).
  • the DSP Patch can be a feature enhancement or a bug fix to existing code in the DSP P-ROM.
  • the DSP Patch may be stored in flash memory and later loaded into the P-RAM.
  • a DSP Patch has to be loaded into P-RAM from a non-volatile storage each time the DSP boots.
  • the patch loader 114 performs the process of loading the DSP patch from the Flash Memory to the P-RAM when the device 12 is booted.
  • Specific memory blocks are reserved for storing a DSP patch in the Flash memory, known as DSP Patch Blocks.
  • FIG. 9 shows a Flash memory 160 of a DSP in which three memory blocks 162 of 8kB each are reserved for storing a DSP Patch.
  • FIG. 10 shows a memory map of the DSP patch blocks 162 shown in FIG. 9.
  • the DSP patch blocks 162 include a patch version table (PVT) 164 and a patch data area 166 . Multiple DSP Patches may be stored in the DSP patch blocks 162 . An index of all DSP patches stored in the DSP patch blocks 162 is maintained in the PVT 164 .
  • the PVT 164 contains a DSP Patch Version for a particular patch followed by memory address of DSP Patch Data for that particular patch, as shown in FIG. 10.
  • a DSP Patch Version number which is a two-byte integer, is stored in the PVT 164 . In this example, a DSP patch having a version number of 0 ⁇ 3417 is shown.
  • the first two digits of the version number indicate the DSP ROM version to which the patch corresponds and the last two digits indicate the revision number of the patch. For example, for DSP Patch Version 0 ⁇ 3417, then the patch is for DSP ROM Version 0 ⁇ 34 and it is a 0 ⁇ 7th revision of the patch.
  • the rest of the area in the DSP patch blocks 162 the patch data area 166 , which is used to store Patch Data for the latest patches for different DSP ROM versions.
  • FIG. 11 is a high-level flow diagram of interaction between an MCU and a DSP during DSP Patch loading, with the commands being sent by the DSP patch loader 114 , in accordance with an embodiment of the present invention.
  • a DSP Patch is not stored in its object format in the flash memory, but as a series of MDI messages that are converted to DSP object code by the patch loader 114 .
  • the patch loader 114 queries the DSP for its ROM version and scans the PVT 164 to locate an entry for a DSP Patch corresponding to the DSP ROM version.
  • the patch loader 114 After locating the DSP Patch Data for that particular patch, the patch loader 114 loads the patch to P-RAM from the DSP Patch Blocks 162 using long MDI (MCU-DSP Interface) messages of DSP Patch Data. Once the patch is loaded into P-RAM, the patch loader 114 queries the DSP for its patch version number to verify that the patch is loaded in P-RAM correctly.
  • MDI MCU-DSP Interface
  • OTA DSP Patch Upgrade allows an end user to download DSP Patches and install the patches on the device 12 securely. Since the DSP Patch Loader 114 loads a patch from the DSP Patch Blocks 162 in the flash memory 160 to the P-RAM of the DSP at boot time, installation of a new DSP patch requires replacing the current DSP Patch Data with newly downloaded DSP Patch Data and updating the PVT 164 with the new patch version. So, essentially OTA DSP Patch upgrade requires OTA download of new DSP Patch Data and reprogramming of the DSP Patch Blocks with the newly downloaded DSP Patch Data and a new PVT.
  • FIG. 12 a Patch Download Component Diagram is shown for explaining the Terminal Management (TM) architecture and how a DSP Patch Upgrade is integrated with the Terminal Management components.
  • the shaded components are particular to the OTA ROM software patching architecture of the present invention.
  • the server 10 and the wireless device (client) 12 transmit data back and forth using the SyncML format over an HTTP interface.
  • the server 10 includes a Sync Server Agent 180 that transmits and receives messages and the wireless device 12 includes a sync client agent 182 that similarly sends and receives messages.
  • the Sync Client Agent 182 is a set of Java classes that handle the sending and receiving of SyncML messages in order to implement the SyncML protocol.
  • a XML parser is used to parse the SyncML message and extract SyncML operations.
  • Each SyncML message has a header that contains a session ID, source, target locations, and authentication information.
  • Both the server 10 and the wireless device 12 include a Namespace 184 , 186 that defines the name and value of the management objects using a management tree that organizes all available management objects, where all management objects are uniquely addressed with a URI.
  • the patch server application 24 is part of a Terminal Management Server Application (TMSA) 188 , which is an application implemented using a Java Servlet to perform Terminal Management with Patch Download functionality.
  • the TMSA 188 uses services provided by the Sync Server Agent 180 to extract the SyncML operations with the Namespace 184 .
  • the TMSA 188 also updates the data in the MIB 28 .
  • the Patch Download functionality of the TMSA 188 corresponds to Patch Server Application 100 shown in FIG. 7.
  • the wireless device 12 has a Terminal Manager 190 , which is a terminal management J2ME application for wireless devices.
  • the Terminal Manager 190 uses services provided by the Sync Client Agent 182 .
  • the Terminal Manager 190 supports three main operations: terminal tracking, terminal configuration, and patch download.
  • the patch download functionality of the Terminal Manager 190 corresponds to Patch Agent Application 106 shown in FIG. 7.
  • the Terminal Profile 40 contains device specific classes that allow SyncML software to access device-specific functionality such as persistent storage and management operation manipulation to retrieve or upgrade data from the storage.
  • the terminal profile 40 has two categories of components, one of which is platform independent and compatible with other profiles, and another which is platform specific component and not compatible with other profiles.
  • the terminal profile 40 thus includes Terminal Profile Java APIs 192 and a terminal profile native implementation 194 .
  • the Java APIs 192 are a set of Java classes to handle domain-specific functionalities to greatly enhance the capabilities of the terminal management application. Applications developed using these classes are portable across different MIDP devices.
  • the Java APIs 192 use TM native implementation to take advantage of native functionality such as querying device information and sharing data with native applications.
  • the TM profile Java implementation uses patch profile java APIs for storing and installing patch data on the device 12 .
  • the Terminal Profile Native Implementation 194 is the platform specific component written in platform dependent language.
  • the native implementation 194 uses device layer modules to execute AT commands corresponding to management operations.
  • the native implementation 194 is not portable and totally dependent on platform.
  • the Patch Profile 42 provides services for storing the downloaded patch data and installing the patch on the device 12 .
  • the terminal manager 190 downloads the patch data to be installed and uses the Patch Profile 42 to store and install the patch on the device 12 .
  • the Patch Profile 42 is generic so that support for a different patch type can be easily added.
  • the Patch Profile 42 can be divided into two sub-components, Patch Profile Java APIs 76 and Patch Profile Native Implementation 78 .
  • the Patch Profile Java APIs 76 are platform independent.
  • the Terminal Manager 190 uses the APIs 76 to store and install the patch.
  • the Java implementation uses Patch Profile Native Implementation 78 to carry out platform specific task such as installation of a DSP Patch.
  • the Patch Profile Java APIs 76 are LCC.
  • the Patch Profile Native Implementation 78 is platform dependent and includes native code for installing a DSP Patch in the DSP Patch Blocks 162 .
  • the security APIs 110 verify the authenticity and integrity of the patch data.
  • the Native Implementation 78 of patch profile uses these security APIs to verify authenticity and integrity of the DSP Patch Data using the license file downloaded from the server 10 .
  • the security APIs 110 are currently implemented in C, but it is possible to have a Java wrapper class to access them from Java if the integrity and authenticity of the Java wrapper can be independently ensured. It is crucial to security that only trusted software be allowed to install patch data. It is also noted that MIDP 2.0 allows for MIDLETS to be signed by a trusted authority, which is an alternative method to ensure integrity and authenticity of the installer Java program and the patch data.
  • FIG. 13 is a flowchart of the DSP Patch algorithm and explains the overall algorithm at a higher level. Each state transition is explained in the subsequent detailed flow charts shown in FIGS. 14 - 17 .
  • DSP Patch A DSP patch is a set of functions, loaded in to P-RAM (Program RAM) of DSP chip at the boot time of DSP and executed instead of specific functions/code in P-ROM (Program ROM) of DSP chip.
  • DSP Patch Blocks Flash Memory blocks on Panther were the DSP Patch Data is stored.
  • DSP Patch Data A DSP Object code for a DSP Patch is converted into series of long MDI messages and stored in DSP Patch Blocks. This converted format is known as DSP Patch Data. Flash Memory It is a non-volatile memory in a mobile terminal.
  • the Air Patch Program Patch Program is a function or set of functions being executed instead of the corresponding ROM code.
  • Patch Data Patch program formatted in specific way for installation on the mobile device.
  • PatchID Unique 2 bytes integer number assigned to a particular patch.
  • PP Patch Profile P-RAM Program - RAM for Processor P-ROM Program - ROM for Processor PVT Patch Version Table is a table of Patch Version and location of their corresponding DSP Patch Data.
  • SyncML SyncML is the leading open industry standard for universal synchronization of remote data and personal information across multiple networks, platforms and devices.
  • TM Terminal Management Terminal Management is a collection of client/server applications and functions, which allow operators/service providers the ability to remotely manage terminals in their networks.

Abstract

An architecture for over the air management of software on a wireless device includes a software architecture supporting software patches, including secure downloading of software from a data network and robust installation of the same on the wireless device. Using this architecture, a network operator can notify a mobile device user about the software upgrade and send the upgrade to the mobile device over the air. Remote management of DSP software on mobile phones in GSM or GPRS networks uses an efficient installation algorithm with an error recovery mechanism. A digital signature is used for checking authenticity and integrity of the downloaded DSP software patch.

Description

    BACKGROUND OF THE INVENTION
  • The present invention relates generally to wireless communication systems, and more particularly, to a method of remotely updating the operating software or feature set of a wireless electronic device by transmitting the update over the air (OTA). [0001]
  • There has been a tremendous proliferation of hand held electronic devices. As technology advances, allowing for increased processing power and greater memory, more and more sophisticated software is being used to operate such devices. The increased software content on these devices comes fraught with the risk of containing buggy code leading to disruption of service to the consumer. Also, more and more software-implemented features are becoming available for communications devices, such as Software Defined Radio (SDR). [0002]
  • A number of issues related to managing the software on these devices via re-programming, quality of service and other similar problems are being addressed and discussed extensively. Mobile device software management includes operations such as application provisioning, application management and software upgrades. Software upgrades are used for adding new functionality, enhancing existing features, adding new features, and fixing bugs. Providing software upgrades leads to a need to manage the software in an innovative way to contain costs and sustain revenues. [0003]
  • Presently, mobile device software management is done off-line at a customer care center or at the factory. The disadvantage with this approach is that the user has to personally visit the customer care center and surrender the mobile device for maintenance. This results in unavailability of the mobile device to the user for that particular period and increased costs of maintenance to the mobile device manufacturer and the operator. As the mobile device user population has grown, this task of offline-management has become tedious and expensive. [0004]
  • The present invention provides a solution to the difficulty of maintaining and upgrading electronic device software.[0005]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The following detailed description of a preferred embodiment of the invention will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings an embodiment that is presently preferred. It should be understood, however, that the invention is not limited to the precise arrangement and instrumentalities shown. In the drawings: [0006]
  • FIG. 1 is a simplified diagram showing elements involved in OTA (Over The Air) software management; [0007]
  • FIG. 2 shows an architecture of a solution for OTA Mobile Device Software Management in accordance with an embodiment of the present invention; [0008]
  • FIG. 3 shows an example of a package exchange between a Management Server and a Management Client for a DSP software upgrade in accordance with an embodiment of the present invention; [0009]
  • FIG. 4 shows a patch profile as a stack in a J2ME environment in accordance with an embodiment of the present invention; [0010]
  • FIG. 5 shows a patch packet format in accordance with an embodiment of the present invention; [0011]
  • FIG. 6 illustrates the flow for a DSP software upgrade in accordance with an embodiment of the present invention; [0012]
  • FIG. 7 shows an architecture for OTA Mobile Device Software Management in accordance with an embodiment of the present invention; [0013]
  • FIG. 8 shows an OTA ROM software patching process in accordance with an embodiment of the present invention; [0014]
  • FIG. 9 shows memory blocks reserved for storing a DSP Patch in a mobile electronic device in accordance with an embodiment of the present invention; [0015]
  • FIG. 10 shows a Patch Version Table and DSP Patch Data of the DSP Patch Blocks in accordance with an embodiment of the present invention; [0016]
  • FIG. 11 is a high-level flow diagram of interaction between an MCU and a DSP during DSP Patch loading, with the commands being sent by a DSP patch loader, in accordance with an embodiment of the present invention; [0017]
  • FIG. 12 is a Patch Download Component Diagram in accordance with an embodiment of the present invention; [0018]
  • FIG. 13 is a flowchart of a DSP Patch Installation Algorithm in accordance with an embodiment of the present invention; and [0019]
  • FIGS. [0020] 14-17 are flowcharts of the state transitions of the DSP Patch Installation Algorithm of FIG. 13.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The detailed description set forth below in connection with the appended drawings is intended as a description of the presently preferred embodiment of the invention, and is not intended to represent the only form in which the present invention may be practiced. It is to be understood that the same or equivalent functions may be accomplished by different embodiments that are intended to be encompassed within the spirit and scope of the invention. The terms mobile electronic device and wireless device are used interchangeably to refer to electronic devices that send and receive information using RF communications methods. Such devices include, for example, cellular telephones, portable computers, and other hand-held devices like personal digital assistants (PDAs). In the drawings, like numerals are used to indicate like elements throughout. [0021]
  • The present invention provides a client based software method for upgrading or patching ROM software of a processor of a mobile electronic device by OTA downloading patch software to the device and then installing the patch software on the device in a secure manner. A patch server hosts the patch software. The patch software is downloaded by a patch agent application running on the mobile device. In one embodiment, the patch server initiates the patch download by sending a notification message to the mobile device. The notification message invokes the patch agent application on the mobile device. The patch agent application sends negotiation parameter values to the server and the server determines whether the mobile device requires a particular patch and if the device has enough resources to download and install the patch. The patch agent carries out an installation process, which replaces an existing patch with a new patch in a non-volatile memory of the mobile device. Once started, the patch installation proceeds automatically. The patch installation operates in a fail-safe manner that prevents a partial or corrupt installation from rendering the system inoperable (i.e., crashing the software on the mobile device). [0022]
  • The present invention also provides a system for OTA downloading a patch program to a mobile device including a server having software for downloading a software patch and initiating installation of the software patch on the mobile device, a patch agent on a mobile device for installing the downloaded patch software on the mobile device in a fail safe and error-recoverable manner. More particularly, a patch server for over-the-air (OTA) updating of processor software of a client, wireless electronic device, includes a patch server application that communicates with client devices via an OTA interface, a patch program database in communication with the patch server application, and a patch data generator in communication with the patch program database. The patch server application initiates a patch download to a client device by sending a patch notification message to the client device that initiates a patch agent application on the client device. The patch program database stores a plurality of downloadable patch programs for downloading to the client devices. The patch data generator generates the downloadable patch programs by encoding predetermined patch data. The present invention enables a manufacturer to upgrade ROM software of mobile devices for bug fixes, feature enhancement or new feature introduction without recalling the mobile devices. [0023]
  • Referring now to FIG. 1, a simplified diagram showing elements involved in OTA (Over The Air) software management is provided in which a [0024] patch server 10 communicates with a plurality of wireless electronic devices 12 (one of which is shown) by way of a wireless network 14. As is understood by those of skill in the art, wireless networks include one or more base stations, such as a base station 16 shown in the drawing. The patch server 10 can be any computer that is connected to a wireless network, such as the network 14, and can transmit and receive messages by way of the network. The wireless devices 12 can be any type of wireless device, such as a mobile communication device, e.g., a cell phone, a personal digital assistant, etc. The wireless device 12 has a processor, such as a digital signal processor (DSP) and associated software that allows the device 12 to perform predetermined functions. The patch server 10 transmits a patch, which may include bug fixes, feature enhancements, new features, etc., to the wireless device 12 by way of the network 14.
  • FIG. 2 is a schematic block diagram of the software architectures of the [0025] patch server 10 and the wireless device 12. The patch server 10 and the wireless device 12 preferably communicate by way of a predetermined protocol. In one embodiment of the invention, the patch server 10 and the wireless device 12 communicate using the SyncML protocol, as indicated at 18. The SyncML protocol is a data synchronization and device management open standard that drives data mobility by establishing a common language for communications between devices, applications and networks. The SyncML standard is sponsored by a number of well-known companies, including Motorola Inc., the assignee of the present invention, and is supported leading wireless companies. As shown in FIG. 2, both the patch server 10 and the wireless device 12 include respective SyncML profiles 20 and 22. The SyncML profiles 20 and 22 implement the SyncML Management Protocol. The SyncML profile implementation of client and server interfaces according to the SyncML DM (Device Management) protocol. The SyncML profile 20 generates SyncML messages to be sent to the client (i.e., the wireless device 12) and parses received SyncML messages. The SyncML profile 22 acts in the same manner. The SyncML profile 22 defines sets of APIs and features to provide wireless device applications such as callbacks, GUI interface, and management objects interface across the network. As will be understood by those of skill in the art, the patch server 10 and the wireless device 12 have a client-server relationship.
  • In the embodiment shown, both the server and client side components fall into three basic categories, namely, user interface, device management, and data repository management. The [0026] patch server 10 includes a server application 24 that provides an operator interface, such as a web-based Graphical User interface (GUI), that allows an operator to set a management operation for a specific device. For example, an operator can select a particular software version of an application to be distributed to a particular type of devices. As will be discussed in more detail below, the server application 24 then initiates the software upgrade or another management operation by sending a notification message to the wireless device 12. The server application 24 can be implemented as a Java servlet. However, as will be understood by those of skill in the art, the server application can be implemented in other HTTP (Hypertext Transport Protocol) environments like CGI, ASP etc.
  • The [0027] patch server 10 includes a server profile 26 that provides access to appropriate data stored in a management information base (MIB) 28 during a SyncML management session with a wireless device 12. The patch server 10 and the wireless device 12 further communicate via the HTTP protocol, as evidenced by line 30. Accordingly, the patch server 10 and the wireless device 12 include respective HTTP modules 32 and 34. Although the HTTP transport protocol is a preferred transport protocol, it is possible to use a different transport protocol for completing the communication between the client 12 and server 10.
  • The [0028] MIB 28 contains information for each type of wireless device for which the patch server manages software updates. The MIB 28 also stores a plurality of different software patches that the various wireless devices will download. The MIB 28 is in communication with a patch generator 36. The patch generator 36 generates the downloadable patch programs by encoding predetermined patch data. The predetermined patch data includes patch software and its corresponding license. Both the patch software and its corresponding license are stored in the MIB 28 along with other predetermined patch data encoded by the patch generator 36, such as a description of the patch, patch program version number, associated wireless device model identifier, a ROM version number, a processor identification number and resource requirements for installation of the patch on the wireless device 12. The patch generator 36 also preferably assigns a unique identifier to each new patch generated, such as the patch program size or a checksum.
  • The [0029] wireless device 12 includes a client application 38. The client application 38 is a MIDlet application that presents a user interface to the wireless device user and accepts user input as required. The client application 38 is needed to initialize the SyncML profile 22 for exchanging SyncML packages with the patch server 10. The wireless device 12 also includes a TM profile 40 that executes commands specified by the patch server 10. Some command execution may require invoking native applications or methods, which is accomplished by using JNI (Java Native Interface). The TM profile 40 uses Patch Profile Services for software patch storage and software patch installation services. The TM profile 40 is initialized by the client application 38 for executing a device management command specified by the patch server 10.
  • The [0030] wireless device 12 includes a patch profile 42. The patch profile 42 provides those services required for a software upgrade. The patch profile 42 is designed in a generic way so that it can be extended easily for different software patch types. The patch profile 42 maintains version information of all upgradeable software applications on the wireless device 12. The patch profile 42 also keeps track of available resources for download and installation of a new patch. The version and resource information is sent to the patch server 10 during SyncML message exchange, as described below, so that the patch server 10 will be able to determine whether or not the wireless device 12 requires a certain patch.
  • The [0031] patch profile 42 stores downloaded software patches in a Flash or persistent memory 44 of the wireless device 12. The patch profile 42 is able to manage storage of multiple patches. Further, the patch profile 42 verifies the authenticity and integrity of a downloaded patch by using the patch license downloaded along with the patch. If confidentiality of the patch is important for a wireless device manufacturer, the patch can be encrypted and then the encryption information can be provided in the license.
  • The [0032] Flash memory 44 is re-programmable persistent memory. The wireless device configuration parameters and upgradeable application software are stored in the Flash memory 44. The TM profile 40 and patch profile 42 reprogram the flash memory 44 to set new configuration parameters and upgrade the device software. The patch profile 42 ensures that a patch installation procedure proceeds automatically and is managed in a fail-safe manner that prevents partial or corrupt installation from crashing the system or otherwise rendering the wireless device inoperable. Since a software upgrade could include or be for one or more system critical components, any corruption during the software upgrade process may render the device 12 unusable. Once installation is started, the patch profile 42 ensures that the installation procedure is completed.
  • The [0033] mobile device 12 further includes a security library 46. Before installing a patch, it is important to verify the authenticity and integrity of the patch data. The patch profile 42 uses the security library 46 for such verifications. The patch profile 42 provides a Java wrapper around the security library 46. The patch profile 42 verifies the integrity and authenticity of a downloaded patch by passing the patch and the associated patch license to the security library 46. Support for confidentiality of the security library is optional.
  • The OTA software upgrade process of the present invention can be divided into three major functionalities, namely, Notification and Download Protocol for the patch, Storage and Installation of the patch on the [0034] wireless device 12, and Generation and Storage of the patch on the patch server 10. The Notification and Download Protocol, as discussed above, is implemented using common industry standards. The presently preferred embodiment uses SyncML for this functionality. To maximize reuse, the SyncML specifications are implemented in J2SE on the patch server side and J2ME on the client (wireless device 12) side. More specifically, MIDP (Mobile Information Device Profile) is used on the client side, since MIDP is a widely available implementation for J2ME based devices. The Storage and Installation of the patch on the wireless device 12 is platform dependant functionality. Implementation of this functionality can vary but the interface should remain the same. In one embodiment, J2ME is used at client side for defining Java APIs for this functionality. The Generation and Storage of the patch on the patch server 10 does not use a generic structure for the patch because the generation of the patch is specific to the wireless device type to be updated. The patch and its associated patch license are generated by the wireless device manufacturer and distributed to operators for hosting on the patch server 10.
  • Referring now to FIG. 3, a SyncML package exchange between the [0035] patch server 10 and a wireless device 12 is shown. The patch download process complies with the SyncML Device Management protocol. There are two phases in a management session between the server 10 and the wireless device (client) 12, a setup phase 50 and a management phase 52. The setup phase 50 includes an exchange of packages (package0 and package1) between the server 10 and the device 12. Pakcage0 is required only when the server 10 initiates a management session. For a management session initiated by the device 12, the management session starts with package1. The management phase has a number of protocol iterations. Protocol iteration means a package from client to server and a package from server to client.
  • Whenever a new DSP patch is available for a [0036] device 12, the server 10 invokes an application on the device 12 by sending a SMS auto-launch message via SMS-C (package0). The SMS auto-launch message is parsed by an SMS engine in the device 12, which launches the client application. Package1, which is transmitted from the device 12 to the server 10, contains client authentication credentials and device information including DSP software version of the device 12.
  • Using the client authentication credentials and device information, the [0037] patch server 10 determines whether or not the device 12 needs the available patch. Considerations are the current software version and the DSP or processor version of the device 12. Another factor for consideration is any license agreement for certain devices. If it is determined by the patch server 10 that the device 12 should receive the patch, then the server 10 sends package2 to the device 12. Package2 includes the following information in a SyncML document, patch information (description of the patch), the patch itself, and a patch license. The information in package2 is then first stored on the device 12 and second installed on the device 12. Once the installation is complete, the device 12 sends the results of the installation back to the server 10 in package3. In response to receiving the package3, the server 10 signals the device 12 to terminate the management session (i.e., terminate the patch agent operating on the device 12) via package4. It should be understood that a large sized patch might span multiple SyncML packages. The SyncML Sync Protocol specifies how to handle large objects.
  • FIG. 6 is a diagram showing the packets exchanged for the case of the [0038] wireless device 12 or a user thereof requesting a patch from an operator managing the patch server 10. This is in contrast to the case shown in FIG. 3 where the patch download is initiated by the server 10. In FIG. 6, a user contacts a customer care center, such as via a voice call, and informs the customer care representative or operator that the wireless device 12 has a problem, such as poor voice quality, at 60. The operator searches a database including known problems and solutions for the wireless device 12 and determines that a patch is available for improving the voice quality problem at 62. The operator then instructs the patch server 10 to provide the patch to the device 12 at 64. At 66, the patch server 10 sends an SMS message (package0) to the device 12. In this case, receipt of the package0 invokes a patch agent on the device 12, as indicated at 68. At step 70, the device 12 and the server 10 then exchange packages with the server 10 sending the patch to the device 12, the device 12 installing the patch and then sending back to the server 10 the results of the patch installation. At 72, the patch agent is exited and the device 12 is rebooted. With the patch installed, the user notices the improved voice quality, as indicated at 74.
  • Referring now to FIG. 4, the [0039] patch profile 42 is shown as a stack in a J2ME environment. The patch profile 42 is concerned with fail-safe installation of the downloaded patch, extensibility, and reusability. As understood by those of skill in the art, installation of native software such as DSP software is a very platform dependant task. To achieve the above design goals and to separate out platform dependant parts of the patch profile from platform independent parts, the patch profile 42 is divided into two parts, Java APIs 76 and a native implementation 78.
  • The patch [0040] profile Java APIs 76 is the platform independent part of patch profile, which exposes a set of APIs to the TM profile 40 and other applications. The Java APIs 76 perform platform independent tasks such as storage management of the patch and its license. For platform specific tasks, which require native method execution, the patch profile native implementation 78 is called via a Java Native Interface. The Java APIs 76 are designed in a generic way so that they handle different types of patches without any changes in the exposed Patch Profile APIs. The Java APIs 76 are LCC (Licensee Closed Class).
  • The patch profile [0041] native implementation 78 includes the native code required to install a particular type of patch and gather version and resource information for a particular type of patch installation, available memory space for the installation process and installation of the DSP patch. The installation process includes error recovery routines that allow recovery of installation when an error occurs, like power failure or system crash.
  • The [0042] patch profile 42 also includes MIDP/CLDC APIs 80, an OEM class library 82, a Kvirtual machine (KVM) 84, a native platform library 86, and a hardware platform 88. The MIDP/CLDC APIs 80 are standard APIs available for MIDlet development. The OEM Class Library 82 provides specific APIs required by a certain platform (i.e., functionality specific), but that are not included as part of the MIDP/CLDC APIs 80. The KVM 84 is a compact, portable Java virtual machine intended for small, resource-constrained devices such as cellular phones, pagers, personal organizers, mobile Internet devices, and so forth. All native functions accessed by Java code are part of the KVM 84 implementation. The native platform library 86 includes APIs provided by OS system calls and native libraries. The patch profile native implementation 78 uses the native libraries and OS system calls to perform installation specific tasks, such as flash programming routines for re-programming upgraded DSP software. The hardware platform 88 is the device 12 hardware. An example hardware platform 88 is the 280 i cellular telephone manufactured by Motorola Inc. of Schaumburg, Illinois.
  • FIG. 5 shows the format of a [0043] patch packet 90. The patch packet 90 includes a patch header 92 and a patch body 94. The patch header 90 gives the “type” information of the patch used by the patch profile 42 to call corresponding storing and installing functions. In the embodiment shown, the header 90 includes six byte fixed part and a variable part. The fixed part includes a two-byte patch identifier, a one-byte patch type field, a two-byte patch size field, and a one-byte header size field. The variable part can be used to hold a patch version identifier.
  • A more detailed description of the patch installation procedure will now be described with reference to FIG. 7, which shows an architecture for OTA Mobile Device Software Management in accordance with an embodiment of the present invention. In this embodiment, the [0044] patch server 10 includes a patch server application 100, a patch program database 102 and a patch data generator 104. The wireless device 12 includes a patch agent application 106, patching APIs 108, a security API 110, a first memory 112, such as an EPROM, EEPROM, UV-EPROM, Flash, and the like, a patch loader 114, and a second, processor accessible, memory 116.
  • The [0045] patch server application 100 maintains storage of various DSP patches in the patch program database 102 and communicates with the patch agent application 106 for DSP patch upgrades. The patch server application 100 can initiate a patch download session with the patch agent application 106 by sending a notification message to the patch agent application 106, as previously discussed with reference to FIG. 3. The notification message launches the patch agent application 106 on the wireless device 12, which in turn starts the download session. The patch server application 100 has to receive at least the following capability negotiation parameters from the patch agent application 106: Mobile Device Model ID; Versions of currently installed patch on the mobile device for all processors on the mobile device; ROM software version being patched; and Free Storage Space available in the first memory 112. The above parameters are necessary for the patch server application 100 to check if the wireless device 12 needs a software patch, if it is able to upgrade the wireless device 12 (e.g. the database 102 contains new patches for the device 12) and if the resources available on the device 12 allow the execution of a patch procedure (e.g. enough memory resources are available at the moment). The patch server application 100 can be a web-server application or any other server application, which can be accessed by the patch agent application 106 of the mobile device 12 in a given mobile network. The patch server application 100 can be an independent application or a functionality of another server application.
  • The [0046] patch program database 102 is a database for different patch program releases. There is a unique patch ID associated with each patch stored in the database 102. Several other parameters also are stored with a particular patch program release, including: ROM Version (version of the ROM to be patched by the patch program), Processor ID (Identifier for processor on a mobile device in case there are multiple processors that can be patched on a particular mobile device), and a License File. The license file/certificate corresponds to the patch program so that the patch agent application 106 can verify authenticity and integrity of the patch program. If the patch program is encrypted due to a confidentiality requirement as specified by the license file, then the license file will contain cryptographic information to decrypt the patch program on the wireless device 12. Advanced software/content distribution concepts like digital rights management (DRM) can also be used for security.
  • The patch data generator [0047] 104 generates the patch data and the License file for the patch data. The patch data generator 104 also performs required encoding of the patch data and the license file for network transmission. The generated and transmitted patch data is a patch program converted into specific format so that the patch agent application 106 can load the patch into the wireless device processor's accessible memory along with following information: ROM version being patched, ID of processor to which the patch is being installed, Version of the patch program, and Size of the patch program. Where the processor can access the first memory 112 directly and can execute code from the memory 112, the patch data is the patch program along with above information.
  • The [0048] patch agent application 106 resides on the wireless device 12 and communicates with the patch server 10 for downloading the patch data from the server 10. Once the patch data is downloaded, the patch agent application 106 uses the patching APIs 108 to store the patch data on the device 12 and then install the patch program on the device 12. The patch agent application 106 can be an independent application or can be a functionality of some other application on the wireless device 12.
  • The patching [0049] APIs 108 provide services to end user applications for storing the downloaded patch data and installing that patch on the mobile device 12. The patching APIs 108 manage storage of the patch on the device 12 and manage the installation process. Once in process, the patch installation process proceeds automatically. The patching APIs 108 are implemented as a native library or as a Java library. Before installing the patch data on the wireless device 12, it is important to verify the authenticity and integrity of the patch data to prevent corrupted or malicious code being installed on the device 12. The security APIs 110 provide services to other software components to perform these check operations. That is, the security APIs 110 check the authenticity and integrity of the downloaded patch data using the license file downloaded from the server along with the patch data. If the patch data is encrypted due to a confidentiality requirement, the license file contains the cryptographic information required to decrypt the patch program on the wireless device 12. As discussed above, DRM may also be used.
  • The [0050] first memory 112, which may be an EPROM is persistent storage in the wireless device 12 where patch programs are stored persistently. Various types of EPROM are used in wireless devices, like Electrically Erasable Programmable Read Only Memory (EEPROM), Ultraviolet Erasable Programmable ROM (UVEPROM), and flash memory etc. The wireless device 12 also includes processor accessible memory 116, which is the memory where the patch program is loaded for execution. If a processor can directly access the first memory 112, the second memory 116 is not required.
  • The [0051] patch Loader 114 is the software component responsible for loading the patch data into RAM of the processor so that the processor can execute the patch programs instead of some specific code in the processor ROM. The patch loader 114 may not be required in a system where the processor being patched can directly access the first memory 112 and can execute the patch programs from the first memory 112, itself. In one embodiment, the patch loader 114 is implemented on the processor being patched and in an alternate embodiment, the patch loader 114 is implemented on another processor of the mobile device 12.
  • Referring now to FIG. 8, an end-to-end example of an OTA ROM software patching process is shown with a high-level message sequence chart. FIG. 8 shows that the OTA ROM software patching is divided into four major phases, notification, download, installation and activation. Each of these phases is described below. [0052]
  • The notification phase occurs first. Whenever a new patch is available for a mobile device, the [0053] patch server application 100 invokes the patch agent application 106 on the wireless device 12 by sending a SMS or any other notification message supported by the mobile device 12, which will auto-launch the patch agent application 106. Line 120 indicates the patch server application 100 generating a SMS notification message. The server 10 then sends the SMS notification message via SMS-C and parsed by an SMS engine 118 on the wireless device 12, which in turn launches the Patch Agent Application 106, as indicated at 124. At step 126, the patch agent application 106 requests the user to confirm the downloading and installation of a patch. The user confirmation request is performed by displaying a message on the display screen of the device 12 and waiting for a user input. Upon the user confirming the patch download request at step 128, the download phase is initiated.
  • In the download phase, the Patch Data and License file for the new patch are downloaded and stored on the [0054] wireless device 12 using available bearer service of the wireless device 12. At step 130, the patch agent application 106 sends capability parameters to the patch server application 100 before the patch data is transmitted back to the device 12. At step 131, the patch server application 100 checks the capability negotiation parameters values sent by the patch agent application 106 and then at step 132 sends the patch data and license file to the device 12, as long as the capability parameters match the criterion for new patch download and installation. The patch agent application, at step 134, stores the downloaded patch data using the patching APIs 108.
  • Next is the installation phase. At [0055] step 136, the patch agent application 106 uses the patching APIs 108 to install the patch on the device 12. The patching APIs 108 check for which processor the particular patch is for and performs security checks using the security APIs 110 at step 138. The patching APIs then update the existing patch data stored in the first memory 112 with the downloaded patch data in a fail-safe manner, so that unexpected errors like a power-failure do not render the device 12 inoperable at step 140. The fail-safe algorithm ensures the availability of the already installed patch program or null patch program to the processor being patched, in case of some unexpected failure during new patch installation. This requires managing the backup of an already installed patch and providing a reference to the backup area, as well as recovery from a corrupt installation and completion of the installation of the new patch. Once the patch installation is completed, the stored patch data is deleted at step 142 and an installation complete notification message is sent to the patch server 10 at step 144. In addition, a message is sent to the user (via the display screen of the device 12) at step 146.
  • After installation, the patch is activated. The newly installed patch is said to be active only when the [0056] patch loader 114 loads the new patch to the processor RAM for execution and the patch agent application is exited, step 148. In one embodiment, activation requires warm-boot of the device 12, as indicated at step 150.
  • Referring now to FIGS. 9 and 10, a DSP program memory is shown in which a DSP patch is installed in accordance with an embodiment of the present invention. At a higher level, a DSP patch is a set of functions, loaded in to the program RAM (P-RAM) of the DSP at the boot time and executed in lieu of specific functions/code in the DSP Program ROM (P-ROM). The DSP Patch can be a feature enhancement or a bug fix to existing code in the DSP P-ROM. The DSP Patch may be stored in flash memory and later loaded into the P-RAM. As mentioned above, a DSP Patch has to be loaded into P-RAM from a non-volatile storage each time the DSP boots. The [0057] patch loader 114 performs the process of loading the DSP patch from the Flash Memory to the P-RAM when the device 12 is booted. Specific memory blocks are reserved for storing a DSP patch in the Flash memory, known as DSP Patch Blocks. FIG. 9 shows a Flash memory 160 of a DSP in which three memory blocks 162 of 8kB each are reserved for storing a DSP Patch.
  • FIG. 10 shows a memory map of the DSP patch blocks [0058] 162 shown in FIG. 9. The DSP patch blocks 162 include a patch version table (PVT) 164 and a patch data area 166. Multiple DSP Patches may be stored in the DSP patch blocks 162. An index of all DSP patches stored in the DSP patch blocks 162 is maintained in the PVT 164. The PVT 164 contains a DSP Patch Version for a particular patch followed by memory address of DSP Patch Data for that particular patch, as shown in FIG. 10. A DSP Patch Version number, which is a two-byte integer, is stored in the PVT 164. In this example, a DSP patch having a version number of 0×3417 is shown. The first two digits of the version number indicate the DSP ROM version to which the patch corresponds and the last two digits indicate the revision number of the patch. For example, for DSP Patch Version 0×3417, then the patch is for DSP ROM Version 0×34 and it is a 0×7th revision of the patch. After the PVT 164, the rest of the area in the DSP patch blocks 162 the patch data area 166, which is used to store Patch Data for the latest patches for different DSP ROM versions.
  • FIG. 11 is a high-level flow diagram of interaction between an MCU and a DSP during DSP Patch loading, with the commands being sent by the [0059] DSP patch loader 114, in accordance with an embodiment of the present invention. A DSP Patch is not stored in its object format in the flash memory, but as a series of MDI messages that are converted to DSP object code by the patch loader 114. In operation, the patch loader 114 queries the DSP for its ROM version and scans the PVT 164 to locate an entry for a DSP Patch corresponding to the DSP ROM version. After locating the DSP Patch Data for that particular patch, the patch loader 114 loads the patch to P-RAM from the DSP Patch Blocks 162 using long MDI (MCU-DSP Interface) messages of DSP Patch Data. Once the patch is loaded into P-RAM, the patch loader 114 queries the DSP for its patch version number to verify that the patch is loaded in P-RAM correctly.
  • To upgrade a DSP Patch on [0060] wireless device 12, the DSP Patch Data 166 and PVT 164 in the DSP Patch Blocks 162 of the flash memory 160 must be updated with new DSP Patch Data and a new PVT. In the presently preferred embodiment, OTA DSP Patch Upgrade allows an end user to download DSP Patches and install the patches on the device 12 securely. Since the DSP Patch Loader 114 loads a patch from the DSP Patch Blocks 162 in the flash memory 160 to the P-RAM of the DSP at boot time, installation of a new DSP patch requires replacing the current DSP Patch Data with newly downloaded DSP Patch Data and updating the PVT 164 with the new patch version. So, essentially OTA DSP Patch upgrade requires OTA download of new DSP Patch Data and reprogramming of the DSP Patch Blocks with the newly downloaded DSP Patch Data and a new PVT.
  • Referring now to FIG. 12, a Patch Download Component Diagram is shown for explaining the Terminal Management (TM) architecture and how a DSP Patch Upgrade is integrated with the Terminal Management components. The shaded components are particular to the OTA ROM software patching architecture of the present invention. As previously discussed with reference to FIGS. 2 and 7, the [0061] server 10 and the wireless device (client) 12 transmit data back and forth using the SyncML format over an HTTP interface. Thus, the server 10 includes a Sync Server Agent 180 that transmits and receives messages and the wireless device 12 includes a sync client agent 182 that similarly sends and receives messages. The Sync Client Agent 182 is a set of Java classes that handle the sending and receiving of SyncML messages in order to implement the SyncML protocol. A XML parser is used to parse the SyncML message and extract SyncML operations. Each SyncML message has a header that contains a session ID, source, target locations, and authentication information. Both the server 10 and the wireless device 12 include a Namespace 184, 186 that defines the name and value of the management objects using a management tree that organizes all available management objects, where all management objects are uniquely addressed with a URI.
  • The [0062] patch server application 24 is part of a Terminal Management Server Application (TMSA) 188, which is an application implemented using a Java Servlet to perform Terminal Management with Patch Download functionality. The TMSA 188 uses services provided by the Sync Server Agent 180 to extract the SyncML operations with the Namespace 184. The TMSA 188 also updates the data in the MIB 28. The Patch Download functionality of the TMSA 188 corresponds to Patch Server Application 100 shown in FIG. 7. The wireless device 12 has a Terminal Manager 190, which is a terminal management J2ME application for wireless devices. The Terminal Manager 190 uses services provided by the Sync Client Agent 182. The Terminal Manager 190 supports three main operations: terminal tracking, terminal configuration, and patch download. The patch download functionality of the Terminal Manager 190 corresponds to Patch Agent Application 106 shown in FIG. 7. As previously discussed with reference to FIG. 2, the Terminal Profile 40 contains device specific classes that allow SyncML software to access device-specific functionality such as persistent storage and management operation manipulation to retrieve or upgrade data from the storage. The terminal profile 40 has two categories of components, one of which is platform independent and compatible with other profiles, and another which is platform specific component and not compatible with other profiles. The terminal profile 40 thus includes Terminal Profile Java APIs 192 and a terminal profile native implementation 194. The Java APIs 192 are a set of Java classes to handle domain-specific functionalities to greatly enhance the capabilities of the terminal management application. Applications developed using these classes are portable across different MIDP devices. The Java APIs 192 use TM native implementation to take advantage of native functionality such as querying device information and sharing data with native applications. The TM profile Java implementation uses patch profile java APIs for storing and installing patch data on the device 12. The Terminal Profile Native Implementation 194 is the platform specific component written in platform dependent language. The native implementation 194 uses device layer modules to execute AT commands corresponding to management operations. The native implementation 194 is not portable and totally dependent on platform.
  • The [0063] Patch Profile 42 provides services for storing the downloaded patch data and installing the patch on the device 12. In the current implementation the terminal manager 190 downloads the patch data to be installed and uses the Patch Profile 42 to store and install the patch on the device 12. The Patch Profile 42 is generic so that support for a different patch type can be easily added. The Patch Profile 42 can be divided into two sub-components, Patch Profile Java APIs 76 and Patch Profile Native Implementation 78. The Patch Profile Java APIs 76 are platform independent. The Terminal Manager 190 uses the APIs 76 to store and install the patch. The Java implementation uses Patch Profile Native Implementation 78 to carry out platform specific task such as installation of a DSP Patch. The Patch Profile Java APIs 76 are LCC. The Patch Profile Native Implementation 78 is platform dependent and includes native code for installing a DSP Patch in the DSP Patch Blocks 162.
  • The [0064] security APIs 110 verify the authenticity and integrity of the patch data. The Native Implementation 78 of patch profile uses these security APIs to verify authenticity and integrity of the DSP Patch Data using the license file downloaded from the server 10. The security APIs 110 are currently implemented in C, but it is possible to have a Java wrapper class to access them from Java if the integrity and authenticity of the Java wrapper can be independently ensured. It is crucial to security that only trusted software be allowed to install patch data. It is also noted that MIDP 2.0 allows for MIDLETS to be signed by a trusted authority, which is an alternative method to ensure integrity and authenticity of the installer Java program and the patch data.
  • Referring now to FIGS. [0065] 13-17, in order to insure that the patch is installed in a fail-safe manner, certain installation states have been defined in the native implementation of the patch install. Several operations are performed during the transition from one state to another state. A particular installation state indicates all the operations to reach that state have been performed completely. The following installation states and operations are required to reach a state from its previous state: State0, Initial State (Old Patch is currently installed); State1, Backup of old patch is taken in flash memory; State2,Alternative Patch Version Table is created in the last DSP Patch Block and a DSP boot-loader flag is set; State3, Erased DSP blocks except last DSP Patch Block, New PVT is created and written at start of first DSP Patch Block; State4 (Final State), Last DSP Patch is erased and new patch data is written in space available on DSP Patch Blocks, and the PVT is modified to activate new patch. Each state transition can be considered atomic, either they are performed fully or if a system crash occurs before transition has been performed fully, that transition is re-started from the beginning without corrupting the data in the DSP Patch Blocks at the time of installation recovery. FIG. 13 is a flowchart of the DSP Patch algorithm and explains the overall algorithm at a higher level. Each state transition is explained in the subsequent detailed flow charts shown in FIGS. 14-17.
  • As will be apparent from the foregoing, software download is an efficient mechanism to support re-configurable features of any type of wireless device. The present invention discloses an architecture solution for managing the mobile radio software over the air for deployment of software modules (upgrades of DSP software) below the application level in mobile terminals. The description of the preferred embodiments of the present invention have been presented for purposes of illustration and description, but are not intended to be exhaustive or to limit the invention to the forms disclosed. It will be understood by those of skill in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed. [0066]
    TABLE 1
    TABLE OF ABBREVIATIONS
    DRM Digital Rights Management
    DSP Digital Signal Processor
    DSP Patch A DSP patch is a set of functions, loaded in to P-RAM
    (Program RAM) of DSP chip at the boot time of DSP
    and executed instead of specific functions/code in
    P-ROM (Program ROM) of DSP chip.
    DSP Patch Blocks Flash Memory blocks on Panther were the DSP Patch
    Data is stored.
    DSP Patch Data A DSP Object code for a DSP Patch is converted into
    series of long MDI messages and stored in DSP Patch
    Blocks. This converted format is known as DSP Patch
    Data.
    Flash Memory It is a non-volatile memory in a mobile terminal.
    MCU Micro Controller Unit
    MDI MCU - DSP Interface
    MIB Management Information Base
    OTA Over The Air
    Patch Program Patch Program is a function or set of functions being
    executed instead of the corresponding ROM code.
    Patch Data Patch program formatted in specific way for
    installation on the mobile device.
    PatchID Unique 2 bytes integer number assigned to a particular
    patch.
    PP Patch Profile
    P-RAM Program - RAM for Processor
    P-ROM Program - ROM for Processor
    PVT Patch Version Table is a table of Patch Version and
    location of their corresponding DSP Patch Data.
    SyncML SyncML is the leading open industry standard for
    universal synchronization of remote data and personal
    information across multiple networks, platforms
    and devices.
    TM Terminal Management. Terminal Management is a
    collection of client/server applications and functions,
    which allow operators/service providers the ability to
    remotely manage terminals in their networks.

Claims (10)

1. A method of over-the-air updating of software of a wireless electronic device by a server, comprising the steps of:
sending a patch notification message from the server to the wireless device, wherein receipt of the patch notification message initiates a patch agent on the wireless device;
the server receiving parameters of the wireless device from the wireless device;
the server determining a need for providing a predetermined software patch to the wireless device using the received parameters; and
sending a software patch to the wireless device in response to the determining step, wherein the software patch is received, stored and installed on the wireless device by the patch agent.
2. The method of over-the-air updating of software of a wireless electronic device by a server of claim 1, wherein the software patch comprises a software bug fix.
3. The method of over-the-air updating of software of a wireless electronic device by a server of claim 1, wherein the software patch comprises a feature enhancement.
4. The method of over-the-air updating of software of a wireless electronic device by a server of claim 1, wherein the software patch includes new software features.
5. The method of over-the-air updating of software of a wireless electronic device by a server of claim 1, further comprising the step of receiving from the wireless device a status message indicating a result of the software patch installation.
6. The method of over-the-air updating of software of a wireless electronic device by a server of claim 1, wherein the software patch contains patch software and a jump table entry.
7. A method of over-the-air (OTA) updating of processor software of a wireless electronic device by a server, comprising the steps of:
the server sending a notification message to the wireless device;
the server receiving capability negotiation parameter values from the wireless device sent to the server in response to the notification message;
the server analyzing the received negotiation parameter values to determine whether the wireless device has enough resources to receive and install a predetermined patch program;
the server transmitting OTA the predetermined patch program to the wireless device based on a result of the analyzing step, wherein a patch agent running on the wireless device executes an installation process on the wireless device that installs the predetermined patch program in a non-volatile memory of the mobile device and wherein once started, the patch installation proceeds automatically.
8. A patch server for over-the-air (OTA) updating of processor software of a client, wireless electronic device, the patch server comprising:
a patch server application that communicates with client devices via an OTA interface, wherein the patch server application initiates a patch download to a client device by sending a patch notification message to the client device that initiates a patch agent application on the client device;
a patch program database in communication with the patch server application, wherein the patch program database stores a plurality of downloadable patch programs for downloading to the client devices; and
a patch data generator in communication with the patch program database, the patch data generator for generating the downloadable patch programs by encoding predetermined patch data.
9. The patch server of claim 8, wherein each of the downloadable patch programs includes a unique patch identification number, a ROM version number, a processor identification number, and a license certification.
10. The patch server of claim 8, wherein the predetermined patch data encoded by the patch data generator includes a ROM version number, a processor identification number, a patch program version number, and a patch program size.
US10/652,352 2002-08-30 2003-08-29 Over the air mobile device software management Abandoned US20040098715A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/652,352 US20040098715A1 (en) 2002-08-30 2003-08-29 Over the air mobile device software management

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40745302P 2002-08-30 2002-08-30
US10/652,352 US20040098715A1 (en) 2002-08-30 2003-08-29 Over the air mobile device software management

Publications (1)

Publication Number Publication Date
US20040098715A1 true US20040098715A1 (en) 2004-05-20

Family

ID=32302503

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/652,352 Abandoned US20040098715A1 (en) 2002-08-30 2003-08-29 Over the air mobile device software management

Country Status (1)

Country Link
US (1) US20040098715A1 (en)

Cited By (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040109454A1 (en) * 2002-09-20 2004-06-10 Nokia Corporation Addressing a management object
US20040133887A1 (en) * 2002-12-05 2004-07-08 Samsung Electronics Co., Ltd. Apparatus and method for upgrading software of a wireless mobile station
US20040186883A1 (en) * 2003-03-19 2004-09-23 Nyman Kai T. Method and apparatus for interfacing web services with mobile terminal applications during a browser or SIP session
US20040192272A1 (en) * 2003-03-26 2004-09-30 Samsung Electronics Co., Ltd. Method of starting an application program of a mobile terminal and method of providing service data in a mobile communication system
WO2004086196A2 (en) * 2003-03-24 2004-10-07 Bitfone Corporation Electronic device supporting multiple update agents
US20040261072A1 (en) * 2003-06-20 2004-12-23 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
US20050010585A1 (en) * 2003-07-01 2005-01-13 Nokia Corporation Specifying management nodes in a device management system
US20050015503A1 (en) * 2003-07-18 2005-01-20 Alcatel Transaction process for the provisioning of rules in a rule-based network
US20050055689A1 (en) * 2003-09-10 2005-03-10 Abfalter Scott A. Software management for software defined radio in a distributed network
US20050091517A1 (en) * 2003-07-16 2005-04-28 Pkware, Inc. Method and system for mixed symmetric and asymmetric encryption of .ZIP files
US20050128520A1 (en) * 2003-12-16 2005-06-16 Jeff Glickman Digital signature protection for software
US20050149951A1 (en) * 2003-12-31 2005-07-07 Juha Uola Accessing accessory of a device
US20050234967A1 (en) * 2004-04-16 2005-10-20 Motorola, Inc. System and method for providing data storage through a device management tree using non-device management agents
US20050251858A1 (en) * 2004-04-05 2005-11-10 Delregno Nick Providing applets to remote devices in a communications network
GB2414138A (en) * 2004-05-12 2005-11-16 Nec Technologies Software Update Apparatus & Method.
US20050260979A1 (en) * 2004-03-22 2005-11-24 Vadim Draluk System and method for managing resources and applications of a wireless communication device
DE102004025734A1 (en) * 2004-05-26 2005-12-22 Siemens Ag Method for optimizing reconfiguration processes in mobile radio networks with reconfigurable terminals by collecting and providing suitable measurement data and a corresponding arrangement
WO2006000641A1 (en) * 2004-06-28 2006-01-05 Nokia Corporation User confirmation in data downloading
WO2006003511A1 (en) 2004-06-30 2006-01-12 Nokia Corporation A method of providing a radio service at a remote terminal
US20060031428A1 (en) * 2004-08-06 2006-02-09 Johan Wikman System and method for third party specified generation of web server content
US20060039564A1 (en) * 2000-11-17 2006-02-23 Bindu Rama Rao Security for device management and firmware updates in an operator network
FR2875921A1 (en) * 2004-09-27 2006-03-31 Gemplus Sa CAMERA FOR DOWNLOADING DATA IN PORTABLE COMMUNICATING OBJECTS
US20060075077A1 (en) * 2004-10-05 2006-04-06 Brookner George M System and method of secure updating of remote device software
US20060080659A1 (en) * 2004-10-13 2006-04-13 Jp Mobile Operating, L.P. System and method of provisioning software to mobile devices
WO2006045334A1 (en) * 2004-10-28 2006-05-04 Telecom Italia S.P.A. A method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
US20060101093A1 (en) * 2004-11-05 2006-05-11 Seiko Epson Corporation Processing device and program update method
WO2006057861A1 (en) * 2004-11-22 2006-06-01 Motorola Inc. System and method for over-the-air update of wireless communication devices
US20060136705A1 (en) * 2004-12-21 2006-06-22 Motorola, Inc. Multiple stage software verification
WO2006064088A1 (en) * 2004-12-14 2006-06-22 Nokia Corporation Transaction control arrangement for device management system
US20060136899A1 (en) * 2004-12-20 2006-06-22 Samsung Electronics Co., Ltd. Method for programming/updating software using USB OTG
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143601A1 (en) * 2004-12-28 2006-06-29 International Business Machines Corporation Runtime optimizing applications for a target system from within a deployment server
US20060143252A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143250A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143714A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143691A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060156129A1 (en) * 2004-12-15 2006-07-13 International Business Machines Corporation System for maintaining data
US20060155731A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060160529A1 (en) * 2005-01-14 2006-07-20 Holger Glass Systems and methods for the automatic customization or configuration of mobile devices
US20060168578A1 (en) * 2005-01-21 2006-07-27 U-Turn Media Corporation Methods and systems for managing a mobile client in a client-server system connected via a public network
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060184651A1 (en) * 2005-02-11 2006-08-17 Srikanthan Tirnumala Architecture for general purpose trusted virtual client and methods therefor
US20060200658A1 (en) * 2005-03-07 2006-09-07 Bitfone Corporation Agent framework for mobile devices
US20060212562A1 (en) * 2005-03-15 2006-09-21 Mformation Technologies, Inc. System and method for trap management and monitoring on wireless terminals
US20060217107A1 (en) * 2005-03-23 2006-09-28 Oracle International Corporation Device billing agent
US20060230187A1 (en) * 2005-04-06 2006-10-12 Samsung Electronics Co., Ltd. Method and system for optimizing a software-defined radio system
US20060236314A1 (en) * 2005-04-18 2006-10-19 Vladimir Blagojevic Method for upgrading application data according to a new application definition
US20060262743A1 (en) * 2005-05-23 2006-11-23 Amit Kalhan Wireless communication device management system and method
WO2007006859A1 (en) * 2005-07-12 2007-01-18 Capricode Oy Method and device arrangement for managing a client/server environment
WO2007006860A1 (en) * 2005-07-12 2007-01-18 Capricode Oy Method and device arrangement for managing a user application/device management server/client device environment
US20070028120A1 (en) * 2004-11-12 2007-02-01 Apple Computer, Inc. Secure software updates
US20070043777A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US20070049265A1 (en) * 2005-08-30 2007-03-01 Kaimal Biju R Apparatus and method for local device management
US20070077903A1 (en) * 2005-09-30 2007-04-05 Microsoft Corporation Network service for modularly constructing a software defined radio
US20070101393A1 (en) * 2005-10-31 2007-05-03 Sony Corporation Separate-type signal processing apparatus and software version updating method therefor
US20070105542A1 (en) * 2005-11-09 2007-05-10 Chipcon As Over-the-air download (OAD) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
WO2007055686A1 (en) 2005-11-09 2007-05-18 Chipcon As Over-the-air download (oad) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
US20070131963A1 (en) * 2004-05-21 2007-06-14 Uwe Kellner-Werdehausen Thyristor Which Can Be Triggered Electrically And By Radiation, And Methods For Making Contact With It
US20070199069A1 (en) * 2006-02-14 2007-08-23 Mitsuo Ohtake Device information acquisition apparatus and device information acquisition program
WO2007101533A2 (en) * 2006-03-09 2007-09-13 Telefonaktiebolaget L M Ericsson (Publ) Platform boot with bridge support
US20070245335A1 (en) * 2006-03-28 2007-10-18 Fujitsu Limited Software management apparatus and software management method
WO2007125054A1 (en) * 2006-04-28 2007-11-08 Gemalto Sa Transmission of data between a server and a communicating object
US20070261047A1 (en) * 2006-05-03 2007-11-08 Microsoft Corporation Differentiated Installable Packages
US20070288553A1 (en) * 2004-06-24 2007-12-13 Freestyle Technology Pty Ltd. Client Processor Device
WO2008001118A2 (en) * 2006-06-30 2008-01-03 British Telecommunications Public Limited Company Receiver and aspects thereof
US20080016504A1 (en) * 2006-07-14 2008-01-17 Wesley Homer Cheng Dynamically programmable electronic data collection system combining declarative programming and native coding
US20080014912A1 (en) * 2003-05-15 2008-01-17 Osamu Otaka Cooperative Operation Method, Mobile Communication Terminal Thereof, Mail Transceiving Method, And Communication System
US20080046988A1 (en) * 2004-10-20 2008-02-21 Salt Group Pty Ltd Authentication Method
US20080046371A1 (en) * 2006-08-21 2008-02-21 Citrix Systems, Inc. Systems and Methods of Installing An Application Without Rebooting
US20080051075A1 (en) * 2006-08-02 2008-02-28 Freescale Semiconductor, Inc. Method and apparatus for reconfiguring a remote device
US20080070495A1 (en) * 2006-08-18 2008-03-20 Michael Stricklen Mobile device management
WO2008035183A2 (en) * 2006-09-20 2008-03-27 Gemalto S.A. Method, server and mobile station for transfering data from the server to the mobile station.
US20080091933A1 (en) * 2006-10-17 2008-04-17 Dell Products L.P. System and method for automated remote booting in a serial attached SCSI environment
US20080098160A1 (en) * 2006-03-31 2008-04-24 Marko Slyz Mobile device capable of multiple updates
US20080155071A1 (en) * 2006-12-22 2008-06-26 Magnus Lindstrom Method and system for bootstrap of a device
US20080218309A1 (en) * 2007-03-06 2008-09-11 Qualcomm Incorporated Method and technology for remote administration of wireless devices
US20080229388A1 (en) * 2005-03-23 2008-09-18 Oracle International Corporation Device agent
US20080271023A1 (en) * 2006-10-20 2008-10-30 Vodafone Group Plc Device management
US20080295093A1 (en) * 2004-06-09 2008-11-27 Cedric Hutchings Method and Module for Dynamic Hosting of Software Applications in a Gateway Between an Operator Network and a Local Area Network
US20090013317A1 (en) * 2007-02-08 2009-01-08 Airnet Communications Corporation Software Management for Software Defined Radio in a Distributed Network
US20090019435A1 (en) * 2007-07-12 2009-01-15 Sauer-Danfoss Inc. System and method for over the air programming
US20090044191A1 (en) * 2006-01-24 2009-02-12 Huawei Technologies Co., Ltd. Method and terminal device for executing scheduled tasks and management tasks
US20090082008A1 (en) * 2007-09-21 2009-03-26 Per Thorell Mobile Phone Code Debugging Method and Apparatus
WO2009037227A1 (en) * 2007-09-20 2009-03-26 Telefonaktiebolaget L M Ericsson (Publ) Mobile phone code editing method and apparatus
US20090089774A1 (en) * 2007-09-27 2009-04-02 Lynch Timothy J In-service software upgrade utilizing metadata-driven state translation
US20090131020A1 (en) * 2004-05-24 2009-05-21 Van De Groenendaal Joannes G Wireless manager and method for configuring and securing wireless access to a network
US20090138868A1 (en) * 2007-11-26 2009-05-28 Vanover Michael T Techniques for Providing Software Patches to a Computer System
US20090171007A1 (en) * 2005-07-25 2009-07-02 Toyo Ink Mfg. Co., Ltd. Actinic radiation curable jet-printing ink
US20090199176A1 (en) * 2008-02-06 2009-08-06 Badri Nath System and method to securely load a management client from a stub client to facilitate remote device management
US7584466B1 (en) * 2003-06-16 2009-09-01 Hewlett-Packard Development Company, L.P. Management tree management in a mobile handset
US20090240767A1 (en) * 2006-09-29 2009-09-24 Huawei Technologies Co., Ltd. Method, terminal, server and system for processing notification message
US20090282263A1 (en) * 2003-12-11 2009-11-12 Khan Moinul H Method and apparatus for a trust processor
US20100005511A1 (en) * 2008-07-02 2010-01-07 Oracle International Corporation Usage based authorization
US20100005125A1 (en) * 1996-12-13 2010-01-07 Visto Corporation System and method for globally and securely accessing unified information in a computer network
US7668612B1 (en) * 2003-09-18 2010-02-23 Hewlett-Packard Development Company, L.P. System and method for efficient manufacture and update of electronic devices
US20100088367A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Mobile wireless communications device and system providing dynamic management of carrier applications and related methods
US20100087184A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited System and methods for configuring an updating frequency for mobile wireless communications device application updates and related methods
US20100088696A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Mobile wireless communications system providing downloading and installation of mobile device applications upon registration and related methods
US20100087181A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Server for sending new application portions to mobile wireless communications devices and related methods
EP2180758A1 (en) * 2008-02-04 2010-04-28 Huawei Technologies Co., Ltd. Configuration method and device of terminal equipment
US20100115502A1 (en) * 2008-11-06 2010-05-06 Jiva Azeem S Post Processing of Dynamically Generated Code
US20100154009A1 (en) * 2008-12-17 2010-06-17 General Instrument Corporation Method and apparatus for downloading software images to a mobile device and to a home networked device to implement compatible services
US20100191613A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Open transaction central billing system
US20100197266A1 (en) * 2009-01-28 2010-08-05 Headwater Partners I Llc Device assisted cdr creation, aggregation, mediation and billing
US20100235827A1 (en) * 2009-03-10 2010-09-16 Nokia Corporation Creation of multiple radio instances
US7840490B1 (en) * 2006-08-30 2010-11-23 United Services Automobile Association (Usaa) Comprehensive software licensing management system
US20100298011A1 (en) * 2009-05-19 2010-11-25 Alcatel-Lucent Usa Inc. Method and Appartus for Remote Software Installation and Execution on a Mobile Device
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20100306761A1 (en) * 2004-11-17 2010-12-02 Diament Judah M Method and apparatus for dynamic middleware assembly
US20100333065A1 (en) * 2009-06-30 2010-12-30 Computer Assoicates Think, Inc. Binary code modification system and method for implementing a web service interface
US20100333079A1 (en) * 2009-06-30 2010-12-30 Computer Associates Think, Inc. Binary Code Modification System and Method for Implementing Identity and Access Management or Governance Policies
US20110004941A1 (en) * 2002-08-09 2011-01-06 Visto Corporation System and method for preventing access to data on a compromised remote device
US20110019774A1 (en) * 2009-07-22 2011-01-27 Fujitsu Limited Wireless communication apparatus and wireless communication method
US20110125995A1 (en) * 2009-11-26 2011-05-26 Samsung Electronics Co. Ltd. Method and apparatus for downloading secure micro bootloader of receiver in downloadable conditional access system
US20110158173A1 (en) * 2008-07-09 2011-06-30 Telefonica, S.A. System for distributing broadband wireless signals indoors
US20110167153A1 (en) * 2010-01-07 2011-07-07 Oracle International Corporation Policy-based exposure of presence
US20110167479A1 (en) * 2010-01-07 2011-07-07 Oracle International Corporation Enforcement of policies on context-based authorization
US20110166943A1 (en) * 2010-01-07 2011-07-07 Oracle International Corporation Policy-based advertisement engine
US20110196728A1 (en) * 2010-02-05 2011-08-11 Oracle International Corporation Service level communication advertisement business
US20110197257A1 (en) * 2010-02-05 2011-08-11 Oracle International Corporation On device policy enforcement to secure open platform via network and open network
US20110214115A1 (en) * 2010-02-26 2011-09-01 Nokia Corporation Method and appartus for providing a high level mobile virtual machine
US8081596B1 (en) 2004-10-28 2011-12-20 Telecom Italia S.P.A. Method and a network architecture for configuring a radio terminal, radio terminal, network node and a computer program product therefor
US8261256B1 (en) * 2006-08-24 2012-09-04 Bby Solutions, Inc. System and method for automatically updating the software of a networked personal audiovisual device
US20120266155A1 (en) * 2011-04-13 2012-10-18 Xerox Corporation Method and system to regulate the electronic availability of application software updates based on information collected regarding installation, usage and support for these updates
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8351898B2 (en) 2009-01-28 2013-01-08 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US8365162B2 (en) 2004-09-28 2013-01-29 Capricode Oy Method and device arrangement for managing the use profile of a terminal device
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8468515B2 (en) 2000-11-17 2013-06-18 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US8472327B2 (en) 2004-04-05 2013-06-25 Verizon Business Global Llc Apparatus and method for testing and fault isolation in a communication network
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US20130219147A1 (en) * 2010-10-13 2013-08-22 Huawei Technologies Co., Ltd. Multi-Core Online Patching Method and Apparatus
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US20130243055A1 (en) * 2010-12-24 2013-09-19 Seung Won Choi Software-defined radio terminal device and method for distributing and installing radio application
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8554175B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications on a mobile device
US8554179B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US8578361B2 (en) 2004-04-21 2013-11-05 Palm, Inc. Updating an electronic device with update agent code
US20130295902A1 (en) * 2012-04-05 2013-11-07 Nokia Corporation Method And Apparatus For Remotely Managing Devices Utilizing Request-Response Protocols
US8583722B1 (en) * 2006-02-08 2013-11-12 Federal Home Loan Mortgage Corporation Systems and methods for infrastructure validation
US20130305238A1 (en) * 2012-05-11 2013-11-14 Airbus Operations (S.A.S.) Method for updating a software application hosted by an equipment item on board an aircraft
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8606891B2 (en) 2004-09-10 2013-12-10 Freestyle Technology Pty Ltd Client processor device for building application files from file fragments for different versions of an application
US8606911B2 (en) 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
US8621450B2 (en) * 2011-07-20 2013-12-31 Google Inc. Method for determining a version of a software application targeted for a computing device
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US20140096122A1 (en) * 2004-05-11 2014-04-03 Microsoft Corporation Efficient patching
US8713646B2 (en) 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8745220B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
DE102005035736B4 (en) * 2005-07-29 2014-06-12 Globalfoundries Inc. Safe correction software installation for WWAN systems
US20140162620A1 (en) * 2012-12-11 2014-06-12 Qualcomm Incorporated Methods and apparatus for updating a device configuration
US8756426B2 (en) 2013-07-03 2014-06-17 Sky Socket, Llc Functionality watermarking and management
US8775815B2 (en) 2013-07-03 2014-07-08 Sky Socket, Llc Enterprise-specific functionality watermarking and management
US8782412B2 (en) 2011-08-31 2014-07-15 AstherPal Inc. Secured privileged access to an embedded client on a mobile device
US20140208307A1 (en) * 2011-09-09 2014-07-24 Zte Corporation Method and System for Upgrading CPE Firmware
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8799886B1 (en) * 2005-01-21 2014-08-05 Callwave Communications, Llc Methods and systems for transferring data over a network
US8806217B2 (en) 2013-07-03 2014-08-12 Sky Socket, Llc Functionality watermarking and management
US8826432B2 (en) 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8832785B2 (en) 2012-12-06 2014-09-09 Airwatch, Llc Systems and methods for controlling email access
US20140289864A1 (en) * 2011-11-04 2014-09-25 British Telecommunications Public Limited Company Method and apparatus for securing a computer
US8862868B2 (en) 2012-12-06 2014-10-14 Airwatch, Llc Systems and methods for controlling email access
US20140310701A1 (en) * 2013-04-15 2014-10-16 Cellco Partnership D/B/A Verizon Wireless Cancelling device over the air software update
US8893110B2 (en) 2006-06-08 2014-11-18 Qualcomm Incorporated Device management in a network
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8910263B1 (en) 2013-09-17 2014-12-09 Iboss, Inc. Mobile device management profile distribution
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US8978110B2 (en) 2012-12-06 2015-03-10 Airwatch Llc Systems and methods for controlling email access
US8997187B2 (en) 2013-03-15 2015-03-31 Airwatch Llc Delegating authorization to applications on a client device in a networked environment
US9015246B2 (en) 2012-03-30 2015-04-21 Aetherpal Inc. Session collaboration
US9021037B2 (en) 2012-12-06 2015-04-28 Airwatch Llc Systems and methods for controlling email access
WO2015065513A1 (en) * 2013-11-04 2015-05-07 Symantec Corporation Systems and methods for updating system-level services within read-only system images
US9031042B2 (en) 2005-11-08 2015-05-12 Microsoft Technology Licensing, Llc Adapting a communication network to varying conditions
US20150156703A1 (en) * 2006-10-11 2015-06-04 Lg Electronics Inc. Managing contextual information for wireless communications
US9069973B2 (en) 2012-03-30 2015-06-30 Aetherpal Inc. Password protect feature for application in mobile device during a remote session
US20150199192A1 (en) * 2014-01-13 2015-07-16 Carefusion 303, Inc. Remote flashing during infusion
US9094311B2 (en) 2009-01-28 2015-07-28 Headwater Partners I, Llc Techniques for attribution of mobile device data traffic to initiating end-user application
US9098450B2 (en) * 2012-03-20 2015-08-04 Google Inc. Automated application update checks based on unexpected errors and crashes
CN104823408A (en) * 2012-12-06 2015-08-05 高通股份有限公司 Management of network devices utilizing authorization token
US9106433B2 (en) 2005-11-30 2015-08-11 Microsoft Technology Licensing, Llc Predicting degradation of a communication channel below a threshold based on data transmission errors
US9135227B2 (en) 2002-09-10 2015-09-15 SQGo, LLC Methods and systems for enabling the provisioning and execution of a platform-independent application
US9141509B2 (en) 2012-03-30 2015-09-22 Aetherpal Inc. Mobile device remote control session activity pattern recognition
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US9158829B2 (en) 2004-10-28 2015-10-13 Good Technology Software, Inc. System and method of data security in synchronizing data with a wireless device
US9161225B2 (en) 2011-09-23 2015-10-13 Blackberry Limited Authentication procedures for managing mobile device applications
US9224001B2 (en) 2012-03-30 2015-12-29 Aetherpal Inc. Access control list for applications on mobile devices during a remote control session
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9258301B2 (en) 2013-10-29 2016-02-09 Airwatch Llc Advanced authentication techniques
US9323515B1 (en) * 2004-01-16 2016-04-26 Qualcomm Incorporated Network with broker for device management
US20160125185A1 (en) * 2013-06-27 2016-05-05 Huawei Device Co., Ltd. Web Application Security Access Method, Server, and Client
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9380077B2 (en) * 2013-08-08 2016-06-28 Iboss, Inc. Switching between networks
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9432871B2 (en) 2005-06-03 2016-08-30 Good Technology Corporation System and method for monitoring and maintaining a wireless device
US9473953B2 (en) 2012-03-30 2016-10-18 Aetherpal Inc. Roaming detection and session recovery during VMM-RC
US9495521B2 (en) 2010-02-05 2016-11-15 Oracle International Corporation System self integrity and health validation for policy enforcement
US9497688B2 (en) 2011-09-23 2016-11-15 Certicom Corp. Managing mobile device applications in a wireless network
US9516005B2 (en) 2013-08-20 2016-12-06 Airwatch Llc Individual-specific content management
US9544306B2 (en) 2013-10-29 2017-01-10 Airwatch Llc Attempted security breach remediation
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
WO2017030886A1 (en) * 2015-08-14 2017-02-23 Pcms Holding, Inc. Securely upgrading resource constrained devices
US9584437B2 (en) 2013-06-02 2017-02-28 Airwatch Llc Resource watermarking and management
US20170083304A1 (en) * 2014-06-11 2017-03-23 Home Control Singapore Pte. Ltd. System For Installing Software on a Small-Memory Device
USRE46355E1 (en) 2006-02-27 2017-03-28 Good Technology Holdings Limited Method and system for distributing and updating software in wireless devices
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US20170142156A1 (en) * 2015-11-12 2017-05-18 Toyota Infotechnology Center Usa, Inc. Application Assurance for Open Platform In-Vehicle Infotainment System
US9665723B2 (en) 2013-08-15 2017-05-30 Airwatch, Llc Watermarking detection and management
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
CN107231367A (en) * 2017-06-21 2017-10-03 北京奇虎科技有限公司 Method for automatically notifying, device and the server of signature information
WO2017172434A1 (en) * 2016-04-01 2017-10-05 Pcms Holdings, Inc. Internet of things software securtiy configuration
US9787686B2 (en) 2013-04-12 2017-10-10 Airwatch Llc On-demand security policy activation
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US9817646B1 (en) 2014-03-17 2017-11-14 Google Llc Multiplatform and multichannel distribution of web applications across devices
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
CN107704278A (en) * 2016-08-08 2018-02-16 北京京东尚科信息技术有限公司 Application upgrade method and apparatus
US9900261B2 (en) 2013-06-02 2018-02-20 Airwatch Llc Shared resource watermarking and management
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US20180189038A1 (en) * 2016-12-29 2018-07-05 General Electric Company Automatic conversion of application program code listing segments for off-line environment
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10129083B2 (en) 2016-02-24 2018-11-13 Wipro Limited Methods for optimizing an over-the-air update using a lightweight device update protocol (LWDUP)
US10171995B2 (en) 2013-03-14 2019-01-01 Headwater Research Llc Automated credential porting for mobile devices
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10409585B2 (en) * 2018-02-14 2019-09-10 Micron Technology, Inc. Over-the-air (OTA) update for firmware of a vehicle component
US10419594B2 (en) * 2015-12-08 2019-09-17 Samsung Electronics Co., Ltd. Method for operating mobile device having plurality of card modules installed therein and mobile device therefor
US10452383B1 (en) * 2017-04-28 2019-10-22 Square, Inc. Device improvements through adaptive settings
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US20200210104A1 (en) * 2018-12-28 2020-07-02 Nadav Grosz Host adaptive memory device optimization
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10951541B2 (en) 2012-02-14 2021-03-16 Airwatch, Llc Controlling distribution of resources on a network
US11003537B2 (en) 2018-05-29 2021-05-11 Micron Technology, Inc. Determining validity of data read from memory by a controller
US11082355B2 (en) 2012-02-14 2021-08-03 Airwatch, Llc Controllng distribution of resources in a network
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
CN113949733A (en) * 2021-08-31 2022-01-18 宁波三星智能电气有限公司 Firmware upgrading method for electric energy meter
US20220113957A1 (en) * 2019-06-21 2022-04-14 Huawei Technologies Co., Ltd. Software Upgrade Method, Apparatus, and System
US11385903B2 (en) * 2020-02-04 2022-07-12 Microsoft Technology Licensing, Llc Firmware update patch
US11412366B2 (en) 2009-01-28 2022-08-09 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US11481206B2 (en) 2019-05-16 2022-10-25 Microsoft Technology Licensing, Llc Code update in system management mode
US11824644B2 (en) 2013-03-14 2023-11-21 Airwatch, Llc Controlling electronically communicated resources
US11876676B2 (en) 2019-10-16 2024-01-16 Nxp Usa, Inc Network node firmware update
US11947666B2 (en) * 2020-08-31 2024-04-02 Seraphic Algorithms Ltd Systems and methods for exploit prevention and malicious code neutralization using non-predictable results for JavaScript-enabled applications

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4816820A (en) * 1986-10-21 1989-03-28 Motorola, Inc. Radio communication receiver with apparatus for altering bit rate of the receiver
US6158018A (en) * 1997-11-25 2000-12-05 Philips Semiconductor, Inc. Integrated circuit including patching circuitry to bypass portions of an internally flawed read only memory and a method therefore
US6260157B1 (en) * 1999-02-16 2001-07-10 Kurt Schurecht Patching of a read only memory
US20010046854A1 (en) * 1998-10-21 2001-11-29 Pascal Henry Method of remotely updating the software of a mobile telephone terminal
US6378069B1 (en) * 1998-11-04 2002-04-23 Nortel Networks Limited Apparatus and methods for providing software updates to devices in a communication network
US6687901B1 (en) * 1999-09-06 2004-02-03 Fujitsu Limited Method and apparatus for updating software in radio terminal device
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4816820A (en) * 1986-10-21 1989-03-28 Motorola, Inc. Radio communication receiver with apparatus for altering bit rate of the receiver
US6158018A (en) * 1997-11-25 2000-12-05 Philips Semiconductor, Inc. Integrated circuit including patching circuitry to bypass portions of an internally flawed read only memory and a method therefore
US20010046854A1 (en) * 1998-10-21 2001-11-29 Pascal Henry Method of remotely updating the software of a mobile telephone terminal
US6378069B1 (en) * 1998-11-04 2002-04-23 Nortel Networks Limited Apparatus and methods for providing software updates to devices in a communication network
US6260157B1 (en) * 1999-02-16 2001-07-10 Kurt Schurecht Patching of a read only memory
US6687901B1 (en) * 1999-09-06 2004-02-03 Fujitsu Limited Method and apparatus for updating software in radio terminal device
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information

Cited By (641)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812702B2 (en) 1996-12-13 2014-08-19 Good Technology Corporation System and method for globally and securely accessing unified information in a computer network
US9361603B2 (en) 1996-12-13 2016-06-07 Good Technology Corporation System and method for globally and securely accessing unified information in a computer network
US8745167B2 (en) 1996-12-13 2014-06-03 Good Technology Corporation System and method for globally and securely accessing unified information in a computer network
US20100005125A1 (en) * 1996-12-13 2010-01-07 Visto Corporation System and method for globally and securely accessing unified information in a computer network
US20110113257A1 (en) * 2000-03-09 2011-05-12 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US20060143250A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US10949394B2 (en) 2000-03-09 2021-03-16 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US9886444B2 (en) 2000-03-09 2018-02-06 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US7793099B2 (en) 2000-03-09 2010-09-07 Pkware, Inc. Method and system for encryption of file characteristics of .ZIP files
US20060143252A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143691A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20070043777A1 (en) * 2000-03-09 2007-02-22 Yuri Basin Systems and methods for manipulating and managing computer archive files
US7890465B2 (en) 2000-03-09 2011-02-15 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143714A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US10229130B2 (en) 2000-03-09 2019-03-12 Pkware, Inc. Systems and methods for manipulating and managing computer archive files
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060155731A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US8468515B2 (en) 2000-11-17 2013-06-18 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US20060039564A1 (en) * 2000-11-17 2006-02-23 Bindu Rama Rao Security for device management and firmware updates in an operator network
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US8090942B2 (en) 2001-03-09 2012-01-03 Pkware, Inc. Method and system for asymmetrically encrypting .ZIP files
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US9083707B2 (en) 2002-08-09 2015-07-14 Good Technology Corporation System and method for preventing access to data on a compromised remote device
US9672371B2 (en) 2002-08-09 2017-06-06 Good Technology Holdings Limited System and method for preventing access to data on a compromised remote device
US20110004941A1 (en) * 2002-08-09 2011-01-06 Visto Corporation System and method for preventing access to data on a compromised remote device
US8696765B2 (en) 2002-08-09 2014-04-15 Good Technology Corporation System and method for preventing access to data on a compromised remote device
US9965643B2 (en) 2002-08-09 2018-05-08 Blackberry Limited System and method for preventing access to data on a compromised remote device
US11017105B2 (en) 2002-08-09 2021-05-25 Blackberry Limited System and method for preventing access to data on a compromised remote device
US10552520B2 (en) 2002-09-10 2020-02-04 Sqgo Innovations, Llc System and method for provisioning a mobile software application to a mobile device
US10372796B2 (en) 2002-09-10 2019-08-06 Sqgo Innovations, Llc Methods and systems for the provisioning and execution of a mobile software application
US9390191B2 (en) 2002-09-10 2016-07-12 SQGo, LLC Methods and systems for the provisioning and execution of a mobile software application
US9311284B2 (en) 2002-09-10 2016-04-12 SQGo, LLC Methods and systems for enabling the provisioning and execution of a platform-independent application
US10839141B2 (en) 2002-09-10 2020-11-17 Sqgo Innovations, Llc System and method for provisioning a mobile software application to a mobile device
US10831987B2 (en) 2002-09-10 2020-11-10 Sqgo Innovations, Llc Computer program product provisioned to non-transitory computer storage of a wireless mobile device
US10810359B2 (en) 2002-09-10 2020-10-20 Sqgo Innovations, Llc System and method for provisioning a mobile software application to a mobile device
US9342492B1 (en) 2002-09-10 2016-05-17 SQGo, LLC Methods and systems for the provisioning and execution of a mobile software application
US9135227B2 (en) 2002-09-10 2015-09-15 SQGo, LLC Methods and systems for enabling the provisioning and execution of a platform-independent application
US7734728B2 (en) * 2002-09-20 2010-06-08 Nokia Corporation Addressing a management object
US20040109454A1 (en) * 2002-09-20 2004-06-10 Nokia Corporation Addressing a management object
US7461373B2 (en) * 2002-12-05 2008-12-02 Samsung Electronics Co., Ltd. Apparatus and method for upgrading software of a wireless mobile station
US20040133887A1 (en) * 2002-12-05 2004-07-08 Samsung Electronics Co., Ltd. Apparatus and method for upgrading software of a wireless mobile station
US20040186883A1 (en) * 2003-03-19 2004-09-23 Nyman Kai T. Method and apparatus for interfacing web services with mobile terminal applications during a browser or SIP session
US7657884B2 (en) * 2003-03-24 2010-02-02 Hewlett-Packard Development Company, L.P. Electronic device supporting multiple update agents
WO2004086196A3 (en) * 2003-03-24 2005-04-28 Bitfone Corp Electronic device supporting multiple update agents
WO2004086196A2 (en) * 2003-03-24 2004-10-07 Bitfone Corporation Electronic device supporting multiple update agents
US20040243993A1 (en) * 2003-03-24 2004-12-02 Harri Okonnen Electronic device supporting multiple update agents
US20040192272A1 (en) * 2003-03-26 2004-09-30 Samsung Electronics Co., Ltd. Method of starting an application program of a mobile terminal and method of providing service data in a mobile communication system
US8406734B2 (en) * 2003-05-15 2013-03-26 Vodafone Group Plc Resource access control for mobile terminal
US20080014912A1 (en) * 2003-05-15 2008-01-17 Osamu Otaka Cooperative Operation Method, Mobile Communication Terminal Thereof, Mail Transceiving Method, And Communication System
US7584466B1 (en) * 2003-06-16 2009-09-01 Hewlett-Packard Development Company, L.P. Management tree management in a mobile handset
US20040261072A1 (en) * 2003-06-20 2004-12-23 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
US8572597B2 (en) * 2003-06-20 2013-10-29 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
US20050010585A1 (en) * 2003-07-01 2005-01-13 Nokia Corporation Specifying management nodes in a device management system
US9098721B2 (en) 2003-07-16 2015-08-04 Pkware, Inc. Method for strongly encrypting .ZIP files
US10607024B2 (en) 2003-07-16 2020-03-31 Pkware, Inc. Method for strongly encrypting .ZIP files
US20100119070A1 (en) * 2003-07-16 2010-05-13 Pkware, Inc. Method and System for Mixed Symmetric and Asymmetric Decryption of .ZIP Files
US7895434B2 (en) 2003-07-16 2011-02-22 Pkware, Inc. Method and system for multiple asymmetric encryption of .ZIP files
US8225108B2 (en) 2003-07-16 2012-07-17 Pkware, Inc. Method and system for mixed symmetric and asymmetric encryption of .ZIP files
US20080046761A1 (en) * 2003-07-16 2008-02-21 Pkware, Inc. Method and system for strongly encrypting .zip files
US11461487B2 (en) 2003-07-16 2022-10-04 Pkware, Inc. Method for strongly encrypting .ZIP files
US10127397B2 (en) 2003-07-16 2018-11-13 Pkware, Inc. Method for strongly encrypting .zip files
US20050091519A1 (en) * 2003-07-16 2005-04-28 Pkware, Inc. Method and system for authentication information encryption for .ZIP files
US20050091517A1 (en) * 2003-07-16 2005-04-28 Pkware, Inc. Method and system for mixed symmetric and asymmetric encryption of .ZIP files
US7949735B2 (en) * 2003-07-18 2011-05-24 Alcatel Transaction process for the provisioning of rules in a rule-based network
US20050015503A1 (en) * 2003-07-18 2005-01-20 Alcatel Transaction process for the provisioning of rules in a rule-based network
US20050055689A1 (en) * 2003-09-10 2005-03-10 Abfalter Scott A. Software management for software defined radio in a distributed network
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7668612B1 (en) * 2003-09-18 2010-02-23 Hewlett-Packard Development Company, L.P. System and method for efficient manufacture and update of electronic devices
US9043615B2 (en) 2003-12-11 2015-05-26 Intel Corporation Method and apparatus for a trust processor
US8751818B2 (en) * 2003-12-11 2014-06-10 Intel Corporation Method and apparatus for a trust processor
US20090282263A1 (en) * 2003-12-11 2009-11-12 Khan Moinul H Method and apparatus for a trust processor
US20050128520A1 (en) * 2003-12-16 2005-06-16 Jeff Glickman Digital signature protection for software
US20050149951A1 (en) * 2003-12-31 2005-07-07 Juha Uola Accessing accessory of a device
US9323515B1 (en) * 2004-01-16 2016-04-26 Qualcomm Incorporated Network with broker for device management
US20050260979A1 (en) * 2004-03-22 2005-11-24 Vadim Draluk System and method for managing resources and applications of a wireless communication device
US20050251858A1 (en) * 2004-04-05 2005-11-10 Delregno Nick Providing applets to remote devices in a communications network
US8472327B2 (en) 2004-04-05 2013-06-25 Verizon Business Global Llc Apparatus and method for testing and fault isolation in a communication network
US8488476B2 (en) * 2004-04-05 2013-07-16 Verizon Business Global Llc Providing applets to remote devices in a communications network
US20050234967A1 (en) * 2004-04-16 2005-10-20 Motorola, Inc. System and method for providing data storage through a device management tree using non-device management agents
US7499950B2 (en) * 2004-04-16 2009-03-03 Motorola, Inc. System and method for providing data storage through a device management tree using non-device management agents
US8578361B2 (en) 2004-04-21 2013-11-05 Palm, Inc. Updating an electronic device with update agent code
US20140096122A1 (en) * 2004-05-11 2014-04-03 Microsoft Corporation Efficient patching
US9092301B2 (en) * 2004-05-11 2015-07-28 Microsoft Technology Licensing, Llc Efficient patching
GB2414138A (en) * 2004-05-12 2005-11-16 Nec Technologies Software Update Apparatus & Method.
GB2414138B (en) * 2004-05-12 2006-11-22 Nec Technologies Software update apparatus and method
US20070131963A1 (en) * 2004-05-21 2007-06-14 Uwe Kellner-Werdehausen Thyristor Which Can Be Triggered Electrically And By Radiation, And Methods For Making Contact With It
US20090131020A1 (en) * 2004-05-24 2009-05-21 Van De Groenendaal Joannes G Wireless manager and method for configuring and securing wireless access to a network
US8180328B2 (en) 2004-05-24 2012-05-15 Computer Associates Think, Inc. Wireless manager and method for configuring and securing wireless access to a network
US8095115B2 (en) 2004-05-24 2012-01-10 Computer Associates Think, Inc. Wireless manager and method for configuring and securing wireless access to a network
DE102004025734B4 (en) * 2004-05-26 2006-07-27 Siemens Ag Method for optimizing reconfiguration processes in mobile radio networks with reconfigurable terminals by collecting and providing suitable measurement data and a corresponding arrangement
DE102004025734A1 (en) * 2004-05-26 2005-12-22 Siemens Ag Method for optimizing reconfiguration processes in mobile radio networks with reconfigurable terminals by collecting and providing suitable measurement data and a corresponding arrangement
US20080295093A1 (en) * 2004-06-09 2008-11-27 Cedric Hutchings Method and Module for Dynamic Hosting of Software Applications in a Gateway Between an Operator Network and a Local Area Network
US10284925B2 (en) 2004-06-24 2019-05-07 Freestyle Technology Limited Meter device
US9726515B2 (en) 2004-06-24 2017-08-08 Freestyle Technology Pty Ltd Meter device
US20080042871A1 (en) * 2004-06-24 2008-02-21 Freestyle Technology Pty, Ltd. Meter Device
US20070288553A1 (en) * 2004-06-24 2007-12-13 Freestyle Technology Pty Ltd. Client Processor Device
US8669882B2 (en) 2004-06-24 2014-03-11 Freestyle Technology Pty Ltd Alert device
US8041792B2 (en) * 2004-06-24 2011-10-18 Freestyle Technology Pty Ltd Client processor device for building application files from file fragments for different versions of an application
US7600015B2 (en) * 2004-06-28 2009-10-06 Nokia Corporation User confirmation in data downloading
WO2006000641A1 (en) * 2004-06-28 2006-01-05 Nokia Corporation User confirmation in data downloading
US20060031493A1 (en) * 2004-06-28 2006-02-09 Guido Cugi User confirmation in data downloading
US20090015370A1 (en) * 2004-06-30 2009-01-15 Nokia Corporation Method of Providing a Radio Service at a Remote Terminal
US8680963B2 (en) 2004-06-30 2014-03-25 Nokia Corporation Method of providing a radio service at a remote terminal
WO2006003511A1 (en) 2004-06-30 2006-01-12 Nokia Corporation A method of providing a radio service at a remote terminal
EP1762026B1 (en) * 2004-06-30 2015-10-21 Nokia Technologies Oy A method of providing a radio service at a remote terminal
US20060031428A1 (en) * 2004-08-06 2006-02-09 Johan Wikman System and method for third party specified generation of web server content
US9143380B2 (en) * 2004-08-06 2015-09-22 Nokia Technologies Oy System and method for third party specified generation of web server content
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US8606891B2 (en) 2004-09-10 2013-12-10 Freestyle Technology Pty Ltd Client processor device for building application files from file fragments for different versions of an application
US20090037586A1 (en) * 2004-09-27 2009-02-05 Gemplus Campaign for downloading data into portable communicating objects
FR2875921A1 (en) * 2004-09-27 2006-03-31 Gemplus Sa CAMERA FOR DOWNLOADING DATA IN PORTABLE COMMUNICATING OBJECTS
WO2006034904A1 (en) * 2004-09-27 2006-04-06 Gemplus Campaign for downloading data into portable communicating objects
US8407359B2 (en) 2004-09-27 2013-03-26 Gemalto Sa Campaign for downloading data into portable communicating objects
US9477459B2 (en) * 2004-09-28 2016-10-25 Capricode Oy Method and device arrangement for managing the use profile of a terminal device
US20130139143A1 (en) * 2004-09-28 2013-05-30 Capricode Oy Method and device arrangement for managing the use profile of a terminal device
US8365162B2 (en) 2004-09-28 2013-01-29 Capricode Oy Method and device arrangement for managing the use profile of a terminal device
US7512939B2 (en) 2004-10-05 2009-03-31 Neopost Technologies System and method of secure updating of remote device software
US20060075077A1 (en) * 2004-10-05 2006-04-06 Brookner George M System and method of secure updating of remote device software
US20060080659A1 (en) * 2004-10-13 2006-04-13 Jp Mobile Operating, L.P. System and method of provisioning software to mobile devices
US20080046988A1 (en) * 2004-10-20 2008-02-21 Salt Group Pty Ltd Authentication Method
US8752125B2 (en) * 2004-10-20 2014-06-10 Salt Group Pty Ltd Authentication method
US20090067367A1 (en) * 2004-10-28 2009-03-12 Enrico Buracchini Method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
US9031550B2 (en) 2004-10-28 2015-05-12 Telecom Italia S.P.A. Method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
US9158829B2 (en) 2004-10-28 2015-10-13 Good Technology Software, Inc. System and method of data security in synchronizing data with a wireless device
WO2006045334A1 (en) * 2004-10-28 2006-05-04 Telecom Italia S.P.A. A method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
KR101111141B1 (en) 2004-10-28 2012-03-08 텔레콤 이탈리아 소시에떼 퍼 아찌오니 A method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
US8081596B1 (en) 2004-10-28 2011-12-20 Telecom Italia S.P.A. Method and a network architecture for configuring a radio terminal, radio terminal, network node and a computer program product therefor
US20060101093A1 (en) * 2004-11-05 2006-05-11 Seiko Epson Corporation Processing device and program update method
US9489496B2 (en) * 2004-11-12 2016-11-08 Apple Inc. Secure software updates
US9948617B2 (en) 2004-11-12 2018-04-17 Apple Inc. Secure software updates
US20070028120A1 (en) * 2004-11-12 2007-02-01 Apple Computer, Inc. Secure software updates
US20100306761A1 (en) * 2004-11-17 2010-12-02 Diament Judah M Method and apparatus for dynamic middleware assembly
US8645945B2 (en) * 2004-11-17 2014-02-04 International Business Machines Corporation Method and apparatus for dynamic middleware assembly
WO2006057861A1 (en) * 2004-11-22 2006-06-01 Motorola Inc. System and method for over-the-air update of wireless communication devices
US8180927B2 (en) 2004-12-14 2012-05-15 Core Wireless Licensing S.A.R.L Transaction control arrangement for device management system
US20140207972A1 (en) * 2004-12-14 2014-07-24 Core Wireless Licensing S.A.R.L Transaction control arrangement for device management system
WO2006064088A1 (en) * 2004-12-14 2006-06-22 Nokia Corporation Transaction control arrangement for device management system
US8671226B2 (en) 2004-12-14 2014-03-11 Core Wireless Licensing S.A.R.L. Transaction control arrangement for device management system
US20190324793A1 (en) * 2004-12-14 2019-10-24 Conversant Wireless Licensing S.A R.L. Transaction control arrangement for device management system
US9519508B2 (en) * 2004-12-14 2016-12-13 Core Wireless Licensing S.A.R.L. Transaction control arrangement for device management system
US20060156129A1 (en) * 2004-12-15 2006-07-13 International Business Machines Corporation System for maintaining data
WO2007054129A1 (en) * 2004-12-15 2007-05-18 International Business Machines Corporation A system for maintaining data
US20060136899A1 (en) * 2004-12-20 2006-06-22 Samsung Electronics Co., Ltd. Method for programming/updating software using USB OTG
US20060136705A1 (en) * 2004-12-21 2006-06-22 Motorola, Inc. Multiple stage software verification
US20060143601A1 (en) * 2004-12-28 2006-06-29 International Business Machines Corporation Runtime optimizing applications for a target system from within a deployment server
US9535679B2 (en) * 2004-12-28 2017-01-03 International Business Machines Corporation Dynamically optimizing applications within a deployment server
US20060160529A1 (en) * 2005-01-14 2006-07-20 Holger Glass Systems and methods for the automatic customization or configuration of mobile devices
US9304756B1 (en) 2005-01-21 2016-04-05 Callwave Communications, Llc Methods and systems for transferring data over a network
US8799886B1 (en) * 2005-01-21 2014-08-05 Callwave Communications, Llc Methods and systems for transferring data over a network
US9684504B1 (en) 2005-01-21 2017-06-20 Callwave Communications, Llc Methods and systems for transferring data over a network
US20060168578A1 (en) * 2005-01-21 2006-07-27 U-Turn Media Corporation Methods and systems for managing a mobile client in a client-server system connected via a public network
US8910140B1 (en) 2005-01-21 2014-12-09 Callwave Communications, Llc Methods and systems for transferring data over a network
US20060184651A1 (en) * 2005-02-11 2006-08-17 Srikanthan Tirnumala Architecture for general purpose trusted virtual client and methods therefor
US20060200658A1 (en) * 2005-03-07 2006-09-07 Bitfone Corporation Agent framework for mobile devices
US8868717B2 (en) * 2005-03-15 2014-10-21 Mformation Software Technologies Llc System and method for trap management and monitoring on wireless terminals
US20060212562A1 (en) * 2005-03-15 2006-09-21 Mformation Technologies, Inc. System and method for trap management and monitoring on wireless terminals
US7426381B2 (en) * 2005-03-23 2008-09-16 Oracle International Corporation Device billing agent
US8260253B2 (en) 2005-03-23 2012-09-04 Oracle International Corporation Device agent
US20080229388A1 (en) * 2005-03-23 2008-09-18 Oracle International Corporation Device agent
US7869788B2 (en) 2005-03-23 2011-01-11 Oracle International Corporation Device billing agent
US20060217107A1 (en) * 2005-03-23 2006-09-28 Oracle International Corporation Device billing agent
US20060230187A1 (en) * 2005-04-06 2006-10-12 Samsung Electronics Co., Ltd. Method and system for optimizing a software-defined radio system
US7571205B2 (en) * 2005-04-06 2009-08-04 Samsung Electronics Co., Ltd. Method and system for optimizing a software-defined radio system
US20060236314A1 (en) * 2005-04-18 2006-10-19 Vladimir Blagojevic Method for upgrading application data according to a new application definition
US8112746B2 (en) * 2005-04-18 2012-02-07 Research In Motion Limited Method for upgrading application data according to a new application definition
US8315615B2 (en) * 2005-05-23 2012-11-20 Kyocera Corporation Wireless communication device management system and method
US20060262743A1 (en) * 2005-05-23 2006-11-23 Amit Kalhan Wireless communication device management system and method
US9432871B2 (en) 2005-06-03 2016-08-30 Good Technology Corporation System and method for monitoring and maintaining a wireless device
WO2007006859A1 (en) * 2005-07-12 2007-01-18 Capricode Oy Method and device arrangement for managing a client/server environment
US20070038699A1 (en) * 2005-07-12 2007-02-15 Capricode Oy Method and device arrangement for managing a user application/device management server/client device environment
WO2007006860A1 (en) * 2005-07-12 2007-01-18 Capricode Oy Method and device arrangement for managing a user application/device management server/client device environment
GB2443567A (en) * 2005-07-12 2008-05-07 Capricode Oy Method and device arrangement for managing a user application/device management server/client device environment
GB2443568A (en) * 2005-07-12 2008-05-07 Capricode Oy Method and device arrangement for managing a client/server environment
US8037160B2 (en) 2005-07-12 2011-10-11 Capricode Oy Method and device arrangement for managing a user application/device management server/client device environment
US20070050447A1 (en) * 2005-07-12 2007-03-01 Capricode Oy Method and device arrangement for managing a client/server environment
GB2443568B (en) * 2005-07-12 2010-03-31 Capricode Oy Method and device arrangement for managing a client/server environment
US8751560B2 (en) 2005-07-12 2014-06-10 Capricode Oy Method and device arrangement for managing a client/server environment
GB2443567B (en) * 2005-07-12 2010-03-31 Capricode Oy Method and device arrangement for managing a user application/device management server/client device environment
US20090171007A1 (en) * 2005-07-25 2009-07-02 Toyo Ink Mfg. Co., Ltd. Actinic radiation curable jet-printing ink
US11178121B2 (en) 2005-07-26 2021-11-16 Apple Inc. Secure software updates
US10432593B2 (en) 2005-07-26 2019-10-01 Apple Inc. Secure software updates
DE102005035736B4 (en) * 2005-07-29 2014-06-12 Globalfoundries Inc. Safe correction software installation for WWAN systems
WO2007027313A1 (en) * 2005-08-30 2007-03-08 Motorola Inc. Apparatus and method for local device management
US20070049265A1 (en) * 2005-08-30 2007-03-01 Kaimal Biju R Apparatus and method for local device management
US20100185541A1 (en) * 2005-09-30 2010-07-22 Microsoft Corporation Network service for modularly constructing a software defined radio
US20070077903A1 (en) * 2005-09-30 2007-04-05 Microsoft Corporation Network service for modularly constructing a software defined radio
US8346900B2 (en) * 2005-09-30 2013-01-01 Microsoft Corporation Network service for modularly constructing a software defined radio
US7784029B2 (en) * 2005-09-30 2010-08-24 Microsoft Corporation Network service for modularly constructing a software defined radio
US8677311B2 (en) * 2005-10-31 2014-03-18 Sony Corporation Separate-type signal processing apparatus and software version updating method therefor
US20070101393A1 (en) * 2005-10-31 2007-05-03 Sony Corporation Separate-type signal processing apparatus and software version updating method therefor
US9031042B2 (en) 2005-11-08 2015-05-12 Microsoft Technology Licensing, Llc Adapting a communication network to varying conditions
US20070105542A1 (en) * 2005-11-09 2007-05-10 Chipcon As Over-the-air download (OAD) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
EP1955144A1 (en) * 2005-11-09 2008-08-13 Chipcon AS Over-the-air download (oad) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
EP1955144A4 (en) * 2005-11-09 2011-12-14 Chipcon As Over-the-air download (oad) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
WO2007055686A1 (en) 2005-11-09 2007-05-18 Chipcon As Over-the-air download (oad) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
US7539488B2 (en) 2005-11-09 2009-05-26 Texas Instruments Norway As Over-the-air download (OAD) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
US9106433B2 (en) 2005-11-30 2015-08-11 Microsoft Technology Licensing, Llc Predicting degradation of a communication channel below a threshold based on data transmission errors
US20090044191A1 (en) * 2006-01-24 2009-02-12 Huawei Technologies Co., Ltd. Method and terminal device for executing scheduled tasks and management tasks
US10140205B1 (en) 2006-02-08 2018-11-27 Federal Home Loan Mortgage Corporation (Freddie Mac) Systems and methods for infrastructure validation
US8583722B1 (en) * 2006-02-08 2013-11-12 Federal Home Loan Mortgage Corporation Systems and methods for infrastructure validation
US9619370B1 (en) 2006-02-08 2017-04-11 Federeal Home Loan Mortgage Corporation (Freddie Mac) Systems and methods for infrastructure validation
US20070199069A1 (en) * 2006-02-14 2007-08-23 Mitsuo Ohtake Device information acquisition apparatus and device information acquisition program
US8583825B2 (en) * 2006-02-14 2013-11-12 Ricoh Company, Ltd. Device information acquisition apparatus and device information acquisition program
USRE46355E1 (en) 2006-02-27 2017-03-28 Good Technology Holdings Limited Method and system for distributing and updating software in wireless devices
WO2007101533A2 (en) * 2006-03-09 2007-09-13 Telefonaktiebolaget L M Ericsson (Publ) Platform boot with bridge support
EP1832977A3 (en) * 2006-03-09 2007-10-10 Telefonaktiebolaget LM Ericsson (publ) Platform boot with bridge support
WO2007101533A3 (en) * 2006-03-09 2007-11-01 Ericsson Telefon Ab L M Platform boot with bridge support
US20070245335A1 (en) * 2006-03-28 2007-10-18 Fujitsu Limited Software management apparatus and software management method
US20080098160A1 (en) * 2006-03-31 2008-04-24 Marko Slyz Mobile device capable of multiple updates
US7716414B2 (en) * 2006-03-31 2010-05-11 Hewlett-Packard Development Company, L.P. Method for updating a mobile device using an update package obtained from a remote server
WO2007125054A1 (en) * 2006-04-28 2007-11-08 Gemalto Sa Transmission of data between a server and a communicating object
US20090307358A1 (en) * 2006-04-28 2009-12-10 Gemalto Sa Transmission of Data Between A Server and A Communicating Object
US20070261047A1 (en) * 2006-05-03 2007-11-08 Microsoft Corporation Differentiated Installable Packages
US8578363B2 (en) * 2006-05-03 2013-11-05 Microsoft Corporation Differentiated installable packages
US8893110B2 (en) 2006-06-08 2014-11-18 Qualcomm Incorporated Device management in a network
WO2008001118A2 (en) * 2006-06-30 2008-01-03 British Telecommunications Public Limited Company Receiver and aspects thereof
WO2008001118A3 (en) * 2006-06-30 2008-11-06 British Telecomm Receiver and aspects thereof
US20080016504A1 (en) * 2006-07-14 2008-01-17 Wesley Homer Cheng Dynamically programmable electronic data collection system combining declarative programming and native coding
US9081638B2 (en) 2006-07-27 2015-07-14 Qualcomm Incorporated User experience and dependency management in a mobile device
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US7809936B2 (en) * 2006-08-02 2010-10-05 Freescale Semiconductor, Inc. Method and apparatus for reconfiguring a remote device
US20080051075A1 (en) * 2006-08-02 2008-02-28 Freescale Semiconductor, Inc. Method and apparatus for reconfiguring a remote device
US20190141655A1 (en) * 2006-08-18 2019-05-09 Ca, Inc. Mobile device management
US10470148B2 (en) * 2006-08-18 2019-11-05 Ca, Inc. Mobile device management
US20080070495A1 (en) * 2006-08-18 2008-03-20 Michael Stricklen Mobile device management
US10034259B2 (en) 2006-08-18 2018-07-24 Ca, Inc. Mobile device management
US8903365B2 (en) * 2006-08-18 2014-12-02 Ca, Inc. Mobile device management
US8769522B2 (en) * 2006-08-21 2014-07-01 Citrix Systems, Inc. Systems and methods of installing an application without rebooting
US20080046371A1 (en) * 2006-08-21 2008-02-21 Citrix Systems, Inc. Systems and Methods of Installing An Application Without Rebooting
US8261256B1 (en) * 2006-08-24 2012-09-04 Bby Solutions, Inc. System and method for automatically updating the software of a networked personal audiovisual device
US7840490B1 (en) * 2006-08-30 2010-11-23 United Services Automobile Association (Usaa) Comprehensive software licensing management system
WO2008035183A3 (en) * 2006-09-20 2008-05-29 Axalto Sa Method, server and mobile station for transfering data from the server to the mobile station.
WO2008035183A2 (en) * 2006-09-20 2008-03-27 Gemalto S.A. Method, server and mobile station for transfering data from the server to the mobile station.
US20090240767A1 (en) * 2006-09-29 2009-09-24 Huawei Technologies Co., Ltd. Method, terminal, server and system for processing notification message
US8433748B2 (en) * 2006-09-29 2013-04-30 Huawei Technologies Co., Ltd. Method, terminal, server and system for processing notification message
US9578594B2 (en) * 2006-10-11 2017-02-21 Lg Electronics Inc. Managing contextual information for wireless communications
US20150156703A1 (en) * 2006-10-11 2015-06-04 Lg Electronics Inc. Managing contextual information for wireless communications
US20080091933A1 (en) * 2006-10-17 2008-04-17 Dell Products L.P. System and method for automated remote booting in a serial attached SCSI environment
US7761540B2 (en) * 2006-10-17 2010-07-20 Dell Products L.P. System and method for automated remote booting in a serial attached SCSI environment
US20080271023A1 (en) * 2006-10-20 2008-10-30 Vodafone Group Plc Device management
US8321864B2 (en) * 2006-10-20 2012-11-27 Vodafone Group Plc Device management
US20080155071A1 (en) * 2006-12-22 2008-06-26 Magnus Lindstrom Method and system for bootstrap of a device
US8260885B2 (en) * 2006-12-22 2012-09-04 Telefonaktiebolaget L M Ericsson (Publ) Method and system for bootstrap of a device
US20090013317A1 (en) * 2007-02-08 2009-01-08 Airnet Communications Corporation Software Management for Software Defined Radio in a Distributed Network
US8942689B2 (en) 2007-03-06 2015-01-27 Qualcomm Incorporated Method and technology for remote administration of wireless devices
US20080218309A1 (en) * 2007-03-06 2008-09-11 Qualcomm Incorporated Method and technology for remote administration of wireless devices
US20090019435A1 (en) * 2007-07-12 2009-01-15 Sauer-Danfoss Inc. System and method for over the air programming
US20090082003A1 (en) * 2007-09-20 2009-03-26 Per Thorell Mobile Phone Code Editing Method and Apparatus
WO2009037227A1 (en) * 2007-09-20 2009-03-26 Telefonaktiebolaget L M Ericsson (Publ) Mobile phone code editing method and apparatus
US20090082008A1 (en) * 2007-09-21 2009-03-26 Per Thorell Mobile Phone Code Debugging Method and Apparatus
US8806472B2 (en) * 2007-09-27 2014-08-12 Ericsson Ab In-service software upgrade utilizing metadata-driven state translation
US20090089774A1 (en) * 2007-09-27 2009-04-02 Lynch Timothy J In-service software upgrade utilizing metadata-driven state translation
US20090138868A1 (en) * 2007-11-26 2009-05-28 Vanover Michael T Techniques for Providing Software Patches to a Computer System
US8726260B2 (en) * 2007-11-26 2014-05-13 Lenovo (Singapore) Pte Ltd Techniques for providing software patches to a computer system
EP2180758A1 (en) * 2008-02-04 2010-04-28 Huawei Technologies Co., Ltd. Configuration method and device of terminal equipment
EP2180758A4 (en) * 2008-02-04 2010-09-15 Huawei Tech Co Ltd Configuration method and device of terminal equipment
US8413138B2 (en) * 2008-02-06 2013-04-02 Mformation Software Technologies, Inc. System and method to securely load a management client from a stub client to facilitate remote device management
US20090199176A1 (en) * 2008-02-06 2009-08-06 Badri Nath System and method to securely load a management client from a stub client to facilitate remote device management
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US20100005511A1 (en) * 2008-07-02 2010-01-07 Oracle International Corporation Usage based authorization
US8479265B2 (en) 2008-07-02 2013-07-02 Oracle International Corporation Usage based authorization
US20110158173A1 (en) * 2008-07-09 2011-06-30 Telefonica, S.A. System for distributing broadband wireless signals indoors
US10097975B2 (en) 2008-10-08 2018-10-09 Blackberry Limited Server for sending new application portions to mobile wireless communications devices and related methods
US20100087181A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Server for sending new application portions to mobile wireless communications devices and related methods
US8706102B2 (en) 2008-10-08 2014-04-22 Blackberry Limited Server for sending new application portions to mobile wireless communications devices and related methods
US9894461B2 (en) 2008-10-08 2018-02-13 Blackberry Limited Server for sending new application portions to mobile wireless communications devices and related methods
US11778438B2 (en) 2008-10-08 2023-10-03 Malikie Innovations Limited Server for sending new application portions to mobile wireless communications devices and related methods
US20100088367A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Mobile wireless communications device and system providing dynamic management of carrier applications and related methods
US11122403B2 (en) 2008-10-08 2021-09-14 Blackberry Limited Server for sending new application portions to mobile wireless communications devices and related methods
US9386396B2 (en) 2008-10-08 2016-07-05 Blackberry Limited Server for sending new application portions to mobile wireless communications devices and related methods
US10708736B2 (en) 2008-10-08 2020-07-07 Blackberry Limited Server for sending new application portions to mobile wireless communications devices and related methods
US8213921B2 (en) 2008-10-08 2012-07-03 Research In Motion Limited Server for sending new application portions to mobile wireless communications devices and related methods
US20100088696A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Mobile wireless communications system providing downloading and installation of mobile device applications upon registration and related methods
US20100087184A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited System and methods for configuring an updating frequency for mobile wireless communications device application updates and related methods
US8364137B2 (en) 2008-10-08 2013-01-29 Research In Motion Limited Server for sending new application portions to mobile wireless communications devices and related methods
US20100115502A1 (en) * 2008-11-06 2010-05-06 Jiva Azeem S Post Processing of Dynamically Generated Code
US8453194B2 (en) 2008-12-17 2013-05-28 Motorola Mobility Llc Method and apparatus for downloading software images to a mobile device and to a home networked device to implement compatible services
US20100154009A1 (en) * 2008-12-17 2010-06-17 General Instrument Corporation Method and apparatus for downloading software images to a mobile device and to a home networked device to implement compatible services
US9749899B2 (en) 2009-01-28 2017-08-29 Headwater Research Llc Wireless end-user device with network traffic API to indicate unavailability of roaming wireless connection to background applications
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US11923995B2 (en) 2009-01-28 2024-03-05 Headwater Research Llc Device-assisted services for protecting network capacity
US20100191613A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Open transaction central billing system
US8713630B2 (en) 2009-01-28 2014-04-29 Headwater Partners I Llc Verifiable service policy implementation for intermediate networking devices
US8688099B2 (en) 2009-01-28 2014-04-01 Headwater Partners I Llc Open development system for access service providers
US8675507B2 (en) 2009-01-28 2014-03-18 Headwater Partners I Llc Service profile management with user preference, adaptive policy, network neutrality and user privacy for intermediate networking devices
US8724554B2 (en) 2009-01-28 2014-05-13 Headwater Partners I Llc Open transaction central billing system
US8737957B2 (en) 2009-01-28 2014-05-27 Headwater Partners I Llc Automated device provisioning and activation
US8745220B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8667571B2 (en) 2009-01-28 2014-03-04 Headwater Partners I Llc Automated device provisioning and activation
US8666364B2 (en) 2009-01-28 2014-03-04 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US8639811B2 (en) 2009-01-28 2014-01-28 Headwater Partners I Llc Automated device provisioning and activation
US8639935B2 (en) 2009-01-28 2014-01-28 Headwater Partners I Llc Automated device provisioning and activation
US8640198B2 (en) 2009-01-28 2014-01-28 Headwater Partners I Llc Automated device provisioning and activation
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US11757943B2 (en) 2009-01-28 2023-09-12 Headwater Research Llc Automated device provisioning and activation
US11750477B2 (en) 2009-01-28 2023-09-05 Headwater Research Llc Adaptive ambient services
US8634821B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Device assisted services install
US11665592B2 (en) 2009-01-28 2023-05-30 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US11665186B2 (en) 2009-01-28 2023-05-30 Headwater Research Llc Communications device with secure data path processing agents
US8788661B2 (en) 2009-01-28 2014-07-22 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8634805B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Device assisted CDR creation aggregation, mediation and billing
US11589216B2 (en) 2009-01-28 2023-02-21 Headwater Research Llc Service selection set publishing to device agent with on-device service selection
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8799451B2 (en) 2009-01-28 2014-08-05 Headwater Partners I Llc Verifiable service policy implementation for intermediate networking devices
US8797908B2 (en) 2009-01-28 2014-08-05 Headwater Partners I Llc Automated device provisioning and activation
US8635678B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Automated device provisioning and activation
US8630630B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US11582593B2 (en) 2009-01-28 2023-02-14 Head Water Research Llc Adapting network policies based on device service processor configuration
US8630611B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Automated device provisioning and activation
US11570309B2 (en) 2009-01-28 2023-01-31 Headwater Research Llc Service design center for device assisted services
US11563592B2 (en) 2009-01-28 2023-01-24 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US11538106B2 (en) 2009-01-28 2022-12-27 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US8839387B2 (en) 2009-01-28 2014-09-16 Headwater Partners I Llc Roaming services network and overlay networks
US8839388B2 (en) 2009-01-28 2014-09-16 Headwater Partners I Llc Automated device provisioning and activation
US11533642B2 (en) 2009-01-28 2022-12-20 Headwater Research Llc Device group partitions and settlement platform
US11516301B2 (en) 2009-01-28 2022-11-29 Headwater Research Llc Enhanced curfew and protection associated with a device group
US11494837B2 (en) 2009-01-28 2022-11-08 Headwater Research Llc Virtualized policy and charging system
US8868455B2 (en) 2009-01-28 2014-10-21 Headwater Partners I Llc Adaptive ambient services
US8630192B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US8886162B2 (en) 2009-01-28 2014-11-11 Headwater Partners I Llc Restricting end-user device communications over a wireless access network associated with a cost
US8630617B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Device group partitions and settlement platform
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US8898079B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Network based ambient services
US8897743B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8897744B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Device assisted ambient services
US8631102B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Automated device provisioning and activation
US8903452B2 (en) 2009-01-28 2014-12-02 Headwater Partners I Llc Device assisted ambient services
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US11477246B2 (en) 2009-01-28 2022-10-18 Headwater Research Llc Network service plan design
US20100188994A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Verifiable service billing for intermediate networking devices
US11425580B2 (en) 2009-01-28 2022-08-23 Headwater Research Llc System and method for wireless network offloading
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
US8924549B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Network based ambient services
US11412366B2 (en) 2009-01-28 2022-08-09 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8948025B2 (en) 2009-01-28 2015-02-03 Headwater Partners I Llc Remotely configurable device agent for packet routing
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US11405429B2 (en) 2009-01-28 2022-08-02 Headwater Research Llc Security techniques for device assisted services
US11405224B2 (en) 2009-01-28 2022-08-02 Headwater Research Llc Device-assisted services for protecting network capacity
US11363496B2 (en) 2009-01-28 2022-06-14 Headwater Research Llc Intermediate networking devices
US9014026B2 (en) 2009-01-28 2015-04-21 Headwater Partners I Llc Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy
US11337059B2 (en) 2009-01-28 2022-05-17 Headwater Research Llc Device assisted services install
US11228617B2 (en) 2009-01-28 2022-01-18 Headwater Research Llc Automated device provisioning and activation
US9026079B2 (en) 2009-01-28 2015-05-05 Headwater Partners I Llc Wireless network service interfaces
US11219074B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Enterprise access control and accounting allocation for access networks
US8588110B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US9037127B2 (en) 2009-01-28 2015-05-19 Headwater Partners I Llc Device agent for remote user configuration of wireless network access
US8583781B2 (en) 2009-01-28 2013-11-12 Headwater Partners I Llc Simplified service network architecture
US11190545B2 (en) 2009-01-28 2021-11-30 Headwater Research Llc Wireless network service interfaces
US11190427B2 (en) 2009-01-28 2021-11-30 Headwater Research Llc Flow tagging for service policy implementation
US8570908B2 (en) 2009-01-28 2013-10-29 Headwater Partners I Llc Automated device provisioning and activation
US11190645B2 (en) 2009-01-28 2021-11-30 Headwater Research Llc Device assisted CDR creation, aggregation, mediation and billing
US20100191604A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Device assisted ambient services
US11134102B2 (en) 2009-01-28 2021-09-28 Headwater Research Llc Verifiable device assisted service usage monitoring with reporting, synchronization, and notification
US9094311B2 (en) 2009-01-28 2015-07-28 Headwater Partners I, Llc Techniques for attribution of mobile device data traffic to initiating end-user application
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US20100191576A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US11096055B2 (en) 2009-01-28 2021-08-17 Headwater Research Llc Automated device provisioning and activation
US11039020B2 (en) 2009-01-28 2021-06-15 Headwater Research Llc Mobile device and service management
US8547872B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
WO2010088087A1 (en) * 2009-01-28 2010-08-05 Headwater Partners I Llc Open development system for access service providers
US9137701B2 (en) 2009-01-28 2015-09-15 Headwater Partners I Llc Wireless end-user device with differentiated network access for background and foreground device applications
US9137739B2 (en) 2009-01-28 2015-09-15 Headwater Partners I Llc Network based service policy implementation with network neutrality and user privacy
US10985977B2 (en) 2009-01-28 2021-04-20 Headwater Research Llc Quality of service for device assisted services
US9143976B2 (en) 2009-01-28 2015-09-22 Headwater Partners I Llc Wireless end-user device with differentiated network access and access status for background and foreground device applications
US8531986B2 (en) 2009-01-28 2013-09-10 Headwater Partners I Llc Network tools for analysis, design, testing, and production of services
US20100197266A1 (en) * 2009-01-28 2010-08-05 Headwater Partners I Llc Device assisted cdr creation, aggregation, mediation and billing
US9154428B2 (en) 2009-01-28 2015-10-06 Headwater Partners I Llc Wireless end-user device with differentiated network access selectively applied to different applications
US10869199B2 (en) 2009-01-28 2020-12-15 Headwater Research Llc Network service plan design
US8527630B2 (en) 2009-01-28 2013-09-03 Headwater Partners I Llc Adaptive ambient services
US10855559B2 (en) 2009-01-28 2020-12-01 Headwater Research Llc Adaptive ambient services
US10848330B2 (en) 2009-01-28 2020-11-24 Headwater Research Llc Device-assisted services for protecting network capacity
US9173104B2 (en) 2009-01-28 2015-10-27 Headwater Partners I Llc Mobile device with device agents to detect a disallowed access to a requested mobile data service and guide a multi-carrier selection and activation sequence
US9179359B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Wireless end-user device with differentiated network access status for different device applications
US9179316B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Mobile device with user controls and policy agent to control application access to device location data
US9179308B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Network tools for analysis, design, testing, and production of services
US9179315B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Mobile device with data service monitoring, categorization, and display for different applications and networks
US9198117B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Network system with common secure wireless message service serving multiple applications on multiple wireless devices
US9198074B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list and applying foreground classification to roaming wireless data service
US9198075B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9198042B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Security techniques for device assisted services
US9198076B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Wireless end-user device with power-control-state-based wireless network access policy for background applications
US10834577B2 (en) 2009-01-28 2020-11-10 Headwater Research Llc Service offer set publishing to device agent with on-device service selection
US9204374B2 (en) 2009-01-28 2015-12-01 Headwater Partners I Llc Multicarrier over-the-air cellular network activation server
US9204282B2 (en) 2009-01-28 2015-12-01 Headwater Partners I Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9215159B2 (en) 2009-01-28 2015-12-15 Headwater Partners I Llc Data usage monitoring for media data services used by applications
US9215613B2 (en) 2009-01-28 2015-12-15 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list having limited user control
US9220027B1 (en) 2009-01-28 2015-12-22 Headwater Partners I Llc Wireless end-user device with policy-based controls for WWAN network usage and modem state changes requested by specific applications
US10803518B2 (en) 2009-01-28 2020-10-13 Headwater Research Llc Virtualized policy and charging system
US9225797B2 (en) 2009-01-28 2015-12-29 Headwater Partners I Llc System for providing an adaptive wireless ambient service to a mobile device
US9232403B2 (en) 2009-01-28 2016-01-05 Headwater Partners I Llc Mobile device with common secure wireless message service serving multiple applications
US10798558B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc Adapting network policies based on device service processor configuration
US9247450B2 (en) 2009-01-28 2016-01-26 Headwater Partners I Llc Quality of service for device assisted services
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9258735B2 (en) 2009-01-28 2016-02-09 Headwater Partners I Llc Device-assisted services for protecting network capacity
US10798254B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc Service design center for device assisted services
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US9271184B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Wireless end-user device with per-application data limit and traffic control policy list limiting background application traffic
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9277433B2 (en) 2009-01-28 2016-03-01 Headwater Partners I Llc Wireless end-user device with policy-based aggregation of network activity requested by applications
US9277445B2 (en) 2009-01-28 2016-03-01 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list and applying foreground classification to wireless data service
US8516552B2 (en) 2009-01-28 2013-08-20 Headwater Partners I Llc Verifiable service policy implementation for intermediate networking devices
US8478667B2 (en) 2009-01-28 2013-07-02 Headwater Partners I Llc Automated device provisioning and activation
US9319913B2 (en) 2009-01-28 2016-04-19 Headwater Partners I Llc Wireless end-user device with secure network-provided differential traffic control policy list
US10791471B2 (en) 2009-01-28 2020-09-29 Headwater Research Llc System and method for wireless network offloading
US8467312B2 (en) 2009-01-28 2013-06-18 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US8441989B2 (en) 2009-01-28 2013-05-14 Headwater Partners I Llc Open transaction central billing system
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US8437271B2 (en) 2009-01-28 2013-05-07 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US10771980B2 (en) 2009-01-28 2020-09-08 Headwater Research Llc Communications device with secure data path processing agents
US9386121B2 (en) 2009-01-28 2016-07-05 Headwater Partners I Llc Method for providing an adaptive wireless ambient service to a mobile device
US9386165B2 (en) 2009-01-28 2016-07-05 Headwater Partners I Llc System and method for providing user notifications
US8406733B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Automated device provisioning and activation
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US10749700B2 (en) 2009-01-28 2020-08-18 Headwater Research Llc Device-assisted services for protecting network capacity
US10716006B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc End user device that secures an association of application to service policy with an application certificate check
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10694385B2 (en) 2009-01-28 2020-06-23 Headwater Research Llc Security techniques for device assisted services
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US10681179B2 (en) 2009-01-28 2020-06-09 Headwater Research Llc Enhanced curfew and protection associated with a device group
US10582375B2 (en) 2009-01-28 2020-03-03 Headwater Research Llc Device assisted services install
US10536983B2 (en) 2009-01-28 2020-01-14 Headwater Research Llc Enterprise access control and accounting allocation for access networks
US8396458B2 (en) 2009-01-28 2013-03-12 Headwater Partners I Llc Automated device provisioning and activation
US9491199B2 (en) 2009-01-28 2016-11-08 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US9491564B1 (en) 2009-01-28 2016-11-08 Headwater Partners I Llc Mobile device and method with secure network messaging for authorized components
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10462627B2 (en) 2009-01-28 2019-10-29 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10326675B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Flow tagging for service policy implementation
US9521578B2 (en) 2009-01-28 2016-12-13 Headwater Partners I Llc Wireless end-user device with application program interface to allow applications to access application-specific aspects of a wireless network access policy
US8385916B2 (en) 2009-01-28 2013-02-26 Headwater Partners I Llc Automated device provisioning and activation
US9532261B2 (en) 2009-01-28 2016-12-27 Headwater Partners I Llc System and method for wireless network offloading
US9532161B2 (en) 2009-01-28 2016-12-27 Headwater Partners I Llc Wireless device with application data flow tagging and network stack-implemented network access policy
US8355337B2 (en) 2009-01-28 2013-01-15 Headwater Partners I Llc Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy
US9544397B2 (en) 2009-01-28 2017-01-10 Headwater Partners I Llc Proxy server for providing an adaptive wireless ambient service to a mobile device
US10321320B2 (en) 2009-01-28 2019-06-11 Headwater Research Llc Wireless network buffered message system
US10320990B2 (en) 2009-01-28 2019-06-11 Headwater Research Llc Device assisted CDR creation, aggregation, mediation and billing
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9565543B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Device group partitions and settlement platform
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US8351898B2 (en) 2009-01-28 2013-01-08 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US9591474B2 (en) 2009-01-28 2017-03-07 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US10237773B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc Device-assisted services for protecting network capacity
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US10237146B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc Adaptive ambient services
US9609544B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Device-assisted services for protecting network capacity
US8695073B2 (en) 2009-01-28 2014-04-08 Headwater Partners I Llc Automated device provisioning and activation
US9609459B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Network tools for analysis, design, testing, and production of services
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US9615192B2 (en) 2009-01-28 2017-04-04 Headwater Research Llc Message link server with plural message delivery triggers
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US10171681B2 (en) 2009-01-28 2019-01-01 Headwater Research Llc Service design center for device assisted services
US9641957B2 (en) 2009-01-28 2017-05-02 Headwater Research Llc Automated device provisioning and activation
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US10171988B2 (en) 2009-01-28 2019-01-01 Headwater Research Llc Adapting network policies based on device service processor configuration
US10171990B2 (en) 2009-01-28 2019-01-01 Headwater Research Llc Service selection set publishing to device agent with on-device service selection
US8331901B2 (en) 2009-01-28 2012-12-11 Headwater Partners I, Llc Device assisted ambient services
US9674731B2 (en) 2009-01-28 2017-06-06 Headwater Research Llc Wireless device applying different background data traffic policies to different device applications
US8326958B1 (en) 2009-01-28 2012-12-04 Headwater Partners I, Llc Service activation tracking system
US10165447B2 (en) 2009-01-28 2018-12-25 Headwater Research Llc Network service plan design
US8023425B2 (en) 2009-01-28 2011-09-20 Headwater Partners I Verifiable service billing for intermediate networking devices
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9705771B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Attribution of mobile device data traffic to end-user application based on socket flows
US8321526B2 (en) 2009-01-28 2012-11-27 Headwater Partners I, Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
CN102365858A (en) * 2009-01-28 2012-02-29 海德沃特合作I有限公司 Open development system for access service providers
US9749898B2 (en) 2009-01-28 2017-08-29 Headwater Research Llc Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9769207B2 (en) 2009-01-28 2017-09-19 Headwater Research Llc Wireless network service interfaces
US10080250B2 (en) 2009-01-28 2018-09-18 Headwater Research Llc Enterprise access control and accounting allocation for access networks
US10070305B2 (en) 2009-01-28 2018-09-04 Headwater Research Llc Device assisted services install
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US10064033B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Device group partitions and settlement platform
US9819808B2 (en) 2009-01-28 2017-11-14 Headwater Research Llc Hierarchical service policies for creating service usage data records for a wireless end-user device
US10057141B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Proxy system and method for adaptive ambient services
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9866642B2 (en) 2009-01-28 2018-01-09 Headwater Research Llc Wireless end-user device with wireless modem power state control policy for background applications
US10028144B2 (en) 2009-01-28 2018-07-17 Headwater Research Llc Security techniques for device assisted services
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US8270310B2 (en) 2009-01-28 2012-09-18 Headwater Partners I, Llc Verifiable device assisted service policy implementation
US8270952B2 (en) 2009-01-28 2012-09-18 Headwater Partners I Llc Open development system for access service providers
US9973930B2 (en) 2009-01-28 2018-05-15 Headwater Research Llc End user device that secures an association of application to service policy with an application certificate check
US8229812B2 (en) 2009-01-28 2012-07-24 Headwater Partners I, Llc Open transaction central billing system
US9942796B2 (en) 2009-01-28 2018-04-10 Headwater Research Llc Quality of service for device assisted services
US8250207B2 (en) 2009-01-28 2012-08-21 Headwater Partners I, Llc Network based ambient services
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8606911B2 (en) 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
US20100235827A1 (en) * 2009-03-10 2010-09-16 Nokia Corporation Creation of multiple radio instances
US20100298011A1 (en) * 2009-05-19 2010-11-25 Alcatel-Lucent Usa Inc. Method and Appartus for Remote Software Installation and Execution on a Mobile Device
US20100333079A1 (en) * 2009-06-30 2010-12-30 Computer Associates Think, Inc. Binary Code Modification System and Method for Implementing Identity and Access Management or Governance Policies
US20100333065A1 (en) * 2009-06-30 2010-12-30 Computer Assoicates Think, Inc. Binary code modification system and method for implementing a web service interface
EP2282476A1 (en) * 2009-07-22 2011-02-09 Fujitsu Limited Wireless communicatoin apparatus and wireless communication method
US20110019774A1 (en) * 2009-07-22 2011-01-27 Fujitsu Limited Wireless communication apparatus and wireless communication method
US20110125995A1 (en) * 2009-11-26 2011-05-26 Samsung Electronics Co. Ltd. Method and apparatus for downloading secure micro bootloader of receiver in downloadable conditional access system
US20110167153A1 (en) * 2010-01-07 2011-07-07 Oracle International Corporation Policy-based exposure of presence
US9509791B2 (en) 2010-01-07 2016-11-29 Oracle International Corporation Policy-based exposure of presence
US20110166943A1 (en) * 2010-01-07 2011-07-07 Oracle International Corporation Policy-based advertisement engine
US20110167479A1 (en) * 2010-01-07 2011-07-07 Oracle International Corporation Enforcement of policies on context-based authorization
US9495521B2 (en) 2010-02-05 2016-11-15 Oracle International Corporation System self integrity and health validation for policy enforcement
US20110197257A1 (en) * 2010-02-05 2011-08-11 Oracle International Corporation On device policy enforcement to secure open platform via network and open network
US9467858B2 (en) 2010-02-05 2016-10-11 Oracle International Corporation On device policy enforcement to secure open platform via network and open network
US20110196728A1 (en) * 2010-02-05 2011-08-11 Oracle International Corporation Service level communication advertisement business
WO2011104699A2 (en) * 2010-02-26 2011-09-01 Nokia Corporation Method and apparatus for providing a high level mobile virtual machine
WO2011104699A3 (en) * 2010-02-26 2012-07-05 Nokia Corporation Method and apparatus for providing a high level mobile virtual machine
US20110214115A1 (en) * 2010-02-26 2011-09-01 Nokia Corporation Method and appartus for providing a high level mobile virtual machine
US20130219147A1 (en) * 2010-10-13 2013-08-22 Huawei Technologies Co., Ltd. Multi-Core Online Patching Method and Apparatus
US9430399B2 (en) * 2010-10-13 2016-08-30 Huawei Technologies Co., Ltd. Multi-core online patching method and apparatus
US20130243055A1 (en) * 2010-12-24 2013-09-19 Seung Won Choi Software-defined radio terminal device and method for distributing and installing radio application
US9021467B2 (en) * 2010-12-24 2015-04-28 Industry-University Cooperation Foundation Hanyang University Software-defined radio terminal device and method for distributing and installing radio application
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US20120266155A1 (en) * 2011-04-13 2012-10-18 Xerox Corporation Method and system to regulate the electronic availability of application software updates based on information collected regarding installation, usage and support for these updates
US8910142B2 (en) * 2011-04-13 2014-12-09 Xerox Corporation Method and system to regulate the electronic availability of application software updates based on information collected regarding installation, usage and support for these updates
US9098380B2 (en) 2011-07-20 2015-08-04 Google Inc. Multiple application versions
US8707289B2 (en) 2011-07-20 2014-04-22 Google Inc. Multiple application versions
US10740813B2 (en) 2011-07-20 2020-08-11 Google Llc Multiple application versions
US8621450B2 (en) * 2011-07-20 2013-12-31 Google Inc. Method for determining a version of a software application targeted for a computing device
US9595027B2 (en) 2011-07-20 2017-03-14 Google Inc. Multiple application versions
US10290035B2 (en) 2011-07-20 2019-05-14 Google Llc Multiple application versions
US8782412B2 (en) 2011-08-31 2014-07-15 AstherPal Inc. Secured privileged access to an embedded client on a mobile device
US20140208307A1 (en) * 2011-09-09 2014-07-24 Zte Corporation Method and System for Upgrading CPE Firmware
US9161225B2 (en) 2011-09-23 2015-10-13 Blackberry Limited Authentication procedures for managing mobile device applications
US8554179B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications
US9497688B2 (en) 2011-09-23 2016-11-15 Certicom Corp. Managing mobile device applications in a wireless network
US8554175B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications on a mobile device
US20140289864A1 (en) * 2011-11-04 2014-09-25 British Telecommunications Public Limited Company Method and apparatus for securing a computer
US9602466B2 (en) * 2011-11-04 2017-03-21 British Telecommunications Public Limited Company Method and apparatus for securing a computer
US8713646B2 (en) 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
US10951541B2 (en) 2012-02-14 2021-03-16 Airwatch, Llc Controlling distribution of resources on a network
US11082355B2 (en) 2012-02-14 2021-08-03 Airwatch, Llc Controllng distribution of resources in a network
US11483252B2 (en) 2012-02-14 2022-10-25 Airwatch, Llc Controlling distribution of resources on a network
US9098450B2 (en) * 2012-03-20 2015-08-04 Google Inc. Automated application update checks based on unexpected errors and crashes
US9141509B2 (en) 2012-03-30 2015-09-22 Aetherpal Inc. Mobile device remote control session activity pattern recognition
US9069973B2 (en) 2012-03-30 2015-06-30 Aetherpal Inc. Password protect feature for application in mobile device during a remote session
US9473953B2 (en) 2012-03-30 2016-10-18 Aetherpal Inc. Roaming detection and session recovery during VMM-RC
US9224001B2 (en) 2012-03-30 2015-12-29 Aetherpal Inc. Access control list for applications on mobile devices during a remote control session
US9015246B2 (en) 2012-03-30 2015-04-21 Aetherpal Inc. Session collaboration
US20130295902A1 (en) * 2012-04-05 2013-11-07 Nokia Corporation Method And Apparatus For Remotely Managing Devices Utilizing Request-Response Protocols
US20130305238A1 (en) * 2012-05-11 2013-11-14 Airbus Operations (S.A.S.) Method for updating a software application hosted by an equipment item on board an aircraft
US9264413B2 (en) 2012-12-06 2016-02-16 Qualcomm Incorporated Management of network devices utilizing an authorization token
US8978110B2 (en) 2012-12-06 2015-03-10 Airwatch Llc Systems and methods for controlling email access
US10681017B2 (en) 2012-12-06 2020-06-09 Airwatch, Llc Systems and methods for controlling email access
US9450921B2 (en) 2012-12-06 2016-09-20 Airwatch Llc Systems and methods for controlling email access
CN104823408A (en) * 2012-12-06 2015-08-05 高通股份有限公司 Management of network devices utilizing authorization token
US10243932B2 (en) 2012-12-06 2019-03-26 Airwatch, Llc Systems and methods for controlling email access
US9882850B2 (en) 2012-12-06 2018-01-30 Airwatch Llc Systems and methods for controlling email access
US9426129B2 (en) 2012-12-06 2016-08-23 Airwatch Llc Systems and methods for controlling email access
US9021037B2 (en) 2012-12-06 2015-04-28 Airwatch Llc Systems and methods for controlling email access
US11050719B2 (en) 2012-12-06 2021-06-29 Airwatch, Llc Systems and methods for controlling email access
US9391960B2 (en) 2012-12-06 2016-07-12 Airwatch Llc Systems and methods for controlling email access
US8826432B2 (en) 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US9813390B2 (en) 2012-12-06 2017-11-07 Airwatch Llc Systems and methods for controlling email access
US10666591B2 (en) 2012-12-06 2020-05-26 Airwatch Llc Systems and methods for controlling email access
US8862868B2 (en) 2012-12-06 2014-10-14 Airwatch, Llc Systems and methods for controlling email access
US9325713B2 (en) 2012-12-06 2016-04-26 Airwatch Llc Systems and methods for controlling email access
JP2016500491A (en) * 2012-12-06 2016-01-12 クアルコム,インコーポレイテッド Managing network devices that use authorization tokens
US8832785B2 (en) 2012-12-06 2014-09-09 Airwatch, Llc Systems and methods for controlling email access
US9615401B2 (en) * 2012-12-11 2017-04-04 Qualcomm Incorporated Methods and apparatus for updating a device configuration
US20140162620A1 (en) * 2012-12-11 2014-06-12 Qualcomm Incorporated Methods and apparatus for updating a device configuration
US11743717B2 (en) 2013-03-14 2023-08-29 Headwater Research Llc Automated credential porting for mobile devices
US11824644B2 (en) 2013-03-14 2023-11-21 Airwatch, Llc Controlling electronically communicated resources
US10171995B2 (en) 2013-03-14 2019-01-01 Headwater Research Llc Automated credential porting for mobile devices
US10834583B2 (en) 2013-03-14 2020-11-10 Headwater Research Llc Automated credential porting for mobile devices
US8997187B2 (en) 2013-03-15 2015-03-31 Airwatch Llc Delegating authorization to applications on a client device in a networked environment
US9686287B2 (en) 2013-03-15 2017-06-20 Airwatch, Llc Delegating authorization to applications on a client device in a networked environment
US9787686B2 (en) 2013-04-12 2017-10-10 Airwatch Llc On-demand security policy activation
US10116662B2 (en) 2013-04-12 2018-10-30 Airwatch Llc On-demand security policy activation
US10785228B2 (en) 2013-04-12 2020-09-22 Airwatch, Llc On-demand security policy activation
US11902281B2 (en) 2013-04-12 2024-02-13 Airwatch Llc On-demand security policy activation
US20140310701A1 (en) * 2013-04-15 2014-10-16 Cellco Partnership D/B/A Verizon Wireless Cancelling device over the air software update
US9626174B2 (en) * 2013-04-15 2017-04-18 Cellco Partnership Cancelling device over the air software update
US9900261B2 (en) 2013-06-02 2018-02-20 Airwatch Llc Shared resource watermarking and management
US9584437B2 (en) 2013-06-02 2017-02-28 Airwatch Llc Resource watermarking and management
US9830454B2 (en) * 2013-06-27 2017-11-28 Huawei Device (Dongguan) Co., Ltd. Web application security access method, server, and client
US20160125185A1 (en) * 2013-06-27 2016-05-05 Huawei Device Co., Ltd. Web Application Security Access Method, Server, and Client
US9202025B2 (en) 2013-07-03 2015-12-01 Airwatch Llc Enterprise-specific functionality watermarking and management
US9195811B2 (en) 2013-07-03 2015-11-24 Airwatch Llc Functionality watermarking and management
US8756426B2 (en) 2013-07-03 2014-06-17 Sky Socket, Llc Functionality watermarking and management
US8775815B2 (en) 2013-07-03 2014-07-08 Sky Socket, Llc Enterprise-specific functionality watermarking and management
US8806217B2 (en) 2013-07-03 2014-08-12 Sky Socket, Llc Functionality watermarking and management
US9552463B2 (en) 2013-07-03 2017-01-24 Airwatch Llc Functionality watermarking and management
US9699193B2 (en) 2013-07-03 2017-07-04 Airwatch, Llc Enterprise-specific functionality watermarking and management
US10200354B2 (en) 2013-08-08 2019-02-05 Iboss, Inc. Switching between networks
US9380077B2 (en) * 2013-08-08 2016-06-28 Iboss, Inc. Switching between networks
US9665723B2 (en) 2013-08-15 2017-05-30 Airwatch, Llc Watermarking detection and management
US9516005B2 (en) 2013-08-20 2016-12-06 Airwatch Llc Individual-specific content management
US8910263B1 (en) 2013-09-17 2014-12-09 Iboss, Inc. Mobile device management profile distribution
US9160751B2 (en) 2013-09-17 2015-10-13 Iboss, Inc. Mobile device management profile distribution
US9258301B2 (en) 2013-10-29 2016-02-09 Airwatch Llc Advanced authentication techniques
US9544306B2 (en) 2013-10-29 2017-01-10 Airwatch Llc Attempted security breach remediation
WO2015065513A1 (en) * 2013-11-04 2015-05-07 Symantec Corporation Systems and methods for updating system-level services within read-only system images
CN105683910A (en) * 2013-11-04 2016-06-15 赛门铁克公司 Systems and methods for updating system-level services within read-only system images
US9424020B2 (en) * 2014-01-13 2016-08-23 Carefusion 303, Inc. Remote flashing during infusion
US9871866B2 (en) 2014-01-13 2018-01-16 Carefusion 303, Inc. Remote flashing during infusion
US10666733B2 (en) 2014-01-13 2020-05-26 Carefusion 303, Inc. Remote flashing during infusion
US11330058B2 (en) 2014-01-13 2022-05-10 Carefusion 303, Inc. Remote flashing during infusion
US20150199192A1 (en) * 2014-01-13 2015-07-16 Carefusion 303, Inc. Remote flashing during infusion
US9817646B1 (en) 2014-03-17 2017-11-14 Google Llc Multiplatform and multichannel distribution of web applications across devices
US10248401B1 (en) 2014-03-17 2019-04-02 Google Llc Multiplatform and multichannel distribution of web applications across devices
US20170083304A1 (en) * 2014-06-11 2017-03-23 Home Control Singapore Pte. Ltd. System For Installing Software on a Small-Memory Device
US10642591B2 (en) * 2014-06-11 2020-05-05 Home Control Singapore Pte. Ltd. System for installing software on a small-memory device
WO2017030886A1 (en) * 2015-08-14 2017-02-23 Pcms Holding, Inc. Securely upgrading resource constrained devices
US20170142156A1 (en) * 2015-11-12 2017-05-18 Toyota Infotechnology Center Usa, Inc. Application Assurance for Open Platform In-Vehicle Infotainment System
US10419594B2 (en) * 2015-12-08 2019-09-17 Samsung Electronics Co., Ltd. Method for operating mobile device having plurality of card modules installed therein and mobile device therefor
US10129083B2 (en) 2016-02-24 2018-11-13 Wipro Limited Methods for optimizing an over-the-air update using a lightweight device update protocol (LWDUP)
WO2017172434A1 (en) * 2016-04-01 2017-10-05 Pcms Holdings, Inc. Internet of things software securtiy configuration
CN107704278A (en) * 2016-08-08 2018-02-16 北京京东尚科信息技术有限公司 Application upgrade method and apparatus
US20180189038A1 (en) * 2016-12-29 2018-07-05 General Electric Company Automatic conversion of application program code listing segments for off-line environment
US10452383B1 (en) * 2017-04-28 2019-10-22 Square, Inc. Device improvements through adaptive settings
CN107231367A (en) * 2017-06-21 2017-10-03 北京奇虎科技有限公司 Method for automatically notifying, device and the server of signature information
US10409585B2 (en) * 2018-02-14 2019-09-10 Micron Technology, Inc. Over-the-air (OTA) update for firmware of a vehicle component
US11144301B2 (en) 2018-02-14 2021-10-12 Micron Technology, Inc. Over-the-air (OTA) update for firmware of a vehicle component
US11003537B2 (en) 2018-05-29 2021-05-11 Micron Technology, Inc. Determining validity of data read from memory by a controller
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning
US11520524B2 (en) 2018-12-28 2022-12-06 Micron Technology, Inc. Host adaptive memory device optimization
US10901658B2 (en) * 2018-12-28 2021-01-26 Micron Technology, Inc. Host adaptive memory device optimization
US20200210104A1 (en) * 2018-12-28 2020-07-02 Nadav Grosz Host adaptive memory device optimization
US11481206B2 (en) 2019-05-16 2022-10-25 Microsoft Technology Licensing, Llc Code update in system management mode
US20220113957A1 (en) * 2019-06-21 2022-04-14 Huawei Technologies Co., Ltd. Software Upgrade Method, Apparatus, and System
US11876676B2 (en) 2019-10-16 2024-01-16 Nxp Usa, Inc Network node firmware update
US11385903B2 (en) * 2020-02-04 2022-07-12 Microsoft Technology Licensing, Llc Firmware update patch
US11947666B2 (en) * 2020-08-31 2024-04-02 Seraphic Algorithms Ltd Systems and methods for exploit prevention and malicious code neutralization using non-predictable results for JavaScript-enabled applications
CN113949733A (en) * 2021-08-31 2022-01-18 宁波三星智能电气有限公司 Firmware upgrading method for electric energy meter

Similar Documents

Publication Publication Date Title
US20040098715A1 (en) Over the air mobile device software management
US7644405B2 (en) System with required enhancements to SyncML DM environment to support firmware updates
US7480907B1 (en) Mobile services network for update of firmware/software in mobile handsets
US7096311B2 (en) Updating electronic files using byte-level file differencing and updating algorithms
US20060200658A1 (en) Agent framework for mobile devices
US7657884B2 (en) Electronic device supporting multiple update agents
EP1705872B1 (en) Mobile device client and system supporting remote terminal management
US7644404B2 (en) Network having customizable generators and electronic device having customizable updating software
US8209676B2 (en) Device management in a network
US20060200814A1 (en) Software distribution with activation control
US7350205B2 (en) Upgrading electronic files of a mobile device upgrade client
EP1338161B1 (en) Reconfiguration management architectures for mobile communication systems
RU2339076C2 (en) Execution of non-verified programs in radio communication device
US7254386B2 (en) System and method for improved security in handset reprovisioning and reprogramming
US20120311559A1 (en) Firmware Upgrade System and Method in a Device Management Architecture
US20040188511A1 (en) System to automatically process components on a device
CN1653460A (en) Method for loading an application in a device, device and smart card therefor
CN104077160A (en) Android software upgrading method, device and system
JP2011227912A (en) System for automatic installation of registry base on device and for component handing
KR100685314B1 (en) The System for Auto-Upgrade of Mobile Terminal's software And Method thereof
Sudharshana et al. OTA MOBILE DEVICE SOFTWARE MANAGEMENT
US20230017914A1 (en) System and Methods for Over-the-Air SIM Profile Transfer
KR100548377B1 (en) Method for maintaining security of program
CN114115969A (en) Hot updating method and system based on real Native
CN115190064A (en) Method, device, system and storage medium for implementing client dynamic routing

Legal Events

Date Code Title Description
AS Assignment

Owner name: MOTOROLA, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AGHERA, PARIXIT;BOK, ALAN B.;CHINATADA, SURESH K.;AND OTHERS;REEL/FRAME:014894/0434;SIGNING DATES FROM 20030924 TO 20031015

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MOTOROLA MOBILITY, INC, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC;REEL/FRAME:025673/0558

Effective date: 20100731