US20040093592A1 - Firmware update in electronic devices employing SIM card for saving metadata information - Google Patents

Firmware update in electronic devices employing SIM card for saving metadata information Download PDF

Info

Publication number
US20040093592A1
US20040093592A1 US10/695,312 US69531203A US2004093592A1 US 20040093592 A1 US20040093592 A1 US 20040093592A1 US 69531203 A US69531203 A US 69531203A US 2004093592 A1 US2004093592 A1 US 2004093592A1
Authority
US
United States
Prior art keywords
update
firmware
software
information
memory device
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/695,312
Inventor
Bindu Rao
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.)
Bitfone Corp
Original Assignee
Bitfone Corp
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 Bitfone Corp filed Critical Bitfone Corp
Priority to US10/695,312 priority Critical patent/US20040093592A1/en
Priority to US10/706,219 priority patent/US7747997B1/en
Assigned to BITFONE CORPORATION reassignment BITFONE CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RAO, BINDU RAMA
Publication of US20040093592A1 publication Critical patent/US20040093592A1/en
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

Definitions

  • Electronic devices such as mobile phones and personal digital assistants (PDA's), often contain firmware and application software that are either provided by the manufacturers of the electronic devices, by telecommunication carriers, or by third parties.
  • Electronic devices such as GSM phones, often contain a SIM card reader that is employed to read information on SIM cards that are inserted by end users. At least one function of SIM cards is to provide a personal identity for a user regardless of the phone actually in use. Quite often, SIM cards are used to specify the identification of the end user such that any device into which the SIM card is inserted assumes the identity provided by the SIM card.
  • the firmware and application software on such electronic devices often employ information contained in a SIM card to access, over the telecommunications network, services offered by service providers.
  • an electronic device such as, for example, a mobile handset
  • contains operating system and applications software that is updateable support for the download of one or more update packages comprising information used for updating such software is necessary. It is often difficult, however, to communicate information regarding the location of such update packages to a firmware component, such as an update agent, that needs to access and apply such updates.
  • Update agents that operate at a level below the operating system, closer to the device hardware, may not have access to file system features of the operating system. In addition, the update agents may not have access to other facilities that would typically be available to applications supported by an underlying operating system.
  • an updatable electronic device comprising a memory having at least one of firmware and software, at least one firmware component, and an interface for communicatively coupling to a user removable electronic memory device.
  • the at least one firmware component may function to update at least a portion of at least one of firmware and software
  • the user removable electronic memory device may comprise information related to the updating of the at least a portion of the at least one of firmware and software.
  • the at least one firmware component may comprise an update agent for updating the at least a portion of the at least one of firmware and software, and the update agent may use at least one of an update package and the information related to the updating of the at least one of firmware and software.
  • An embodiment in accordance with the present invention may also comprise a communication interface for receiving the update package, and the communication interface may be a wireless communication interface.
  • the update package may comprise a set of instructions for updating the at least a portion of the at least one firmware and software.
  • the information related to the updating of the at least one firmware and software may comprise at least one of a cyclic redundancy check (CRC), a location in a file system, a memory address, a status flag, and new firmware.
  • CRC cyclic redundancy check
  • the information related to the updating of the at least one firmware and software may comprise an indication of the availability of an update for the at least one of a firmware and software, an indication of the success of an update of the at least one of firmware and software, and may be used to verify or authenticate an update of the at least one of firmware and software.
  • the user removable electronic memory device may comprise one of a subscriber identity module (SIM) card, a smart card, an integrated circuit (IC) card, a removable memory card, and a removable memory module.
  • SIM subscriber identity module
  • IC integrated circuit
  • Additional aspects of the present invention may be seen in a method of updating an updatable electronic device comprising a memory containing at least one of firmware and software, and a user removable electronic memory device.
  • Such a method may comprise retrieving information from the user removable electronic memory device, and determining whether an update of the at least one of firmware and software is available using information from the user removable electronic memory device.
  • An embodiment of the present invention may comprise performing an update of at least a portion of the at least one of firmware and software using at least information from the user removable electronic memory device, if an update of the firmware is available, and refraining from performing an update of at least a portion of the at least one of firmware and software, if an update of the firmware is not available.
  • the user removable electronic memory device may comprise one of a subscriber identity module (SIM) card, a smart card, an integrated circuit card, a removable memory card, and a removable memory module, and the updatable electronic device may be a mobile handset.
  • SIM subscriber identity module
  • the information from the user removable electronic memory device may comprise at least one of a signature, a location in a file system, a memory address, a status flag, and new firmware.
  • the signature may comprise a cyclic redundancy check (CRC).
  • CRC cyclic redundancy check
  • the information from the user removable electronic memory device may comprise an indication of the availability of an update for the at least a portion of the at least one of a firmware and software, and may be used to verify or authenticate an update of the at least a portion of the at least one of a firmware and software.
  • An embodiment of the present invention may also comprise receiving an update package from a server, and the update package may comprise a set of instructions for updating the at least a portion of the at least one firmware and software.
  • the receiving may be performed using a wireless network, and the information from the user removable electronic memory device may comprise the location of at least one of the update package and the server.
  • An embodiment in accordance with the present invention may comprise storing status information in the user removable electronic memory device, if an update was performed, and refraining from storing status information in the user removable electronic memory device, if an update was not performed.
  • An embodiment of the present invention may perform at least one of restarting or rebooting the updatable electronic device, and at least one of a need to restart or reboot and a type of reboot may be resident in the user removable electronic memory device.
  • the determining may comprise verifying whether the retrieved information is at least one of appropriate and authentic, continuing the performance of an update if the verification is successful, and executing a normal startup of the updatable electronic device if the verification is not successful.
  • FIG. 1 is a block diagram of an updatable electronic device having memory comprising firmware/software, and a SIM card that provides access to data stored in an update package reference storage area, in accordance with an embodiment of the present invention.
  • FIG. 2 is a flow chart illustrating an exemplary method of operating an electronic device, such as the electronic device of FIG. 1, when it accesses the update package reference storage area in a SIM card as the electronic device is powered up or restarted, in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an exemplary embodiment of a mobile handset 309 with a file system, in accordance with an embodiment of the present invention.
  • the present invention relates generally to the process of updating software/firmware in electronic devices and, more specifically, to the use of a Subscriber Identity Module (SIM) card or a smart card for providing storage space to store metadata information related to update packages employed in the update of firmware/software in an electronic device.
  • SIM Subscriber Identity Module
  • FIG. 1 is a block diagram of an updatable electronic device 109 having memory 133 comprising firmware/software 131 , and a SIM card 123 that provides access to data stored in an update package reference storage area 127 , in accordance with an embodiment of the present invention.
  • the portion of the memory 133 containing the firmware/software 131 of electronic device 109 is generally non-volatile memory, although memory 133 may comprise both non-volatile and volatile memory.
  • the firmware/software 131 comprises an operating system 129 and an update agent 125 .
  • the electronic device 109 of FIG. 1 may employ the update agent 125 to update the firmware/software 131 in the electronic device 109 using information stored in SIM card 123 .
  • the update packages may comprise information used by update agent 125 in the electronic device 109 to update the firmware/software 131 of electronic device 109 .
  • the information in such an update package may comprise things such as, for example, a set of instructions for updating a portion of the firmware/software 131 .
  • Addition details of exemplary update packages may be found in U.S. Provisional Patent Application Serial No. 60/249,606 (Attorney Docket No. 13776US01), filed Nov. 17, 2000, PCT Application Serial No. PCT/US01/44034 (Attorney Docket No.
  • the distribution server 119 in the distribution network 107 may act not only as a repository of update packages, but also as a system that selectively dispenses the update packages to the electronic device 109 . Although shown as a single electronic device 109 for reasons of clarity, the electronic device 109 of FIG. 1 is representative of a plurality of electronic devices capable of being updated by the distribution server 119 .
  • the electronic device 109 and the distribution network 107 comprise a communications network 105 capable of distributing update packages to the electronic device 109 .
  • the electronic device 109 may be, for example, a mobile handset in a wireless network.
  • the electronic device 109 may comprise an update agent 125 , and a SIM card 123 that provides an update package reference storage area 127 .
  • the SIM card 123 interfaces to the electronic device 109 through interface 111 .
  • a SIM card is a specific form of user removable electronic memory device, the present invention applies equally to other forms of user removable electronic memory devices such as, for example, smart cards (sometimes referred to as “integrated circuit cards” or “IC cards”), removable memory cards, removable memory modules, and the like. Therefore, although this application refers to a SIM card, the present invention is not limited in this regard, as other forms of removable electronic memory device are contemplated and applicable.
  • the update package reference storage area 127 of SIM card 123 may, for example, comprise a 16-byte space where metadata information, associated with an update package downloaded to the electronic device 109 , is stored.
  • the metadata information may be used during a subsequent access by the update agent 125 , such a subsequent access typically occurring during a restart/reboot of the electronic device, or during a power-up event.
  • the update agent 125 may detect the presence of the update package reference storage area 127 in the SIM card 123 , and may employ the information contained in the update package reference storage area 127 during an update of the firmware/software 131 in the memory 133 of the electronic device 109 .
  • the update package reference storage area 127 may contain metadata information related to an update package.
  • the metadata information contained in the update package reference storage area 127 may comprise, for example, one or more signatures such as, for example, 4-byte cyclic redundancy check (CRC) values, an address in memory 133 where the update package is stored, an address of a backup section in the memory 133 of the electronic device 109 that is employed during an update process, and a 4-byte status field indicating the need to update firmware/software 131 in the electronic device 109 .
  • signatures such as, for example, 4-byte cyclic redundancy check (CRC) values
  • CRC cyclic redundancy check
  • Other formats and data types are also contemplated for such metadata.
  • other types of metadata information are contemplated for storage in the update package reference 127 .
  • the update agent 125 may be invoked during a reboot or startup (power-up) of the electronic device, to determine whether an update of the firmware/software 131 in the electronic device is available. If the update agent 125 determines from the metadata information in the update package reference storage area 127 indicates that an update of the firmware/software is available, the update agent 125 may access the update package in the memory 133 of the electronic device 109 using addresses and/or references provided in the update package reference storage area 127 .
  • the update agent 125 in an embodiment of the present invention (e.g., the electronic device 109 ) may access data or code stored in the SIM card 123 , and may use the data as needed in the update process.
  • the electronic device 109 may be capable of determining when the SIM card 123 has been changed. For example, the electronic device 109 may determine if one SIM card 123 has been removed and a different SIM card 123 introduced into the SIM card interface 111 of the electronic device 109 .
  • the update agent 125 may facilitate determination of SIM card changes in the electronic device 109 . The update agent 125 may also facilitate the reporting of such changes to the distribution network 107 . In addition, the determination of changes to information contained in the SIM card 123 may be detected and acted upon by the electronic device 109 .
  • restarting/rebooting of the electronic device 109 may be avoided for some types of update packages.
  • Information indicating whether or not a restart/reboot of the electronic device 109 is to be performed may be communicated to the electronic device 109 when an update package is delivered to the electronic device 109 by the distribution server 119 .
  • An indication of a request to reboot electronic device 109 during an update may be communicated to the electronic device 109 , and may be stored as a flag in the metadata information stored in the update package reference storage area 127 .
  • the type of reboot to be performed may be specified if there is a need to reboot the electronic device following the download of the update package and an update of firmware/software 131 .
  • “reboot needed” information may be communicated to an electronic device such as, for example, a wireless mobile handset, along with an update package.
  • An indication of a request for a reboot, along with information specifying the kind of reboot—e.g., “soft” or “hard”, may be stored in the update package reference storage area 127 .
  • FIG. 2 is a flow chart illustrating an exemplary method of operating an electronic device, such as the electronic device 109 of FIG. 1, when it accesses the update package reference storage area in a SIM card as the electronic device is powered up or restarted, in accordance with an embodiment of the present invention.
  • the following description of the method of FIG. 2 makes reference to the illustration shown in FIG. 1.
  • an electronic device such as the electronic device 109 of FIG. 1, is powered-up or restarted (rebooted).
  • the electronic device executes an initialization sequence typically executed as part of an initial bootstrap operation (block 209 ).
  • an update agent resident in the electronic device determines whether an update of the firmware/software (e.g., firmware/software 131 ) of the electronic device is available (block 211 ).
  • the update agent may access an update package reference storage area, such as update package storage area 127 in the SIM card 123 of FIG. 1, to retrieve a status flag.
  • a status flag may indicate a request to update firmware/software, employing an update package stored in a file system in the memory (e.g., memory 133 ) of the electronic device.
  • the location where the update package is stored in the file system of the electronic device may also be provided in the update package reference storage area of the SIM card.
  • the update package storage area of the SIM card may be accessed by an update agent, such as the update agent 125 of FIG. 1, to retrieve metadata information used in performing the update (block 213 ).
  • An attempt may then be made to verify whether the metadata information in the update package reference storage area of the SIM card is appropriate and relevant (block 215 ). If it is determined that the metadata information in the update package reference storage area of the SIM card is not authentic, or is inappropriate, the update process is bypassed, and a message may be displayed to a user to indicate that the update package reference storage area contains inappropriate data (block 223 ).
  • the regular or normal startup of the electronic device may then be activated (block 225 ), and the illustrated process ends (block 221 ).
  • the update agent may retrieve metadata information from the update package reference storage area of the SIM card (block 217 ), access the update package and associated information using metadata information retrieved from the update package reference storage area, and prepare for the update processing.
  • the update agent may then apply one or more update packages to the firmware/software of the electronic device, using metadata information from the update package reference storage area (block 219 ).
  • one or more flags may be set (or reset) to indicate success or failure of the update process. Such flags may be located in the non-volatile memory of the electronic device, or in the SIM card, and may be accessed as processing continues (block 207 ) after a restart/reboot or power cycle.
  • a newer update agent may be retrieved from the SIM card, and may replace the existing update agent (block 217 ).
  • FIG. 3 is a schematic diagram of an exemplary embodiment of a mobile handset 309 with a file system, in accordance with an embodiment of the present invention.
  • the exemplary mobile handset 309 of FIG. 3 may correspond to the electronic device 109 of FIG. 1.
  • the mobile handset 309 may download an update package using communications means 315 , store the downloaded updated package into a file system 325 provided by operating system 323 , and populate an update package reference storage area (not shown) in a SIM card 337 .
  • the mobile handset 309 may employ services provided by a SIM card driver 331 .
  • An update agent 313 in the mobile handset 309 may also employ the services provided by the SIM card driver 331 to access the update package reference storage area in SIM card 337 before or during an update process, to retrieve metadata information related to the downloaded update package.
  • the SIM card 337 may provide storage for storing and retrieving metadata information related to the update of mobile handset 309 .
  • metadata information may be stored by a secure loader manager 327 that is responsible for managing downloads of update packages over communications means 315 .
  • the metadata information stored in SIM card 337 may comprise addresses of locations in the file system where update packages are stored, and where backup space for processing is provided. The metadata information may later be accessed by the update agent 313 during power-up or restart/reboot of the mobile handset 309 .
  • an initial boot sequence may be executed on a power-up or restart/reboot, before the update agent 313 or the firmware 321 is activated.
  • the update agent 313 may be activated immediately after the initial boot sequence and before the firmware 321 .
  • the update agent 313 may determine a need to update the firmware/software by accessing metadata information stored in the update package reference storage area in a SIM card, such as SIM card 337 of FIG. 3. In a related embodiment, the update agent 313 may determine a need to update the firmware software using information stored in the storage 311 , or in the firmware 321 , without accessing the SIM card 337 .
  • the update agent 313 may determine that an update of firmware/software is to be performed, and may access the SIM card 337 via the SIM card driver 331 , to retrieve metadata information in an update package reference (not shown) in the SIM card 337 .
  • the metadata information may comprise authentication information such as, for example, one or more signatures (e.g., CRC values) used to verify and/or authenticate portions of the update package, or the updated firmware/software.
  • the metadata information may also comprise, for example, the location of one or more update packages in storage 331 or file system 325 , and addresses of backup areas or sections in storage 311 .
  • This metadata information may be employed during the processing of update packages before an update, or during an update process, and may also comprise status flags, Universal Resources Locators (URLs) in a distribution network such as distribution network 107 of FIG. 1, other update-related parameters, and the like.
  • URLs Universal Resources Locators
  • an electronic device such as, for example, the electronic device 309 of FIG. 3, with an update agent such as, for example, update agent 313 , may employ an update package reference stored in a SIM card, to save metadata information related to a downloaded update package.
  • the update agent may access the saved metadata information during power up or restart/reboot in order to access and/or process the downloaded update package.
  • a SIM card such as, for example, SIM card 337 of FIG. 3 may be employed by an electronic device to save information about downloaded files that are stored in a file system of the electronic device such as, for example, file system 325 of FIG. 3. Such information may subsequently be accessed by the update agent when the functionality of the file system is not available. This may occur, for example, during power-up or restart/reboot, when the update package may be accessed to perform a firmware/software update.

Abstract

A system and method for saving metadata information related to firmware/software updates in a SIM card is disclosed. An electronic device with an update agent may employ an update package reference storage area in a SIM card to save metadata information related to a downloaded update package. The update agent may access the stored metadata information during power up or reboot in order to access and/or process the downloaded update package. The SIM card, or in various embodiments of the present invention, a smart card, a removable memory card, or a removable memory module, may be employed by the electronic device to save information about downloaded files that are stored in a file system in the electronic device. Such information may subsequently be accessed by the update agent when the file system is not available. This may occur, for example, during power-up or reboot, when the update package needs to be accessed to perform a firmware/software update.

Description

    RELATED APPLICATIONS
  • This application makes reference to, claims priority to, and claims the benefit of U.S. Provisional Patent Application 60/425,903, entitled “Firmware Update In Electronic Devices Employing SIM Card For Saving Metadata Information” (Attorney Docket No. 14321US01-101USMD18), filed Nov. 13, 2002, the complete subject matter of which is hereby incorporated herein by reference, in its entirety. [0001]
  • In addition, this application makes reference to United State Provisional Patent Application Serial No. 60/249,606 (Attorney Docket No. 13776US01), filed Nov. 17, 2000, PCT Application Serial No. PCT/US01/44034 (Attorney Docket No. 13776WO01), entitled “System And Method For Updating And Distributing Information”, filed Nov. 17, 2001, U.S. patent application Ser. No. 10/311,462 (Attorney Docket No. 13776US02), entitled “System And Method For Updating And Distributing Information”, filed May 13, 2003, United State Provisional Patent Application Serial No. 60/386,199, entitled “Communication Network Capable Of Determining SIM Card Changes In Electronic Devices” (Attorney Docket No. 15109US01-101USMD05U1), filed Apr. 19, 2002, and U.S. Provisional Patent Application Serial No. 60/425,901, entitled “Firmware Update In Electronic Devices Employing Update Agent In SIM Card” (Attorney Docket No. 14320US01101USMD17), filed Nov. 13, 2002, the complete subject matter of each of which is hereby incorporated herein by reference in its entirety.[0002]
  • FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
  • [Not Applicable][0003]
  • MICROFICHE/COPYRIGHT REFERENCE
  • [Not Applicable][0004]
  • BACKGROUND OF THE INVENTION
  • Electronic devices, such as mobile phones and personal digital assistants (PDA's), often contain firmware and application software that are either provided by the manufacturers of the electronic devices, by telecommunication carriers, or by third parties. Electronic devices, such as GSM phones, often contain a SIM card reader that is employed to read information on SIM cards that are inserted by end users. At least one function of SIM cards is to provide a personal identity for a user regardless of the phone actually in use. Quite often, SIM cards are used to specify the identification of the end user such that any device into which the SIM card is inserted assumes the identity provided by the SIM card. The firmware and application software on such electronic devices often employ information contained in a SIM card to access, over the telecommunications network, services offered by service providers. [0005]
  • If an electronic device such as, for example, a mobile handset, contains operating system and applications software that is updateable, support for the download of one or more update packages comprising information used for updating such software is necessary. It is often difficult, however, to communicate information regarding the location of such update packages to a firmware component, such as an update agent, that needs to access and apply such updates. Update agents that operate at a level below the operating system, closer to the device hardware, may not have access to file system features of the operating system. In addition, the update agents may not have access to other facilities that would typically be available to applications supported by an underlying operating system. [0006]
  • Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings. [0007]
  • BRIEF SUMMARY OF THE INVENTION
  • Aspects of the present invention may be found in an updatable electronic device comprising a memory having at least one of firmware and software, at least one firmware component, and an interface for communicatively coupling to a user removable electronic memory device. The at least one firmware component may function to update at least a portion of at least one of firmware and software, and the user removable electronic memory device may comprise information related to the updating of the at least a portion of the at least one of firmware and software. The at least one firmware component may comprise an update agent for updating the at least a portion of the at least one of firmware and software, and the update agent may use at least one of an update package and the information related to the updating of the at least one of firmware and software. An embodiment in accordance with the present invention may also comprise a communication interface for receiving the update package, and the communication interface may be a wireless communication interface. The update package may comprise a set of instructions for updating the at least a portion of the at least one firmware and software. [0008]
  • In an embodiment of the present invention, the information related to the updating of the at least one firmware and software may comprise at least one of a cyclic redundancy check (CRC), a location in a file system, a memory address, a status flag, and new firmware. The information related to the updating of the at least one firmware and software may comprise an indication of the availability of an update for the at least one of a firmware and software, an indication of the success of an update of the at least one of firmware and software, and may be used to verify or authenticate an update of the at least one of firmware and software. The user removable electronic memory device may comprise one of a subscriber identity module (SIM) card, a smart card, an integrated circuit (IC) card, a removable memory card, and a removable memory module. [0009]
  • Additional aspects of the present invention may be seen in a method of updating an updatable electronic device comprising a memory containing at least one of firmware and software, and a user removable electronic memory device. Such a method may comprise retrieving information from the user removable electronic memory device, and determining whether an update of the at least one of firmware and software is available using information from the user removable electronic memory device. An embodiment of the present invention may comprise performing an update of at least a portion of the at least one of firmware and software using at least information from the user removable electronic memory device, if an update of the firmware is available, and refraining from performing an update of at least a portion of the at least one of firmware and software, if an update of the firmware is not available. The user removable electronic memory device may comprise one of a subscriber identity module (SIM) card, a smart card, an integrated circuit card, a removable memory card, and a removable memory module, and the updatable electronic device may be a mobile handset. [0010]
  • In an embodiment in accordance with the present invention, the information from the user removable electronic memory device may comprise at least one of a signature, a location in a file system, a memory address, a status flag, and new firmware. The signature may comprise a cyclic redundancy check (CRC). The information from the user removable electronic memory device may comprise an indication of the availability of an update for the at least a portion of the at least one of a firmware and software, and may be used to verify or authenticate an update of the at least a portion of the at least one of a firmware and software. An embodiment of the present invention may also comprise receiving an update package from a server, and the update package may comprise a set of instructions for updating the at least a portion of the at least one firmware and software. In an embodiment of the present invention, the receiving may be performed using a wireless network, and the information from the user removable electronic memory device may comprise the location of at least one of the update package and the server. [0011]
  • An embodiment in accordance with the present invention may comprise storing status information in the user removable electronic memory device, if an update was performed, and refraining from storing status information in the user removable electronic memory device, if an update was not performed. An embodiment of the present invention may perform at least one of restarting or rebooting the updatable electronic device, and at least one of a need to restart or reboot and a type of reboot may be resident in the user removable electronic memory device. In an embodiment of the present invention, the determining may comprise verifying whether the retrieved information is at least one of appropriate and authentic, continuing the performance of an update if the verification is successful, and executing a normal startup of the updatable electronic device if the verification is not successful. [0012]
  • These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings. [0013]
  • BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
  • FIG. 1 is a block diagram of an updatable electronic device having memory comprising firmware/software, and a SIM card that provides access to data stored in an update package reference storage area, in accordance with an embodiment of the present invention. [0014]
  • FIG. 2 is a flow chart illustrating an exemplary method of operating an electronic device, such as the electronic device of FIG. 1, when it accesses the update package reference storage area in a SIM card as the electronic device is powered up or restarted, in accordance with an embodiment of the present invention. [0015]
  • FIG. 3 is a schematic diagram of an exemplary embodiment of a [0016] mobile handset 309 with a file system, in accordance with an embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention relates generally to the process of updating software/firmware in electronic devices and, more specifically, to the use of a Subscriber Identity Module (SIM) card or a smart card for providing storage space to store metadata information related to update packages employed in the update of firmware/software in an electronic device. [0017]
  • FIG. 1 is a block diagram of an updatable [0018] electronic device 109 having memory 133 comprising firmware/software 131, and a SIM card 123 that provides access to data stored in an update package reference storage area 127, in accordance with an embodiment of the present invention. The portion of the memory 133 containing the firmware/software 131 of electronic device 109 is generally non-volatile memory, although memory 133 may comprise both non-volatile and volatile memory. The firmware/software 131 comprises an operating system 129 and an update agent 125. The electronic device 109 of FIG. 1 may employ the update agent 125 to update the firmware/software 131 in the electronic device 109 using information stored in SIM card 123. The electronic device 109 of FIG. 1 is communicatively coupled by communication link 113 to a distribution network 107, that provides access to update packages. The update packages may comprise information used by update agent 125 in the electronic device 109 to update the firmware/software 131 of electronic device 109. The information in such an update package may comprise things such as, for example, a set of instructions for updating a portion of the firmware/software 131. Addition details of exemplary update packages may be found in U.S. Provisional Patent Application Serial No. 60/249,606 (Attorney Docket No. 13776US01), filed Nov. 17, 2000, PCT Application Serial No. PCT/US01/44034 (Attorney Docket No. 13776WO01), entitled “System And Method For Updating And Distributing Information”, filed Nov. 17, 2001, U.S. patent application Ser. No. 10/311,462 (Attorney Docket No. 13776US02), entitled “System And Method For Updating And Distributing Information”, filed May 13, 2003, the complete subject matter of each of which is hereby incorporated herein by reference in its entirety. The distribution server 119 in the distribution network 107 may act not only as a repository of update packages, but also as a system that selectively dispenses the update packages to the electronic device 109. Although shown as a single electronic device 109 for reasons of clarity, the electronic device 109 of FIG. 1 is representative of a plurality of electronic devices capable of being updated by the distribution server 119.
  • Together, the [0019] electronic device 109 and the distribution network 107 comprise a communications network 105 capable of distributing update packages to the electronic device 109. In one embodiment of the present invention, the electronic device 109 may be, for example, a mobile handset in a wireless network.
  • In an embodiment of the present invention, the [0020] electronic device 109 may comprise an update agent 125, and a SIM card 123 that provides an update package reference storage area 127. The SIM card 123 interfaces to the electronic device 109 through interface 111. Although a SIM card is a specific form of user removable electronic memory device, the present invention applies equally to other forms of user removable electronic memory devices such as, for example, smart cards (sometimes referred to as “integrated circuit cards” or “IC cards”), removable memory cards, removable memory modules, and the like. Therefore, although this application refers to a SIM card, the present invention is not limited in this regard, as other forms of removable electronic memory device are contemplated and applicable. The update package reference storage area 127 of SIM card 123 may, for example, comprise a 16-byte space where metadata information, associated with an update package downloaded to the electronic device 109, is stored. The metadata information may be used during a subsequent access by the update agent 125, such a subsequent access typically occurring during a restart/reboot of the electronic device, or during a power-up event.
  • In an embodiment in accordance with the present invention, the [0021] update agent 125 may detect the presence of the update package reference storage area 127 in the SIM card 123, and may employ the information contained in the update package reference storage area 127 during an update of the firmware/software 131 in the memory 133 of the electronic device 109. In an embodiment of the present invention, the update package reference storage area 127 may contain metadata information related to an update package. In one embodiment of the present invention, the metadata information contained in the update package reference storage area 127 may comprise, for example, one or more signatures such as, for example, 4-byte cyclic redundancy check (CRC) values, an address in memory 133 where the update package is stored, an address of a backup section in the memory 133 of the electronic device 109 that is employed during an update process, and a 4-byte status field indicating the need to update firmware/software 131 in the electronic device 109. Other formats and data types are also contemplated for such metadata. In addition, other types of metadata information are contemplated for storage in the update package reference 127.
  • In an embodiment of the present invention, the [0022] update agent 125 may be invoked during a reboot or startup (power-up) of the electronic device, to determine whether an update of the firmware/software 131 in the electronic device is available. If the update agent 125 determines from the metadata information in the update package reference storage area 127 indicates that an update of the firmware/software is available, the update agent 125 may access the update package in the memory 133 of the electronic device 109 using addresses and/or references provided in the update package reference storage area 127. The update agent 125 in an embodiment of the present invention (e.g., the electronic device 109) may access data or code stored in the SIM card 123, and may use the data as needed in the update process.
  • In one embodiment of the present invention, the [0023] electronic device 109 may be capable of determining when the SIM card 123 has been changed. For example, the electronic device 109 may determine if one SIM card 123 has been removed and a different SIM card 123 introduced into the SIM card interface 111 of the electronic device 109. In an embodiment in accordance with the present invention, the update agent 125 may facilitate determination of SIM card changes in the electronic device 109. The update agent 125 may also facilitate the reporting of such changes to the distribution network 107. In addition, the determination of changes to information contained in the SIM card 123 may be detected and acted upon by the electronic device 109.
  • In an embodiment of the present invention, restarting/rebooting of the [0024] electronic device 109 may be avoided for some types of update packages. Information indicating whether or not a restart/reboot of the electronic device 109 is to be performed may be communicated to the electronic device 109 when an update package is delivered to the electronic device 109 by the distribution server 119. An indication of a request to reboot electronic device 109 during an update may be communicated to the electronic device 109, and may be stored as a flag in the metadata information stored in the update package reference storage area 127. In a related embodiment, the type of reboot to be performed (e.g., a “soft” reboot or a “hard” reboot) may be specified if there is a need to reboot the electronic device following the download of the update package and an update of firmware/software 131. Thus, “reboot needed” information may be communicated to an electronic device such as, for example, a wireless mobile handset, along with an update package. An indication of a request for a reboot, along with information specifying the kind of reboot—e.g., “soft” or “hard”, may be stored in the update package reference storage area 127.
  • FIG. 2 is a flow chart illustrating an exemplary method of operating an electronic device, such as the [0025] electronic device 109 of FIG. 1, when it accesses the update package reference storage area in a SIM card as the electronic device is powered up or restarted, in accordance with an embodiment of the present invention. The following description of the method of FIG. 2 makes reference to the illustration shown in FIG. 1. At the start of the process (block 207), an electronic device, such as the electronic device 109 of FIG. 1, is powered-up or restarted (rebooted). The electronic device then executes an initialization sequence typically executed as part of an initial bootstrap operation (block 209). Next, an update agent resident in the electronic device determines whether an update of the firmware/software (e.g., firmware/software 131) of the electronic device is available (block 211). In one embodiment of the present invention, the update agent may access an update package reference storage area, such as update package storage area 127 in the SIM card 123 of FIG. 1, to retrieve a status flag. When set, such a status flag may indicate a request to update firmware/software, employing an update package stored in a file system in the memory (e.g., memory 133) of the electronic device. The location where the update package is stored in the file system of the electronic device may also be provided in the update package reference storage area of the SIM card.
  • If it is determined (block [0026] 211) that there is no need to update the firmware/software of the electronic device, then the regular or normal startup of the electronic device is activated (block 225), and the illustrated process ends (block 221).
  • If it is determined (block [0027] 211) that an update of firmware/software is indicated, then the update package storage area of the SIM card may be accessed by an update agent, such as the update agent 125 of FIG. 1, to retrieve metadata information used in performing the update (block 213). An attempt may then be made to verify whether the metadata information in the update package reference storage area of the SIM card is appropriate and relevant (block 215). If it is determined that the metadata information in the update package reference storage area of the SIM card is not authentic, or is inappropriate, the update process is bypassed, and a message may be displayed to a user to indicate that the update package reference storage area contains inappropriate data (block 223). The regular or normal startup of the electronic device may then be activated (block 225), and the illustrated process ends (block 221).
  • If it is determined that the metadata information provided in the update package reference storage area of the SIM card is authentic and appropriate (block [0028] 215), then the update agent may retrieve metadata information from the update package reference storage area of the SIM card (block 217), access the update package and associated information using metadata information retrieved from the update package reference storage area, and prepare for the update processing. The update agent may then apply one or more update packages to the firmware/software of the electronic device, using metadata information from the update package reference storage area (block 219). In addition, one or more flags may be set (or reset) to indicate success or failure of the update process. Such flags may be located in the non-volatile memory of the electronic device, or in the SIM card, and may be accessed as processing continues (block 207) after a restart/reboot or power cycle.
  • In an embodiment of the present invention, a newer update agent may be retrieved from the SIM card, and may replace the existing update agent (block [0029] 217).
  • FIG. 3 is a schematic diagram of an exemplary embodiment of a [0030] mobile handset 309 with a file system, in accordance with an embodiment of the present invention. The exemplary mobile handset 309 of FIG. 3 may correspond to the electronic device 109 of FIG. 1. The mobile handset 309 may download an update package using communications means 315, store the downloaded updated package into a file system 325 provided by operating system 323, and populate an update package reference storage area (not shown) in a SIM card 337. During the download of the update package, the mobile handset 309 may employ services provided by a SIM card driver 331. An update agent 313 in the mobile handset 309 may also employ the services provided by the SIM card driver 331 to access the update package reference storage area in SIM card 337 before or during an update process, to retrieve metadata information related to the downloaded update package. The SIM card 337 may provide storage for storing and retrieving metadata information related to the update of mobile handset 309. Such metadata information may be stored by a secure loader manager 327 that is responsible for managing downloads of update packages over communications means 315. In an embodiment of the present invention, the metadata information stored in SIM card 337 may comprise addresses of locations in the file system where update packages are stored, and where backup space for processing is provided. The metadata information may later be accessed by the update agent 313 during power-up or restart/reboot of the mobile handset 309.
  • In an embodiment of the present invention, an initial boot sequence may be executed on a power-up or restart/reboot, before the [0031] update agent 313 or the firmware 321 is activated. Specifically, the update agent 313 may be activated immediately after the initial boot sequence and before the firmware 321.
  • In one embodiment of the present invention, the [0032] update agent 313 may determine a need to update the firmware/software by accessing metadata information stored in the update package reference storage area in a SIM card, such as SIM card 337 of FIG. 3. In a related embodiment, the update agent 313 may determine a need to update the firmware software using information stored in the storage 311, or in the firmware 321, without accessing the SIM card 337.
  • In one embodiment of the present invention, the [0033] update agent 313 may determine that an update of firmware/software is to be performed, and may access the SIM card 337 via the SIM card driver 331, to retrieve metadata information in an update package reference (not shown) in the SIM card 337. The metadata information may comprise authentication information such as, for example, one or more signatures (e.g., CRC values) used to verify and/or authenticate portions of the update package, or the updated firmware/software. The metadata information may also comprise, for example, the location of one or more update packages in storage 331 or file system 325, and addresses of backup areas or sections in storage 311. This metadata information may be employed during the processing of update packages before an update, or during an update process, and may also comprise status flags, Universal Resources Locators (URLs) in a distribution network such as distribution network 107 of FIG. 1, other update-related parameters, and the like.
  • In an embodiment of the present invention, an electronic device such as, for example, the [0034] electronic device 309 of FIG. 3, with an update agent such as, for example, update agent 313, may employ an update package reference stored in a SIM card, to save metadata information related to a downloaded update package. The update agent may access the saved metadata information during power up or restart/reboot in order to access and/or process the downloaded update package. In an embodiment in accordance with the present invention, a SIM card such as, for example, SIM card 337 of FIG. 3 may be employed by an electronic device to save information about downloaded files that are stored in a file system of the electronic device such as, for example, file system 325 of FIG. 3. Such information may subsequently be accessed by the update agent when the functionality of the file system is not available. This may occur, for example, during power-up or restart/reboot, when the update package may be accessed to perform a firmware/software update.
  • While the invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims. [0035]

Claims (23)

1. An updatable electronic device comprising:
a memory comprising at least one of firmware and software;
at least one firmware component, functioning to update at least a portion of at least one of firmware and software;
an interface for communicatively coupling to a removable electronic memory device; and
the removable electronic memory device comprising information related to the updating of the at least a portion of the at least one of firmware and software.
2. The device of claim 1 wherein the at least one firmware component comprises:
an update agent for updating the at least a portion of the at least one of firmware and software, the update agent using at least one of an update package and the information related to the updating of the at least one of firmware and software.
3. The device of claim 2 further comprising:
a communication interface for receiving the update package.
4. The device of claim 3 wherein the communication interface is a wireless communication interface.
5. The device of claim 2 wherein the update package comprises a set of instructions for updating the at least a portion of the at least one firmware and software.
6. The device of claim 1 wherein the information related to the updating of the at least one firmware and software comprises at least one of a cyclic redundancy check (CRC), a location in a file system, a memory address, a status flag, and new firmware.
7. The device of claim 1 wherein the information related to the updating of the at least one firmware and software comprises an indication of the availability of an update for the at least one of a firmware and software.
8. The device of claim 1 wherein the information related to the updating of the at least one firmware and software comprises an indication of the success of an update of the at least one of firmware and software.
9. The device of claim 1 wherein the information related to the updating of the at least one firmware and software is used to verify or authenticate an update of the at least one of firmware and software.
10. The device of claim 1 wherein the removable electronic memory device comprises one of a subscriber identity module (SIM) card, a smart card, an integrated circuit (IC) card, a removable memory card, and a removable memory module.
11. A method of updating an updatable electronic device comprising a memory containing at least one of firmware and software, and a user removable electronic memory device, the method comprising:
retrieving information from the user removable electronic memory device;
determining whether an update of the at least one of firmware and software is available using information from the user removable electronic memory device;
performing an update of at least a portion of the at least one of firmware and software using at least information from the user removable electronic memory device, if an update of the firmware is available; and
refraining from performing an update of at least a portion of the at least one of firmware and software, if an update of the firmware is not available.
12. The method of claim 11 wherein the user removable electronic memory device comprises one of a subscriber identity module (SIM) card, a smart card, an integrated circuit card, a removable memory card, and a removable memory module.
13. The method of claim 11 wherein the updatable electronic device is a mobile handset.
14. The method of claim 11 wherein the information from the user removable electronic memory device comprises at least one of a signature, a location in a file system, a memory address, a status flag, and new firmware.
15. The method of claim 14 wherein the signature comprises a cyclic redundancy check (CRC).
16. The method of claim 11 wherein the information from the user removable electronic memory device comprises an indication of the availability of an update for the at least a portion of the at least one of a firmware and software.
17. The method of claim 11 wherein the information from the user removable electronic memory device is used to verify or authenticate an update of the at least a portion of the at least one of a firmware and software.
18. The method of claim 11 further comprising:
receiving an update package from a server; and
the update package comprising a set of instructions for updating the at least a portion of the at least one firmware and software.
19. The method of claim 11 wherein:
the receiving is performed using a wireless network; and
the information from the user removable electronic memory device comprises the location of at least one of the update package and the server.
20. The method of claim 11 further comprising:
storing status information in the user removable electronic memory device, if an update was performed; and
refraining from storing status information in the user removable electronic memory device, if an update was not performed.
21. The method of claim 11 further comprising:
performing at least one of restarting or rebooting the updatable electronic device.
22. The method of claim 21 wherein at least one of a need to restart or reboot and a type of reboot is resident in the user removable electronic memory device.
23. The method of claim 11 wherein the determining comprises:
verifying whether the retrieved information is at least one of appropriate and authentic;
continuing the performance of an update, if the verification is successful; and
executing a normal startup of the updatable electronic device, if the verification is not successful.
US10/695,312 2002-11-13 2003-10-28 Firmware update in electronic devices employing SIM card for saving metadata information Abandoned US20040093592A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/695,312 US20040093592A1 (en) 2002-11-13 2003-10-28 Firmware update in electronic devices employing SIM card for saving metadata information
US10/706,219 US7747997B1 (en) 2002-11-13 2003-11-12 Firmware update in electronic devices employing SIM card for saving metadata information

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42590102P 2002-11-13 2002-11-13
US42590302P 2002-11-13 2002-11-13
US10/695,312 US20040093592A1 (en) 2002-11-13 2003-10-28 Firmware update in electronic devices employing SIM card for saving metadata information

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/706,219 Continuation US7747997B1 (en) 2002-11-13 2003-11-12 Firmware update in electronic devices employing SIM card for saving metadata information

Publications (1)

Publication Number Publication Date
US20040093592A1 true US20040093592A1 (en) 2004-05-13

Family

ID=42271335

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/695,312 Abandoned US20040093592A1 (en) 2002-11-13 2003-10-28 Firmware update in electronic devices employing SIM card for saving metadata information
US10/706,219 Expired - Fee Related US7747997B1 (en) 2002-11-13 2003-11-12 Firmware update in electronic devices employing SIM card for saving metadata information

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/706,219 Expired - Fee Related US7747997B1 (en) 2002-11-13 2003-11-12 Firmware update in electronic devices employing SIM card for saving metadata information

Country Status (1)

Country Link
US (2) US20040093592A1 (en)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182822A1 (en) * 2004-02-17 2005-08-18 Daniel Stuart W. Imaging device with memory device interface
US20050188366A1 (en) * 2004-02-25 2005-08-25 Via Technologies Inc. Firmware upgrade method
US20050240919A1 (en) * 2004-04-27 2005-10-27 Kim Kyoug I Firmware update using memory card reader
US20050262315A1 (en) * 2004-05-24 2005-11-24 Kabushiki Kaisha Toshiba Mobile electronic device
US20050282533A1 (en) * 2004-03-22 2005-12-22 Vadim Draluk Method and apparatus for dynamic extension of device management tree data model on a mobile
US20060053417A1 (en) * 2004-09-03 2006-03-09 Microsoft Corporation Update at shutdown
US20060111084A1 (en) * 2004-11-22 2006-05-25 Adatrao Ravi M System and method for over-the-air update of wireless communication devices
WO2006056638A1 (en) * 2004-11-25 2006-06-01 Nokia Corporation Providing services via a communication system
EP1684534A2 (en) * 2005-01-19 2006-07-26 Samsung Electronics Co., Ltd. Method of and apparatus for improving data processing speed of an identity module
US20060200471A1 (en) * 2005-03-04 2006-09-07 Network Appliance, Inc. Method and apparatus for communicating between an agent and a remote management module in a processing system
US20060200361A1 (en) * 2005-03-04 2006-09-07 Mark Insley Storage of administrative data on a remote management device
US20060200641A1 (en) * 2005-03-04 2006-09-07 Network Appliance, Inc. Protecting data transactions on an integrated circuit bus
US20070061570A1 (en) * 2005-09-14 2007-03-15 Michael Holtzman Method of hardware driver integrity check of memory card controller firmware
US20070061581A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US20080086614A1 (en) * 2006-10-09 2008-04-10 Sandisk Il Ltd. Application dependent storage control
US20080168127A1 (en) * 2005-04-08 2008-07-10 Pablo Hernandez System and Method For Scheduling Device Management
US20080195750A1 (en) * 2007-02-09 2008-08-14 Microsoft Corporation Secure cross platform auditing
US20090089778A1 (en) * 2007-10-01 2009-04-02 Julie Levell Craft User-specified install locations
WO2009068931A1 (en) * 2007-11-30 2009-06-04 Nokia Corporation Method, device and system for firmware update by near-field communication
US20090172659A1 (en) * 2007-12-31 2009-07-02 Oberg Gregory Keith Video game forward compatibility including software patching
US20090183017A1 (en) * 2008-01-16 2009-07-16 Asustek Computer Inc. Booting method and computer system thereof
US20090217257A1 (en) * 2008-02-27 2009-08-27 Mstar Semiconductor, Inc. Apparatus and Method for Firmware Update
US20090327295A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Maintenance of exo-file system metadata on removable storage device
US20100031183A1 (en) * 2008-08-01 2010-02-04 Samsung Electronics Co., Ltd. Electronic device and web information providing method thereof
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US20100245037A1 (en) * 2009-03-26 2010-09-30 International Business Machines Corporation On chip verification and consequent enablement of card os operation in smart cards
WO2011118670A1 (en) 2010-03-25 2011-09-29 Nec Corporation Communications Device
US20110276608A1 (en) * 2002-12-23 2011-11-10 O'farrell Robert Mobile data and software update system and method
US8090810B1 (en) 2005-03-04 2012-01-03 Netapp, Inc. Configuring a remote management module in a processing system
US20120109902A1 (en) * 2010-10-29 2012-05-03 Verizon Patent And Licensing Inc. Content caching based on refresh and expiration times
US20130339939A1 (en) * 2012-06-19 2013-12-19 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and storage medium
US20140053145A1 (en) * 2012-08-17 2014-02-20 Tripwire, Inc. Operating system patching and software update reconciliation
US8776037B2 (en) 2007-01-04 2014-07-08 International Business Machines Corporation Apparatus and method to update multiple devices disposed in a computing system
CN105260215A (en) * 2015-11-04 2016-01-20 福建星海通信科技有限公司 Method of updating vehicle-mounted automobile data recorder terminal by USB flash disk
US20160062690A1 (en) * 2014-08-27 2016-03-03 SK Hynix Inc. Data storage device, data processing system including the same, and operating method thereof
US9280337B2 (en) * 2006-12-18 2016-03-08 Adobe Systems Incorporated Secured distribution of software updates
US9361219B2 (en) * 2011-10-11 2016-06-07 Ricoh Company, Ltd. Information processing device, information processing method and program product
US20170017479A1 (en) * 2013-12-10 2017-01-19 Fresenius Medical Care Deutschland Gmbh Method for updating and/or upgrading the operating software of an electronic device
US9766876B2 (en) * 2015-03-31 2017-09-19 Fujitsu Limited Methods of updating software components, computer systems and memory apparatus
US20170374080A1 (en) * 2012-10-16 2017-12-28 Pieter-Jan Boone Secure, non-disruptive firmware updating
US10210004B2 (en) 2015-05-05 2019-02-19 Fujitsu Limited Method of providing at least one data carrier for a computer system and computer system including service processor independently operable from a main processor of the computer system
US10747523B2 (en) 2015-04-17 2020-08-18 Fujitsu Limited Methods of updating firmware components, computer systems and memory apparatus
US10893119B2 (en) 2012-05-22 2021-01-12 Verizon Patent And Licensing Inc. Time-based data caching
US10911939B2 (en) * 2017-06-14 2021-02-02 Huawei Technologies Co., Ltd. Embedded universal integrated circuit card profile management method and apparatus
US11567782B2 (en) 2016-11-14 2023-01-31 Intel Corporation Configurable client hardware

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088448A1 (en) * 2004-03-15 2005-09-22 Red Bend Ltd. Method and apparatus for reliable in-place update
FR2889326A1 (en) * 2005-07-28 2007-02-02 Gemplus Sa Content data downloading method for e.g. mobile terminal, involves initiating data download in communicating object, towards object, by sending content availability request towards card administration server
FR2891931B1 (en) * 2005-10-10 2008-02-22 Wavecom Sa RADIO COMMUNICATION DEVICE COMPRISING AT LEAST ONE RADIOCOMMUNICATION MODULE AND A SIM CARD, RADIO COMMUNICATION MODULE AND SIM CARD THEREOF
US8041444B2 (en) * 2006-12-22 2011-10-18 Harris Stratex Networks Operating Corporation Intelligent production station and production method
US8726259B2 (en) * 2007-04-09 2014-05-13 Kyocera Corporation System and method for preserving device parameters during a FOTA upgrade
JP4958692B2 (en) * 2007-08-31 2012-06-20 キヤノン株式会社 Distribution apparatus, distribution method, and computer program
JP2010044574A (en) * 2008-08-12 2010-02-25 Sony Ericsson Mobilecommunications Japan Inc Portable terminal, portable terminal control method and portable terminal control program
US8914783B2 (en) * 2008-11-25 2014-12-16 Fisher-Rosemount Systems, Inc. Software deployment manager integration within a process control system
US8898660B2 (en) * 2008-11-25 2014-11-25 Fisher-Rosemount Systems, Inc. Systems and methods to provide customized release notes during a software system upgrade of a process control system
JP5564956B2 (en) * 2010-01-15 2014-08-06 富士通株式会社 Information processing apparatus and firmware update method for information processing apparatus
US20110212724A1 (en) * 2010-02-26 2011-09-01 Research In Motion Limited Storage of radio information on a removable memory
US8869138B2 (en) 2011-11-11 2014-10-21 Wyse Technology L.L.C. Robust firmware update with recovery logic
US8478340B1 (en) 2011-12-14 2013-07-02 The United States Of America As Represented By The Director, National Security Agency Device for and method of detecting SIM card removal and reinsertion
US9092300B2 (en) 2013-04-18 2015-07-28 Ottr Products, Llc Peripheral device and method for updating firmware thereof
US9594545B2 (en) 2013-06-05 2017-03-14 Splunk Inc. System for displaying notification dependencies between component instances
US10061626B2 (en) 2013-06-05 2018-08-28 Splunk Inc. Application framework providing a registry for mapping names to component instances
US8756593B2 (en) * 2013-06-05 2014-06-17 Splunk Inc. Map generator for representing interrelationships between app features forged by dynamic pointers
US8756614B2 (en) 2013-06-05 2014-06-17 Splunk Inc. Central registry for binding features using dynamic pointers
US10466994B2 (en) * 2016-11-03 2019-11-05 Digi International Inc. System and methods for wireless firmware upgrades using one-way broadcast transmissions
KR20210037314A (en) * 2019-09-27 2021-04-06 삼성전자주식회사 Electronic device for updating firmware using secure integrated circuit and operating method thereof

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1341310C (en) 1988-07-15 2001-10-23 Robert Filepp Interactive computer network and method of operation
EP0449530A3 (en) 1990-03-23 1993-09-01 Canon Kabushiki Kaisha A memory medium having a control program memorized therein and an information processing method and an information processing apparatus using the same medium
FR2666425A1 (en) 1990-08-31 1992-03-06 Gemplus Card Int METHOD AND DEVICE FOR UPDATING INFORMATION IN A MEMORY AND THEIR USE IN MEMORY CARDS.
IT1254937B (en) 1991-05-06 1995-10-11 DYNAMIC UPDATE OF NON-VOLATILE MEMORY IN A COMPUTER SYSTEM
US5878256A (en) 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
US5596738A (en) 1992-01-31 1997-01-21 Teac Corporation Peripheral device control system using changeable firmware in a single flash memory
US5261055A (en) 1992-02-19 1993-11-09 Milsys, Ltd. Externally updatable ROM (EUROM)
US5623604A (en) 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
US5835933A (en) 1993-02-19 1998-11-10 Intel Corporation Method and apparatus for updating flash memory resident firmware through a standard disk drive interface
JPH06274384A (en) 1993-03-22 1994-09-30 N T T Data Tsushin Kk Extracting/updating device of execution file difference and extracting method for execution file difference
US5418837A (en) * 1993-07-30 1995-05-23 Ericsson-Ge Mobile Communications Inc. Method and apparatus for upgrading cellular mobile telephones
US5666293A (en) 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5598534A (en) 1994-09-21 1997-01-28 Lucent Technologies Inc. Simultaneous verify local database and using wireless communication to verify remote database
US5778440A (en) 1994-10-26 1998-07-07 Macronix International Co., Ltd. Floating gate memory device and method for terminating a program load cycle upon detecting a predetermined address/data pattern
JPH08202626A (en) 1995-01-31 1996-08-09 Isuzu Motors Ltd Memory controller
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US6126327A (en) 1995-10-16 2000-10-03 Packard Bell Nec Radio flash update
US6279153B1 (en) 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US5960445A (en) 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
US5790974A (en) 1996-04-29 1998-08-04 Sun Microsystems, Inc. Portable calendaring device having perceptual agent managing calendar entries
US6308061B1 (en) 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
US6112024A (en) 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US6088759A (en) 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6163274A (en) 1997-09-04 2000-12-19 Ncr Corporation Remotely updatable PDA
KR100448932B1 (en) 1997-09-23 2004-12-17 삼성전자주식회사 Flash rom writer device and its control method, especially recovering data without separating flash rom from pcb
US6064814A (en) 1997-11-13 2000-05-16 Allen-Bradley Company, Llc Automatically updated cross reference system having increased flexibility
KR100258969B1 (en) 1997-11-20 2000-06-15 윤종용 Firmware upgrading method in wireless communication device and firmware upgrade supporting method in cell base station
US6311322B1 (en) 1998-03-09 2001-10-30 Nikon Corporation Program rewriting apparatus
US6038636A (en) 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
US6073206A (en) 1998-04-30 2000-06-06 Compaq Computer Corporation Method for flashing ESCD and variables into a ROM
US6105063A (en) 1998-05-05 2000-08-15 International Business Machines Corp. Client-server system for maintaining application preferences in a hierarchical data structure according to user and user group or terminal and terminal group contexts
US6438585B2 (en) 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US6112197A (en) 1998-05-29 2000-08-29 Oracle Corporation Method and apparatus for transmission of row differences
IL125846A0 (en) 1998-08-19 1999-04-11 Emony Incremental program update
SE519347C2 (en) * 1999-02-18 2003-02-18 Ericsson Telefon Ab L M Procedure and node for updating information of a subscriber belonging to a localized service area
US6400965B1 (en) * 1999-07-13 2002-06-04 Ericsson Inc. Cellular phone handset SIM card reader and method for testing and updating a cellular phone handset memory
US7502759B2 (en) 1999-08-30 2009-03-10 Digimarc Corporation Digital watermarking methods and related toy and game applications
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
US20010042099A1 (en) 2000-02-02 2001-11-15 Doongo Technologies, Inc. Apparatus and methods for optimizing traffic volume in wireless email communications
KR20010100328A (en) 2000-04-22 2001-11-14 강원희 Upgrade method of mobile phone software using communication network
KR20020034228A (en) 2000-10-31 2002-05-09 구자홍 Method for upgrading S/W using OTA service provision in mobile terminal and system for the same
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
EP1340167A2 (en) 2000-11-28 2003-09-03 4thPass Inc. Method and system for maintaining and distributing wireless applications
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
US6959436B2 (en) 2000-12-15 2005-10-25 Innopath Software, Inc. Apparatus and methods for intelligently providing applications and data on a mobile device system
US20020116261A1 (en) 2001-02-20 2002-08-22 Moskowitz Paul A. Systems and methods that facilitate an exchange of supplemental information in association with a dispensing of fuel
US6594548B2 (en) 2001-04-12 2003-07-15 Hani Bagnordi Portable digital assistant
US20020157090A1 (en) 2001-04-20 2002-10-24 Anton, Jr. Francis M. Automated updating of access points in a distributed network
US20020156863A1 (en) 2001-04-23 2002-10-24 Luosheng Peng Apparatus and methods for managing caches on a gateway
US6754895B1 (en) * 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
US7143407B2 (en) 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US20030061384A1 (en) 2001-09-25 2003-03-27 Bryce Nakatani System and method of addressing and configuring a remote device
US20040194081A1 (en) * 2002-03-23 2004-09-30 Iyad Qumei Update system for facilitating firmware/software update in a mobile handset
US20030217358A1 (en) * 2002-05-17 2003-11-20 Sun Microsystems, Inc. Method, system, and article of manufacture for firmware downloads
AU2003287532A1 (en) * 2002-11-05 2004-06-07 Bitfone Corporation Firmware update system for facilitating firmware update in mobile handset related applications

Cited By (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110276608A1 (en) * 2002-12-23 2011-11-10 O'farrell Robert Mobile data and software update system and method
US20050182822A1 (en) * 2004-02-17 2005-08-18 Daniel Stuart W. Imaging device with memory device interface
US20050188366A1 (en) * 2004-02-25 2005-08-25 Via Technologies Inc. Firmware upgrade method
US20050282533A1 (en) * 2004-03-22 2005-12-22 Vadim Draluk Method and apparatus for dynamic extension of device management tree data model on a mobile
US7242929B2 (en) * 2004-03-22 2007-07-10 Motorola Inc. Method and apparatus for dynamic extension of device management tree data model on a mobile
US20050240919A1 (en) * 2004-04-27 2005-10-27 Kim Kyoug I Firmware update using memory card reader
US20050262315A1 (en) * 2004-05-24 2005-11-24 Kabushiki Kaisha Toshiba Mobile electronic device
US7346730B2 (en) * 2004-05-24 2008-03-18 Kabushiki Kaisha Toshiba Mobile electronic device
US7895590B2 (en) * 2004-09-03 2011-02-22 Microsoft Corporation Update at shutdown
US20060053417A1 (en) * 2004-09-03 2006-03-09 Microsoft Corporation Update at shutdown
US7634258B2 (en) * 2004-11-22 2009-12-15 Motorola, Inc. System and method for over-the-air update of wireless communication devices
US20060111084A1 (en) * 2004-11-22 2006-05-25 Adatrao Ravi M System and method for over-the-air update of wireless communication devices
US20090106423A1 (en) * 2004-11-25 2009-04-23 Nokia Corporation Providing Services Via A Communication System
WO2006056638A1 (en) * 2004-11-25 2006-06-01 Nokia Corporation Providing services via a communication system
EP1684534A3 (en) * 2005-01-19 2012-08-22 Samsung Electronics Co., Ltd. Method of and apparatus for improving data processing speed of an identity module
EP1684534A2 (en) * 2005-01-19 2006-07-26 Samsung Electronics Co., Ltd. Method of and apparatus for improving data processing speed of an identity module
US20060200471A1 (en) * 2005-03-04 2006-09-07 Network Appliance, Inc. Method and apparatus for communicating between an agent and a remote management module in a processing system
US7899680B2 (en) * 2005-03-04 2011-03-01 Netapp, Inc. Storage of administrative data on a remote management device
US20060200361A1 (en) * 2005-03-04 2006-09-07 Mark Insley Storage of administrative data on a remote management device
US8090810B1 (en) 2005-03-04 2012-01-03 Netapp, Inc. Configuring a remote management module in a processing system
US7805629B2 (en) 2005-03-04 2010-09-28 Netapp, Inc. Protecting data transactions on an integrated circuit bus
US8291063B2 (en) 2005-03-04 2012-10-16 Netapp, Inc. Method and apparatus for communicating between an agent and a remote management module in a processing system
US20060200641A1 (en) * 2005-03-04 2006-09-07 Network Appliance, Inc. Protecting data transactions on an integrated circuit bus
US20080168127A1 (en) * 2005-04-08 2008-07-10 Pablo Hernandez System and Method For Scheduling Device Management
US7966365B2 (en) * 2005-04-08 2011-06-21 Lg Electronics Inc. System and method for scheduling device management
US8849992B2 (en) 2005-04-08 2014-09-30 Lg Electronics Inc. System and method for scheduling device management
US8220039B2 (en) 2005-07-08 2012-07-10 Sandisk Technologies Inc. Mass storage device with automated credentials loading
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US20070061897A1 (en) * 2005-09-14 2007-03-15 Michael Holtzman Hardware driver integrity check of memory card controller firmware
US20070061570A1 (en) * 2005-09-14 2007-03-15 Michael Holtzman Method of hardware driver integrity check of memory card controller firmware
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US20080215847A1 (en) * 2005-09-14 2008-09-04 Sandisk Corporation And Discretix Technologies Ltd. Secure yet flexible system architecture for secure devices with flash mass storage memory
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US20070061581A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US20080086614A1 (en) * 2006-10-09 2008-04-10 Sandisk Il Ltd. Application dependent storage control
US7996638B2 (en) * 2006-10-09 2011-08-09 Sandisk Il Ltd. Application dependent storage control
US9280337B2 (en) * 2006-12-18 2016-03-08 Adobe Systems Incorporated Secured distribution of software updates
US8776037B2 (en) 2007-01-04 2014-07-08 International Business Machines Corporation Apparatus and method to update multiple devices disposed in a computing system
US20080195750A1 (en) * 2007-02-09 2008-08-14 Microsoft Corporation Secure cross platform auditing
US8312445B2 (en) * 2007-10-01 2012-11-13 International Business Machines Corporation User-specified install locations
US20090089778A1 (en) * 2007-10-01 2009-04-02 Julie Levell Craft User-specified install locations
US20110143661A1 (en) * 2007-11-30 2011-06-16 Nokia Corporation Method, device and system for firmware update by near-field communication
WO2009068931A1 (en) * 2007-11-30 2009-06-04 Nokia Corporation Method, device and system for firmware update by near-field communication
US20090172659A1 (en) * 2007-12-31 2009-07-02 Oberg Gregory Keith Video game forward compatibility including software patching
US8943488B2 (en) * 2007-12-31 2015-01-27 Activision Publishing, Inc. Video game forward compatibility including software patching
US9146754B2 (en) * 2008-01-16 2015-09-29 Asustek Computer Inc. Booting method and computer system thereof
US20090183017A1 (en) * 2008-01-16 2009-07-16 Asustek Computer Inc. Booting method and computer system thereof
US20090217257A1 (en) * 2008-02-27 2009-08-27 Mstar Semiconductor, Inc. Apparatus and Method for Firmware Update
US20090327295A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Maintenance of exo-file system metadata on removable storage device
US9633132B2 (en) * 2008-08-01 2017-04-25 Samsung Electronics Co., Ltd. Electronic device and web information providing method thereof
US20100031183A1 (en) * 2008-08-01 2010-02-04 Samsung Electronics Co., Ltd. Electronic device and web information providing method thereof
US8253531B2 (en) * 2009-03-26 2012-08-28 International Business Machines Corporation On chip verification and consequent enablement of card OS operation in smart cards
US20100245037A1 (en) * 2009-03-26 2010-09-30 International Business Machines Corporation On chip verification and consequent enablement of card os operation in smart cards
EP2550794A1 (en) * 2010-03-25 2013-01-30 Nec Corporation Communications device
US9043936B2 (en) 2010-03-25 2015-05-26 Lenovo Innovations Limited (Hong Kong) Communications device
WO2011118670A1 (en) 2010-03-25 2011-09-29 Nec Corporation Communications Device
EP2550794A4 (en) * 2010-03-25 2014-03-26 Nec Corp Communications device
CN102783121A (en) * 2010-03-25 2012-11-14 日本电气株式会社 Communications device
US8626718B2 (en) * 2010-10-29 2014-01-07 Verizon Patent And Licensing Inc. Content caching based on refresh and expiration times
US20120109902A1 (en) * 2010-10-29 2012-05-03 Verizon Patent And Licensing Inc. Content caching based on refresh and expiration times
US9361219B2 (en) * 2011-10-11 2016-06-07 Ricoh Company, Ltd. Information processing device, information processing method and program product
US10893119B2 (en) 2012-05-22 2021-01-12 Verizon Patent And Licensing Inc. Time-based data caching
US20130339939A1 (en) * 2012-06-19 2013-12-19 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and storage medium
US9766873B2 (en) * 2012-08-17 2017-09-19 Tripwire, Inc. Operating system patching and software update reconciliation
US20140053145A1 (en) * 2012-08-17 2014-02-20 Tripwire, Inc. Operating system patching and software update reconciliation
US11194563B1 (en) 2012-08-17 2021-12-07 Tripwire, Inc. Operating system patching and software update reconciliation
US10187396B2 (en) * 2012-10-16 2019-01-22 Imprivata, Inc. Secure, non-disruptive firmware updating
US20170374080A1 (en) * 2012-10-16 2017-12-28 Pieter-Jan Boone Secure, non-disruptive firmware updating
US10924493B2 (en) * 2012-10-16 2021-02-16 Imprivata, Inc. Secure, non-disruptive firmware updating
US20190190923A1 (en) * 2012-10-16 2019-06-20 Pieter-Jan Boone Secure, non-disruptive firmware updating
US11637837B2 (en) * 2012-10-16 2023-04-25 Imprivata, Inc. Secure, non-disruptive firmware updating
US20170017479A1 (en) * 2013-12-10 2017-01-19 Fresenius Medical Care Deutschland Gmbh Method for updating and/or upgrading the operating software of an electronic device
US20160062690A1 (en) * 2014-08-27 2016-03-03 SK Hynix Inc. Data storage device, data processing system including the same, and operating method thereof
US9766876B2 (en) * 2015-03-31 2017-09-19 Fujitsu Limited Methods of updating software components, computer systems and memory apparatus
US10747523B2 (en) 2015-04-17 2020-08-18 Fujitsu Limited Methods of updating firmware components, computer systems and memory apparatus
US10210004B2 (en) 2015-05-05 2019-02-19 Fujitsu Limited Method of providing at least one data carrier for a computer system and computer system including service processor independently operable from a main processor of the computer system
CN105260215A (en) * 2015-11-04 2016-01-20 福建星海通信科技有限公司 Method of updating vehicle-mounted automobile data recorder terminal by USB flash disk
US11567782B2 (en) 2016-11-14 2023-01-31 Intel Corporation Configurable client hardware
US10911939B2 (en) * 2017-06-14 2021-02-02 Huawei Technologies Co., Ltd. Embedded universal integrated circuit card profile management method and apparatus

Also Published As

Publication number Publication date
US7747997B1 (en) 2010-06-29

Similar Documents

Publication Publication Date Title
US7747997B1 (en) Firmware update in electronic devices employing SIM card for saving metadata information
US8578361B2 (en) Updating an electronic device with update agent code
US7725889B2 (en) Mobile handset capable of updating its update agent
US20070169099A1 (en) Firmware update system for facilitating firmware update in mobile handset
US6941453B2 (en) System and method for determining if a device needs to be updated and locating and invoking an update agent to update the firmware or software in the device
US6996818B2 (en) Update system for facilitating software update and data conversion in an electronic device
US7752616B2 (en) Update system capable of updating software
US7082549B2 (en) Method for fault tolerant updating of an electronic device
US7657884B2 (en) Electronic device supporting multiple update agents
CA2659826C (en) Managing information relating to secure module applications
US6732267B1 (en) System and method for performing remote BIOS updates
US7971199B1 (en) Mobile device with a self-updating update agent in a wireless network
US7047448B2 (en) Software self-repair toolkit for electronic devices
US7836444B2 (en) Mobile communication terminal having embedded system for software download and method for software download
KR100915564B1 (en) Method, software and apparatus for application upgrade during execution
US20060075284A1 (en) Method for over-the-air firmware update of NAND flash memory based mobile devices
CN101494930B (en) Intelligent terminal and upgrading method thereof
WO2014146256A1 (en) Upgrade method, intelligent terminal, and upgrade system
EP1369781A2 (en) A method and system of locating a firmware image in non-volatile memory
CN107220074A (en) To the access of supporting layer software function, upgrade method and device
CN114780019A (en) Electronic device management method and device, electronic device and storage medium
US20070156976A1 (en) Resource efficient content management and delivery without using a file system
KR20050088193A (en) Mobile handset with a fault tolerant update agent
CN106951296A (en) A kind of Oftware updating method and device
EP4120066A1 (en) Replacement of executable load files in secure elements

Legal Events

Date Code Title Description
AS Assignment

Owner name: BITFONE CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAO, BINDU RAMA;REEL/FRAME:014331/0210

Effective date: 20031027

STCB Information on status: application discontinuation

Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION