WO2007148899A1 - Information upgrade system and method for ota-capable device - Google Patents
Information upgrade system and method for ota-capable device Download PDFInfo
- Publication number
- WO2007148899A1 WO2007148899A1 PCT/KR2007/002939 KR2007002939W WO2007148899A1 WO 2007148899 A1 WO2007148899 A1 WO 2007148899A1 KR 2007002939 W KR2007002939 W KR 2007002939W WO 2007148899 A1 WO2007148899 A1 WO 2007148899A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- upgrade
- upgrade package
- version
- data
- program
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/123—Software or firmware update, e.g. device firmware management
Definitions
- the present invention relates to a system upgrade method and, in particular, to a system and method for updating a program (including an operating firmware and application software) of a mobile device using an over-the-air programming mechanism.
- Electronic devices such as mobile phones and personal digital assistants (PDAs)
- PDAs personal digital assistants
- firmware and application software may contain software bugs and require version upgrades.
- a user visits a customer care center operated by the manufacturer or the carrier.
- OTA over-the-air
- the firmware or software upgrade can be performed by the OTA mechanism in which the firmware or software upgrades are distributed to the devices over the air.
- the electronic device incorporates a download module for downloading an upgrade package and an upgrade processing module for performing the upgrade of target firmware or software with the downloaded upgrade package.
- a download module for downloading an upgrade package
- an upgrade processing module for performing the upgrade of target firmware or software with the downloaded upgrade package.
- most conventional OTA capable devices are limited in OTA operation stability.
- the present invention has been made in an effort to solve at least the above problems, and the present invention provides a firmware upgrade system and method for an OTA-capable device that enable upgrading firmware using an upgrade package received over the air.
- the present invention provides a firmware upgrade system and method for an OTA- capable device that enable the independent storage of an initial version of firmware and at least one upgrade package of the firmware received over the air and upgrading the firmware using the initial version and a selected upgrade package.
- the present invention provides a firmware upgrade system and method for an OTA- capable device that enable upgrading firmware using an initial version and at least one upgrade package of the firmware, in response to a system booting instruction or an initialization command, the upgrade package being received over the air, and the initial version and upgrade package being stored independently.
- the present invention provides a firmware upgrade system and method for an OTA- capable device that enable upgrading firmware using an upgraded package which is generated by merging history data and upgrade data generated by comparing an initial version and an upgraded version of the firmware.
- FIG. 1 is a diagram illustrating a program upgrade system according to an exemplary embodiment of the present invention
- FIG. 2 is a block diagram illustrating an operation of the upgrade package processor of the program upgrade system of FIG. 1
- FIG. 3 is diagram illustrating a relationship between first and second versions for generating an upgrade package in the upgrade package processor 10 of FIG. 2
- FIG. 4 is a block diagram illustrating a configuration of an upgrade package processor of a program upgrade system in accordance with an exemplary embodiment of the present invention
- FIG. 4 is a block diagram illustrating a configuration of an upgrade package processor of a program upgrade system in accordance with an exemplary embodiment of the present invention
- FIG. 5 is a block diagram illustrating a configuration of an upgrade package processor of a program upgrade system in accordance with another exemplary embodiment of the present invention
- FIG.6 is a diagram illustrating a data format of an upgrade package generated by the upgrade package processor of FIG. 4
- FIG. 7 is a diagram illustrating a data format of an upgrade package generated by the upgrade package processor of FIG. 5
- FIG. 8 is a block diagram illustrating a configuration of an upgrade package processor of a program upgrade system in accordance with another exemplary embodiment of the present invention
- FIG. 9 is a block diagram illustrating a configuration of a recipient device of a program upgrade system according to an exemplary embodiment of the present invention
- FIG. 9 is a block diagram illustrating a configuration of a recipient device of a program upgrade system according to an exemplary embodiment of the present invention.
- FIG. 10 is a block diagram illustrating a configuration of a first memory of a recipient device of FIG. 9; [24] FIG. 11 is a diagram illustrating a structure of the second storage region of the first memory of FIG. 10; [25] FIG. 12 is a diagram illustrating a data format of the history data of each upgrade package stored in the second storage region of FIG. 11 ; [26] FIG. 13 is a block diagram illustrating an upgrade operation of a program upgrade system according to an exemplary embodiment of the present invention; [27] FIG. 14 is a block diagram illustrating an upgrade operation of a program upgrade system according to another exemplary embodiment of the present invention; [28] FIG.
- FIG. 15 is a block diagram illustrating an upgrade operation of a program upgrade system according to another exemplary embodiment of the present invention.
- FIG. 16 is a block diagram illustrating an upgrade operation of the recipient device of the program upgrade system according to an exemplary embodiment of the present invention.
- FIG. 17 is a flowchart illustrating a program upgrade method according to an exemplary embodiment of the present invention.
- FIGs. 18 to 20 are flowcharts illustrating an upgrade package generation procedure of a program upgrade method according to an exemplary embodiment of the present invention;
- FIG. 21 is a flowchart illustrating an upgrade package generation procedure of a program upgrade method according to an exemplary embodiment of the present invention.
- FIG. 22 is a flowchart illustrating a compression reliability test procedure of FIG. 21;
- FIG. 23 is a flowchart illustrating an install data generation procedure of FIG. 21;
- the install data generator 180 includes a history data generator
- the install data generator 180 also can be implemented only with the history data generator 120 (see FIG. 5).
- the package generator 130 analyzes the compressed second version of the program output by the first compressor 160 and the map data output by the map data generator 250, and generates an upgrade package using the compressed second version and the map data.
- the package generator 130 analyzes the map data. If the map data contains only the C and S commands, the package generator 130 does not generate upgrade data. If the map data include the M command, the package generator 130 generates upgrade data with the compressed blocks of which block indexes are followed by the command M. That is, the package generator 130 generates the upgrade data when the map data includes the M command.
- the upgrade data is formatted so as to include the copy command indicating a start block index and a number of blocks to be copied from the first version, the modify command indicating a start block index and a number of the blocks to be added or modified,and data of the blocks to be inserted for producing the second version, and the shift command indicating a start block index, a number of blocks to be shifted, and a block index of the first version matching the start block.
- the upgrade package generated by the package generator 130 is compressed by the second compressor 140 and then transported to the upgrade package server 20. Since the upgrade package is compressed by the first compressor 160, the second compressor 140 can be omitted. The second compressor 140 is enabled for increasing the transmission efficiency.
- the first decompressor 165 decompress the compressed first and second versions for testing if the first and second versions are successfully compressed. If an error is detected, the first controller 160 performs the compression again.
- the upgrade package processor 10 compresses the first and second versions and generates the upgrade package on the basis of the comparison results on the compressed data of the first and second versions.
- the comparator 110 compares the first and second versions of the program in the form of raw data.
- the upgrade package processor 10 depicted in FIG. 8 is implemented without the first compressor such that the first and second versions are compared in the form of raw data.
- the structure and functions of the upgrade package processor 10 of FIG. 8 is identical with that of the upgrade package processor of FIG. 4 except for the first compressor.
- the upgrade package processor 10 includes the install data generator composed of the history data generator 120 and the map data generator 130 for generating the history data and map data, respectively.
- the install data generator can be implemented only with the history data generator 120.
- the upgrade package processor 10 compares the second version to the first version and generates an upgrade package on the basis of the comparison result.
- the upgrade package server 20 notifies the recipient devices 30 of an issuance of a new upgrade package such that the recipients 20 can download the upgrade package from the upgrade package server 20.
- the upgrade package server may include a notification server for notifying the issuance of new upgrade package.
- the recipient device 30 triggers a download session by respondingto the upgrade notification message.
- FIG. 9 is a block diagram illustrating a configuration of a recipient device of a program upgrade system according to an exemplary embodiment of the present invention.
- the recipient device 30 includes a downloader 220, an installer
- the installer 230 stores the history data, map data, and upgrade data within a region of the first memory 250 prepared for the upgrade package.
- the first memory 250 can store the first version of the program and at least one upgrade package for updating the first version to the second version of the program.
- a number of the upgrade packages N that canbe stored in the first memory 250 can be preset. In this embodiment, N is set to 6.
- the first memory 250 stores the first version of the program and at least one upgrade package for upgrading the first version to a second version.
- the upgrade package includes install data (history and/or map data) and upgrade data.
- the install data canbe composed of only the history data and upgrade data.
- the install data are composed of the history data for updating the first version with the update data and the map data having information on data mapping.
- the map data provides information on a relationship between the two versions with 3 types of commands i.e. copy, modify, and shift.
- the map data is used for quick address calculation for updating the data of the first version to the data of the second version.
- the second version of the program can be quickly generated and loaded on the second memory 260.
- the program is typically upgraded using the latest upgrade package
- the first version can be upgraded with an upgrade package for another version of the program.
- the recipient device 30 displays an update package list such that the user can select one of the update package from the list.
- the first memory 250 can be implemented with several storage parts for independently storing upgrade packages (in this embodiment, 6 upgrade packages can be stored). Accordingly, although a latest upgrade package is downloaded from the upgrade package server, previously downloaded upgrade packages are not deleted.
- the upgrade records are stored in the form of an upgrade history while maintaining the data of the first version of the program. Since the information on the first and second versions is maintained with the upgrade history, the upgrade operation can be performed with a high fault tolerance. For example, when the last upgrade package fails to upgrade the program, another upgrade package can beselected by the user. Even in the worst case that all the upgrade packages fail to upgrade the program, the original version of the program can be loaded.
- FIG. 10 is a block diagram illustrating a configuration of a first memory of a recipient device of FIG. 9.
- the first memory includes a first storage region 310, a second storage region 320, and a third storage region 330.
- the first storage region 310 stores the first version of the program in the form or raw data or compressed data.
- the second storage region 320 stores at least one upgrade package for generating a new version of the program.
- Each upgrade package includes the upgrade data and the install data.
- the upgrade data may include commands with block indexes for updating the data of an old version, or data to beadded for the new version.
- the size of the second storage region 320 is determined by a number of the upgrade packages stored therein. For example, each storage region for storing an upgrade package can be set to 300Kbyte. In this case the total size of the second region becomes 1.8Mbyte.
- the third storage region 330 is a user space for storing user data with a file system.
- FIG. 11 is a diagram illustrating a structure of the second storage region of the first memory 250 of FIG. 10
- FIG. 12 is a diagram illustrating a data format of the history data of each upgrade package stored in the second storage region of FIG. 11.
- the second storage region 320 is provided with a predetermined number of storage parts for storing the upgrade packages (in this embodiment, 6 upgrade packages). Each storage part is structured so as to independently store the history data, map data, and upgrade data constituting the upgrade package.
- the upgrade package includes the install data and the upgrade data, and the install data is composed of the history data or the history and map data (see FIGs. 4 and 5).
- the second storage region 320 can be configured to separately store the history data and the map data.
- the history data is stored for maintaining a link to the first version stored within the first storage region 310.
- the map data and upgrade data of the first version may not be stored or exists as null data.
- FIG. 11 shows an example of the upgrade package composed of the history data, map data, and upgrade data.
- the recipient device 30 upgrades the first version of #1 by merging the second version of #5 and the first version of #1.
- the downloaded upgrade package is stored in the second storage region 320 of the first memory 310 shown as shown in FIG. 10 in the structure of FIGs. 11 and 12.
- therequested package is merged with the first version stored in the first storage region 310 such that the first version is upgraded to the second version.
- FIG. 13 is a block diagram illustrating a storage structure for an upgrade operation of a program upgrade system according to an exemplary embodiment of the present invention.
- the first memory is a non-volatile memory such as aflash memory
- the second memory is a volatile memory such as a random access memory (RAM).
- RAM random access memory
- a loader (not shown) loads an upgrade package of the requested version from the second storage region 320 of the first memory 250, and the translator 240 generates a second version of the program by merging the loaded upgrade package and the first version of the program stored in the first storage region 310 and then loads the second version in the second memory 260.
- the upgrade command is generated in response to a user request. That is, the recipient device 30 outputs an alert for notifying the user of an issuance of an upgrade package when an upgrade package is downloaded or there exists a downloaded package which is not applied yet, such that the user can trigger to upgrade the target program. If the upgrade command is input by the user in response to the upgrade alert, the recipient device 30 performs an upgrade process as described above and loads the upgraded version of the program on the second memory 260. Accordingly, the recipient device 30 operates with the second version afterward.
- the upgrade process can be performed after the recipient device 30 is initialized. As shown in FIG. 10, the first version and upgrade packages of the program are separately stored in the first memory 250, and the program upgrade is performed by merging the first version and one of the upgrade packages such that the second version of the program is generated and loaded in the second memory 260.
- FIG. 14 is a block diagram illustrating a storage structure for an upgrade operation of a program upgrade system according to another exemplary embodiment of the present invention.
- the first memory 250 stores no upgrade package for the second version.
- the first memory 250 stores the first version of the program.
- the first memory 250 stores the first version of the program in the first storage region 310 and an upgrade package in the second storage region 320.
- the first version can be an initial version of the program or a specificversion of the program designated as a reference version.
- the upgrade package includes the upgrade data and the install data.
- the install data includes the history data and the map data havinga version number of the second version and a version number of the old version (in this embodiment, the first version) to be upgraded to the second version.
- the first version is composed of n blocks B#l to B#n.
- the translator 240 analyzes the install data and upgrades the first version of the program stored in the first memory 250 using the upgrade data UP#2 on the basis of the analysis result such that the upgraded version of the program is loaded in the second memory 260.
- the translator 240 copies the blocks B#l and B#2 of the first version stored in thefirst memory250, modifies the data of the block B#3 into the data of the UP#2, shifts the blocks following the block B#3 of the first version so as to be the blocks B#4 to B#n+1 of the second version, and loads the second version in the second memory 260.
- the translator 240 decompresses the compressed first version and the upgrade packaged using the decompressor 270.
- the blocks are input to the translator 240 in the compressed data formats.
- the translator 240 decompresses the compressed data of the first version and the upgrade package using the decompressor 275 and loads the decompressed data on the second memory 260.
- FIG. 16 is a block diagram illustrating a storage structure for an upgrade operationof the recipient device of the program upgrade system according to an exemplary embodiment of the present invention.
- the program upgrade method downloads an upgrade package through a predetermined communication standard channel, stores the downloaded upgrade package, performs upgrade of the program using the stored upgrade package, loads the upgraded program, and operates the recipient device under the control of the upgraded program.
- the program upgrade method of the present invention can be composed of an upgrade package generation procedure, a downloaded install data processing procedure, a downloaded upgrade package management procedure, and an upgrade execution procedure.
- the first and second versions of the program are input to the upgrade package processor.
- the first and second versions can be input in a raw or in a compressed state.
- the first and second versions are compared such that differences between the two versions are checked.
- install data including map data for merging the upgrade package with the first version installed in the recipient device are generated.
- the install data is packed into an upgrade package together with upgrade data.
- the upgrade package transmitted to the upgrade package server is downloaded to a recipient device.
- the recipient device can obtain the installdata contained in the upgrade package by comparing the upgrade package with a reference version (here, the first version), and the install data facilitate address calculation. That is, when merging the first version stored in the first memory and the upgrade package in the second memory, the data of the first version and upgrade package can be quickly processed on a block by- block-basis, using the install data.
- the install data are used for fast address calculation with reference to the map data that are obtained by comparing the upgrade package and the first version and used for facilitating merging of the first version and the upgrade package in the second memory.
- the recipient device can obtain the map data by comparing the first version stored in the first memory and the downloaded upgrade package.
- the install data also includes historydata of the upgrade package.
- the history data contains the versions of the upgrade packages and the target program to be upgraded. In this embodiment, 6 upgrade packages can be stored in the first memory.
- the upgrade packages are stored in the corresponding storage parts of the first memory.
- the second region of the first memory is provided with a plurality of storage parts.
- FIG. 17 is a flowchart illustrating a programupgrade method according to an exemplary embodiment of the present invention. The steps of the program upgrade method are depicted in relation with the operations of the upgrade package processor 10 and the recipient device 30 of the program upgrade system of FIG. 1.
- the upgrade package processor 10 receives the first and second versions of a program at step S411.
- An upgrade package is generated, when a new version of the program is introduced, by comparing the old version, i.e. the first version, and the new version, i.e. the second version.
- the upgrade package is composed of upgrade data and install data.
- the first version can be an original version or a reference version that is programmedto be merged with upgraded packages.
- the upgrade package is an information package for upgrading the first version of the program installed in the recipient device to the second version.
- the recipient device can store at least one upgrade package.
- the upgrade package processor 10 analyses differences between the first and second versions at step S413, and generates an upgrade package on the basis of the analysis result at step S415.
- the upgrade package can be composed of upgrade data and install data containing information for combining the upgrade data with the first version.
- the install data includes historydata providing a history of the second version and map data providing information for mapping the blocks of the first and second versions of the program.
- the upgrade package can be produced without map data. In this case, the recipient device generates the map data during the program upgrade process.
- the upgrade package processor 10 transmits the upgrade package to the upgrade package server 20.
- the upgrade package server 20 Upon receiving the upgrade package, the upgrade package server 20 transmits an upgrade notification message to the recipient device 30. If an upgrade notification message is received, the recipient device 20 starts downloading the upgrade package in response to a user command.
- the upgrade package download can be performed on the basis of a communication standard technology supported by the recipient device 30.
- the communication standard technology can be one of CDMA, UMTS, GSM, WiBro, Wifi, WiMAX, Bluetooth, UWB, Zigbee, and USB.
- the recipient device 30 upgrades, in response to a user command, the program to the second version by merging the upgrade package and the first version and then loads the second version of the program on the second memory 260 in step S455. Accordingly, the recipientdevice 20 operates with the second version of the program afterward.
- the second memory 260 can be a working memorysuch as a volatile memory. In such a manner, the recipient device 30 generates the second version of the program by merging the first version stored in the first memory 250 and the recently downloaded upgrade package in a system initialization process, and loads the second version in the second memory 260 for controlling operations of the recipient device 30.
- the recipient device 30 can automatically try to upgrade the program with another upgrade package stored in the first memory 250. Also, the recipient device 30allows the user to select an upgrade package listed on an upgrade package list such that the first version is upgraded with selected upgrade package.
- the upgrade package processor 10 receives the first and second versions of the program at step S501, and compares the two versions with each other to check fordifferences between the two versions in step S503. After checking for the differences between the first and second versions, the upgrade package processor 10 generates comparison analysis data. Next, the upgrade package processor 10 generates upgrade data in step S505 and install data on the basis of the comparison analysis in step S507.
- the upgrade package processor 10 can be implemented with a package generator 130 and an install data generator 180. In this case, the upgrade data and install data can be generated in parallel processes.
- the package generator 130 also can be implemented to generate the upgrade data and the install data in series. In this case, the upgrade data can be generated before or after the generation of the install data.
- the install data provides information for merging the upgrade package with the first version of the program in the form of the history data and map data.
- the history data contains theversion information of the first and second versions of the program and the size of the versions of the program.
- the map data provides information for mapping blocks of the first and second versions of the program.
- the map data canbe generated at the upgrade package processor 10 or at the recipient device 30. Accordingly, the map data may not be packed in the upgrade package.
- FIG. 19 is a flowchart illustrating the install data generation procedure of step S507 of FIG. 18, and FIG. 20 is a flowchart illustrating upgrade package generation procedure of step S509 of FIG. 18.
- the map data may or may not be generated. Also, in the upgrade package generation procedure of FIG. 20, the map data may or may not be merged or not. Referring to FIG. 19, the upgrade package processor 10 generates the history data in step S521 and determines whether map data is required for the upgrade package in step S523. If the map data is required, the upgrade package processor 10 generates the map data with reference to the comparison analysis in step S525. Referring to FIG. 20, the upgrade package processor 10 determines whether to pack the map data in the upgrade package in step S531. If it is determined to pack themap data in the upgrade package, the upgrade package processor 10 generates the upgrade package with the map data in step S533, and otherwise, the upgrade package processor 10 generates the upgrade package without map data in step S535.
- the upgrade package can be compressed by the second compressor 140 of the upgrade package processor 10.
- the data processing time taken for comparing the first and second versions can be reduced.
- the compression of the upgrade package can reduce the time required for transmitting the upgrade package.
- FIG. 21 is a flowchart illustrating an upgrade package generation procedure of a program upgrade method according to an exemplary embodiment of the present invention
- FIG. 22 is a flowchart illustrating a compression reliability test procedure of FIG. 21
- FIG. 23 is a flowchart illustrating an install data generation procedure of FIG.
- FIG. 24 is a flowchart illustrating an upgrade package generation procedure of FIG. 21.
- configure files are input to the upgrade package processor 10 in step S551.
- Each configure file includes flags for defining operations of the upgrade package processor 10.
- C_FLAG is a compression flag for configuring whether or not to apply data compression
- M_FLAG is a map generation flag for configuring whether or not to generate map data
- V_FLAG is a verify flag for verifyingwhether or not the compression is normally performed by decompressing compressed information.
- the upgrade package processor 10 loads both the first and second versions of the program in step S553.
- the first version can be an initial version or a reference version for upgrading the program
- the second version is the last version of the program.
- compressor compressor
- the upgrade package processor 10 executes an install data generator 180 to generate install data in step S565.
- the comparator 110 compares the current block of the second version to each of the blocks in the search range of the first version.
- the first and second versions are compared in a raw data state or a compressed data state.
- the upgrade package processor 10 controls the comparator 110 to transmit the comparison result to the install data generator 180 in step S571 and save the comparison result in a storage part fur user in generating the map data and upgrade data in step S577.
- the upgrade package processor 10 controls the comparator 110 to compare the first and second versions in step S575 and save the comparison result for use in generating the install data in the storage part in step S577.
- the first and second versions are compared in a raw data state or a compressed data state.
- the upgrade package processor 10 controlsto transmit the comparison result to the install data generator 180 and save the comparison result in a storage part for use in generating the map data and the upgrade data.
- the upgrade package processor 10 controls to save the comparison result in the storage part for use in generation of upgrade data.
- the upgrade package processor 10 controls the install data generator 180 to generate the install data in step S579.
- the install data generation procedure is performed as shown in FIG. 23.
- the upgrade package processor 10 controls the install data generator 180 to start generating the install data in step S651 and checks history data of the first and second versions in step S653.
- the upgrade package processor 10 runs a history data generator 120 in step S655 to generate the history data in step S657.
- the history data has a format composed of a header, first input version information, second input version information, and memory information.
- Each of the first and second input version information is composed of a version identifier (SW VER), a time stamp (SW time stamp), and a checksum (SW checksum). That is, the history data provides information on the version numbers of a reference version (initial version as the first version) and a target version to be upgraded (second version).
- the map data includes mapping information such as addresses of the upgrade data and upgrade type.
- the map data is composed of command strings such as copy (C), modify (M), and shift (S), followed by block indexes.
- the map data are generated on the basis of the comparison result of the first and second versions such that the blocks that are identical to those of aprevious version are set with C, the blocks additionally inserted to the previous version or modified from the blocks of the previous version are set to M, and the blocks located at the positions to be occupiedby the inserted or modified blocks are set with S.
- the map data is composed of the block indexes and data indicating the differences between the first and second blocks. In a case where the map data is give as shown in FIG. 23, the block indexes of the second version of the program are #0000 to #lF00.
- the result of the comparisonbetween the first and second version informs that the blocks #0000 to #0010 and #0024 to # 0220 of the first and second version are identical with each other, the blocks #0011 to #0023 and #0221 of the second version are modified, and the blocks #0222 to #lF00 of the second blocks are shifted.
- the blocks #0000 to #0010 and #0024 to # 0220 of the second version are pasted inthe blocks #0000 to #0010 and #0024 to # 0220 of the first version, and the block #0221 of the second version is inserted between the blocks #0220 and #0221 of the first version.
- the map data generator 150 generates the map data composed of the command strings of C:B#0000 - B#0010, M:B#00011 - B#0023, C:B#0024 - B#0220, M:B#0221, and S:[B#0222 - B#lF00][B#0221 - IEFF].
- the upgrade data iscomposed of the blocks indicated by the M command string.
- the upgrade package processor 10 merges the history data and the map data in step S667.
- the upgrade package generator 10 generates the install data in accordance with the value of the M_FLAG.
- the install data isgenerated with or without the map data according to the value of the M_FLAG at step S661.
- the upgrade package processor 10 executes the package generator 130 in step S581 and the package generator 130 generates the upgrade package in step S583.
- FIG. 24 is a flowchart illustrating an upgrade package generation procedure of a program upgrade method according to another exemplary embodiment of the present invention.
- the upgrade package processor 10 controls the package generator 130 to generate upgrade data on the basis of the comparison result.
- the package generator 130 sets the modified blocks as the upgrade data.
- the positions of the upgrade data relies on the map data. That is, when the blocks of the second version are different from the corresponding blocks of the first version in sizes and data themselves, the blocks are set as the upgrade data and the block indexes of these blocks are set in the M command string.
- the package generator 130 can generate the upgrade data having the indexes of the blocks of the second version that are to be combined with the first version.
- the upgrade data can be structured in the format having commands C, M, and S.
- FIG. 25 is a message flow diagram illustrating an upgrade package download procedure of a program upgrade method according to an exemplary embodiment of the present invention.
- the upgrade package server 20 can be implementedindependently or integrated into the upgrade package processor.
- the upgrade package server 20 transmits a notification message to the recipient device 30 in step S711.
- the upgrade package server 20 and the recipient device 30 are connected through a cellular network such as CDMA, UMTS, GSM, and GPRS.
- the recipient device 30 can be a Personal Computer (PC) or a mobile device connected to the personal computer.
- the recipient device 30 can be connected to the upgrade package server 20 via Internet by means of a supplementary wireless communication network such as WiBro, WiMAX, and wifi.
- the recipient device 30 transmits an acknowledgement message (ACK) to the upgrade package server 20 in step S713.
- ACK acknowledgement message
- the upgrade packageserver 20 Upon receiving the ACK, the upgrade packageserver 20 transmits a download allowance message to the recipient device in step S715. If an ACK is received from the recipient device in response to the download allowance message, the upgrade package server 20 transmits a management information message to the recipient device 30 in step S719. By transmitting an ACK to the upgrade package server 20 in response to the management information message, the recipient device starts downloading the upgrade package from the upgrade package server 20 in step S723.
- the recipient device 30 transmits a download complete message to the upgrade package server 20 in step S725, and the upgrade package server 20 transmits a transmission end information message (send end_info) to the recipient device 30 in step S727.
- the upgrade package server 20 transmits a transmission end information message (send end_info) to the recipient device 30 in step S727.
- the upgrade package server 20 notifies the recipient devices of the issuance of the upgrade package such that the recipient devices download the upgrade package.
- the recipient device 30 stores the upgrade package downloaded from the upgrade package server 20 into the first memory 250 and starts upgrading a target program in response to a user command such that the upgraded version of the program is loaded on the second memory 260.
- FIG. 26 is a flowchart illustrating a downloaded upgrade package processing procedure of a program upgrade method according to an exemplary embodiment of the present invention.
- the first version of the program is stored in the first memory
- the first version can be a version installed in the first memory 250 during the manufacturing phase of the recipient device 30 or another version installed later and designated as a reference version.
- the recipient device 230 downloads the upgrade package through the procedure depicted in FIG. 25.
- the recipient device 30 downloads the upgrade package form the upgrade package server 20 and temporarily stores the downloaded upgrade package through steps S803 to S807.
- the upgrade package can be immediately installed in the first memory 250 or installed after a normal operation of the recipient device 30 ends.
- the recipient device 30 determines ifan install command is input in step S809. If no install command is input, the recipient device 30 returns to the normal operation mode in step S811.
- the recipient device 30 installs the upgrade package into the first memory 250 in step S813.
- the first memory 250 is a non- volatile memory and comprises separate regions for storing the first version and multiple upgrade packages. That is, the first memory 250 is composed of the first and second storage regions as shown in FIGs. 9, 11, and 12.
- the upgrade packages are stored in an order of issuance times with such that the upgrade history is secured.
- the recipient device 30 determines if a system reboot command is input in step S 815. If no system reboot command is input, the recipient device 30 returns to the normal operation mode in step S817. In this case, since the program is not upgrade yet, the recipient device 30 operates with the previous version.
- the recipient device 30 reboots to be initialized in step S 821 and executes the translator 240 for activating the second version from the downloaded upgrade package in step S 823.
- the translator 240 merges the upgrade package installed in the first memory 250 and the first version of the program,and loads the second version on the second memory 260. Accordingly, the recipient device 30 operates with the second version of the program afterward.
- the recipient device 30 checks a status of the upgrade package to determine if the upgrade is successfully performed or failed in step S 825. If the upgrade failed, the recipient device loads the previous version of the program in step S833. If the upgrade is successfully performed, the recipient device 30 loads the upgrade package in step S827 and assembles the upgrade package and the first version in the second memory 260 in step S 829 and then operates with the second version on the second memory in step S831.
- FIG. 27 is a flowchart illustrating an upgrade package install procedure of a program upgrade method according to an exemplary embodiment of the present invention.
- the recipient device executes a downloader in step S 841 and controls the downloader to download the upgrade package from the upgrade package server 20 in step S843.
- the upgrade package download can be performed in different manner depending on the communication standard supported by the recipient device 30. That is, the recipient device 30 can be a mobile phone operating in a cellular communication standard such as CDMA, UMTS, GSM, and GPRS. Also, the recipient device can be a mobile terminal supporting wireless communication standard such as WiBro, Wifi, and WiMAX. Also, the recipient device 30 can support a short range wireless communication standard such as Bluetooth, UWB, and Zigbee, and wired data communication standard such as USB.
- the recipient device 30 detects whether an error occurs in step S845. If an error is detected, the recipient device 30 performs an error handling process in step S849 and then retries the download of the upgrade package in step S849.
- the recipient device 30 executes an installer 230 in step S851.
- the recipient device 30 controls the installer 230 to extract the history data from the upgrade package in step S853, extracts history information from the history data in step S855, and builds a history table in the first memory in step S857.
- the recipient device 30 detects if map data are packed in the upgrade package in step S859. If map data are packed in the upgrade package, the recipient device 30 extracts the map data from the upgrade package in step S875, stores the map data an upgrade data in corresponding storage parts of the first memory 250 in steps S877 and S879). Consequently, the history data, map data, and upgrade data packed in the upgrade package are installed in the first memory 250 in step S881).
- the recipient device 30 executes a decompressor 270 in step S861.
- the recipient device 30 controls the decompressor 270 to decompress the upgrade data packed in the upgrade package in step S863 and parse the upgrade data in step S865.
- the recipient device 30 compares the upgrade data with the first version in the first memory 250 in step S867 and generates map data with reference to the comparison result in step S869.
- the recipient device 30 stores the map data generated in the recipient device and the upgrade data packed in the upgrade package into the upgrade package storage part of the first memory in steps S871 and S873.
- the recipient device 30 downloads the upgrade package and installs the history data, map data, and upgrade data packed in theupgrade package within corresponding storage regions of the first memory 250.
- the map data may or may not be packed in theupgrade package.
- the recipient device 30 stores the upgrade package within the first memory 250 and compares the upgrade package with the first version so as to generate map data on the basis of the comparison analysis and store the map data in the upgrade package storage part.
- FIG. 28 is a flowchart illustrating an upgraded program running procedure of a program upgrade method according to an exemplary embodiment of the present invention.
- the upgraded program is enabled when the recipient device 30 is turned on so as to be initialized or in response to a user command. That is, after the recipient device 30 is initialized, the second version of the program, upgraded by combining the first version and the lastly downloaded upgrade package (or a specific upgrade package selected by the user), is loaded on the second memory 260 such that the recipient device 30 operates with the second version of the program.
- the information loaded on the second memory 260 is represented by a program and its equivalents that can be installed in a volatile memory.
- the recipient device 30 If the recipient device 20 is turned on in step S881, the recipient device 30 starts booting the system and initializes codes in step S882 and executes a loader in step S883. Next, the recipient device 30 scans the upgrade package storage parts of the first memory 250 and checks the upgrade packages in step S 884. If no upgrade package exists, the recipient device 30 executes the translator 240 in step S885 and controls the translator 240 to perform security checks including virus check in step S886. Next, the recipient device 30 determines if the first version stored in the first memory 250 is compressed in step S887.
- the recipient device 30 runs the decompressor 270 to decompress the first version in step S888 and controls the translator 240 to translate the first version in the second memory 260 in step S889 such that the first version of the program runs. If it is determined that the first version is not compressed at step in step S 887, the recipient device 30 skips step S888 and performs steps S889 and S890.
- step S 884 if at least one upgrade package exists in the first memory
- the upgrade package can be composed of at least two of the history data, map data, and upgrade data.
- the recipient device 30 runs the decompressor 270 to decompress the loaded upgrade package (here, only the upgrade data may be compressed) in step S893 and performs a security check in step S894.
- the recipient device 30 determines if the first version stored in the first memory 250 is compressed in step S895. If it is determined that the first version is compressed, the recipient device 30 runs the decompressor 270 to decompress the first version in step S896 and controls the translator 240 to translateand combine the first version and the upgrade package in the second memory 260 in step S897 such that the upgraded version of the program runs in step S890. If it is determined that the first version is not compressed at step in step S895, the recipient device 30 skips step S896 and performs steps S897 and S890.
- FIGs. 29 to 32 are flowcharts illustrating an upgrade program running procedure of a program upgrade method according to another exemplary embodiment of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2007800015965A CN101361051B (zh) | 2006-06-19 | 2007-06-18 | 用于具有空中广播能力设备的信息升级系统和方法 |
| EP07746973A EP2030119A4 (en) | 2006-06-19 | 2007-06-18 | INFORMATION UPDATE SYSTEM AND METHOD FOR AN OTA DEVICE |
| JP2009509449A JP2009536395A (ja) | 2006-06-19 | 2007-06-18 | Otaが可能な端末の情報アップグレードシステム及び方法{informationupgradesystemandmethodforota−capabledevice} |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20060054746 | 2006-06-19 | ||
| KR10-2006-0054746 | 2006-06-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2007148899A1 true WO2007148899A1 (en) | 2007-12-27 |
Family
ID=38833605
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2007/002939 Ceased WO2007148899A1 (en) | 2006-06-19 | 2007-06-18 | Information upgrade system and method for ota-capable device |
| PCT/KR2007/002947 Ceased WO2007148900A1 (en) | 2006-06-19 | 2007-06-18 | Program upgrade system and method for ota-capable portable device |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2007/002947 Ceased WO2007148900A1 (en) | 2006-06-19 | 2007-06-18 | Program upgrade system and method for ota-capable portable device |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US20070294685A1 (https=) |
| EP (2) | EP2030120A4 (https=) |
| JP (3) | JP2009536395A (https=) |
| KR (2) | KR101417759B1 (https=) |
| CN (2) | CN101356519B (https=) |
| RU (1) | RU2388045C2 (https=) |
| WO (2) | WO2007148899A1 (https=) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2465193A (en) * | 2008-11-10 | 2010-05-12 | Symbian Software Ltd | Detecting updated files in a firmware over the air update using CRC values |
| EP2523106A1 (en) * | 2011-05-11 | 2012-11-14 | Alcatel Lucent | Upgrading of application processors |
| EP2590073A1 (en) * | 2011-11-02 | 2013-05-08 | Research In Motion Limited | Method and system for on-demand patch generation and management |
| EP2677719A1 (en) * | 2012-06-19 | 2013-12-25 | Alcatel Lucent | A method for interfacing a communication terminal with networked objects |
| EP2857965A4 (en) * | 2012-05-28 | 2015-07-15 | Huawei Device Co Ltd | METHOD AND DEVICE FOR PRODUCING AN OVER-THE-AIR FIRMWARE UPDATE PACKAGE |
Families Citing this family (112)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ZA965340B (en) | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
| KR100983572B1 (ko) * | 2006-02-14 | 2010-09-24 | 후지쯔 가부시끼가이샤 | 패치 적용 방법 및 패치 적용 프로그램을 기록한 기록 매체 |
| US8806472B2 (en) * | 2007-09-27 | 2014-08-12 | Ericsson Ab | In-service software upgrade utilizing metadata-driven state translation |
| KR20090103637A (ko) * | 2008-03-28 | 2009-10-01 | 삼성전자주식회사 | 방송 시스템에서 펌웨어를 업데이트하는 방법과 장치 및 그시스템 |
| TWI376598B (en) * | 2008-07-04 | 2012-11-11 | Acer Inc | Method for monitoring computer system performance and computer-readable medium thereof |
| WO2010002407A1 (en) * | 2008-07-02 | 2010-01-07 | Hewlett-Packard Development Company, L.P. | Performing administrative tasks associated with a network-attached storage system at a client |
| US8832681B1 (en) * | 2008-08-29 | 2014-09-09 | Adobe Systems Incorporated | Bundled mobile/desktop application package |
| JP5471883B2 (ja) * | 2009-07-17 | 2014-04-16 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム |
| CN102549561B (zh) * | 2009-07-30 | 2015-01-21 | 弗莱克斯电子有限责任公司 | 远程装置诊断和修复设备和方法 |
| JP5478986B2 (ja) | 2009-08-21 | 2014-04-23 | 株式会社日立ソリューションズ | 情報機器及びプログラム |
| US8694985B2 (en) * | 2009-10-30 | 2014-04-08 | Apple Inc. | Managing digital content in hierarchies |
| KR20110068098A (ko) * | 2009-12-15 | 2011-06-22 | 삼성전자주식회사 | 가입자 댁내 장치의 소프트웨어 업그레이드 방법 및 장치 |
| US8893112B2 (en) * | 2009-12-21 | 2014-11-18 | Intel Corporation | Providing software distribution and update services regardless of the state or physical location of an end point machine |
| JP2013517565A (ja) * | 2010-01-12 | 2013-05-16 | グーグル インコーポレイテッド | オペレーティングシステム自動更新手順 |
| CN106445608A (zh) * | 2010-01-27 | 2017-02-22 | 中兴通讯股份有限公司 | 一种软件安装包的安装方法及安装装置 |
| KR101134116B1 (ko) * | 2010-08-19 | 2012-04-09 | 주식회사 잉카인터넷 | 응용프로그램과 부가응용프로그램의 결합 방법 및 실행 방법 |
| US9207928B2 (en) * | 2011-01-17 | 2015-12-08 | Bladelogic, Inc. | Computer-readable medium, apparatus, and methods of automatic capability installation |
| KR20120115825A (ko) * | 2011-04-11 | 2012-10-19 | 주식회사 케이티 | 이동 단말의 3d 객체 업데이트 방법 |
| CN102215479B (zh) * | 2011-06-22 | 2018-03-13 | 中兴通讯股份有限公司 | 升级包下载及安装的方法、服务器及系统 |
| US8997085B2 (en) * | 2011-06-24 | 2015-03-31 | International Business Machines Corporation | Image delta-based upgrade of complex stack in software appliance |
| CN102356394B (zh) * | 2011-08-23 | 2013-09-11 | 华为技术有限公司 | 文档更新方法和装置 |
| KR101843980B1 (ko) * | 2011-09-01 | 2018-03-30 | 삼성전자주식회사 | 휴대단말기의 데이터 송수신 관리 장치 및 방법 |
| KR101251626B1 (ko) * | 2011-09-20 | 2013-04-08 | (주)골든이어스 | 스마트 기기를 이용한 음향기기의 특성에 대한 보상 서비스 제공 방법 |
| CN103136010A (zh) * | 2011-11-25 | 2013-06-05 | 环旭电子股份有限公司 | 韧体更新方法及可供该方法使用的韧体更新装置 |
| US20130166655A1 (en) * | 2011-12-23 | 2013-06-27 | Daryl Joseph Martin | Cross-platform software distribution |
| US8914790B2 (en) * | 2012-01-11 | 2014-12-16 | Microsoft Corporation | Contextual solicitation in a starter application |
| US8943489B1 (en) * | 2012-06-29 | 2015-01-27 | Juniper Networks, Inc. | High availability in-service software upgrade using virtual machine instances in dual computing appliances |
| US9170804B2 (en) * | 2012-07-05 | 2015-10-27 | Nokia Technologies Oy | Method and apparatus for modifying compressed files |
| CN102880495A (zh) * | 2012-10-15 | 2013-01-16 | 华为终端有限公司 | 移动终端及其软件升级方法 |
| CN103793238A (zh) * | 2012-10-31 | 2014-05-14 | 英业达科技有限公司 | 机柜与其同时更新多个基本输入输出系统的方法 |
| US9489188B1 (en) * | 2012-11-14 | 2016-11-08 | Amazon Technologies, Inc. | Tag-based deployment |
| KR20140077435A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치 |
| CN103902309A (zh) * | 2012-12-27 | 2014-07-02 | 龙尚智联通信科技(上海)有限公司 | 一种远程升级无线模块固件的方法 |
| CN103123588A (zh) * | 2013-02-05 | 2013-05-29 | 东莞宇龙通信科技有限公司 | 一种获取差分升级补丁的方法及系统 |
| CN103412777A (zh) * | 2013-08-13 | 2013-11-27 | 珠海金山网络游戏科技有限公司 | 一种将打包文件同步到指定版本的更新方法及系统 |
| CN103473097A (zh) * | 2013-09-09 | 2013-12-25 | 福州瑞芯微电子有限公司 | Android系统固件升级系统、装置及升级方法 |
| CN104602221A (zh) * | 2013-11-01 | 2015-05-06 | 龙尚科技(上海)有限公司 | 一种基于gprs的远程升级设计方式的模块 |
| US8725995B1 (en) * | 2013-11-04 | 2014-05-13 | Symantec Corporation | Systems and methods for updating system-level services within read-only system images |
| CN103581331B (zh) * | 2013-11-13 | 2018-04-03 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
| CN103701856B (zh) * | 2013-11-29 | 2016-08-17 | 四川长虹电器股份有限公司 | 一种定义及终端设备获取升级包的方法 |
| CN103840968A (zh) * | 2014-01-02 | 2014-06-04 | 深圳市金立通信设备有限公司 | 一种版本更新方法、装置及终端设备 |
| CN107193612B (zh) * | 2014-06-27 | 2021-03-23 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的版本升级方法及装置 |
| US9351182B2 (en) * | 2014-06-30 | 2016-05-24 | At&T Intellectual Property I, Lp | Method and apparatus for monitoring and adjusting multiple communication services at a venue |
| CN104077163B (zh) * | 2014-07-01 | 2017-07-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种安装包的安装方法、装置和终端 |
| CN104133706B (zh) * | 2014-08-01 | 2017-07-11 | 珠海全志科技股份有限公司 | 固件修改方法及固件修改装置 |
| CN105335181A (zh) * | 2014-08-06 | 2016-02-17 | 中兴通讯股份有限公司 | 一种实现ota升级的方法和终端 |
| US20160080408A1 (en) * | 2014-09-15 | 2016-03-17 | Lookingglass Cyber Solutions | Apparatuses, methods and systems for a cyber security assessment mechanism |
| CN104239110B (zh) * | 2014-09-30 | 2017-06-16 | 广东欧珀移动通信有限公司 | 减少ota增量包大小的方法与装置 |
| CN104320774B (zh) * | 2014-10-16 | 2020-07-10 | 小米科技有限责任公司 | 一种升级方法、装置及设备 |
| CN104391720A (zh) * | 2014-11-29 | 2015-03-04 | 广东好帮手电子科技股份有限公司 | 基于Android系统后视镜盒子升级方法及后视镜盒子 |
| US9886264B2 (en) | 2014-12-09 | 2018-02-06 | Xiaomi Inc. | Method and device for upgrading firmware |
| CN104484200B (zh) * | 2014-12-09 | 2018-05-25 | 小米科技有限责任公司 | 对固件进行升级的方法及装置 |
| US20160170739A1 (en) * | 2014-12-15 | 2016-06-16 | Dimitar Kapashikov | Alter application behaviour during runtime |
| JP6216730B2 (ja) | 2015-03-16 | 2017-10-18 | 日立オートモティブシステムズ株式会社 | ソフト更新装置、ソフト更新方法 |
| US9910664B2 (en) * | 2015-05-04 | 2018-03-06 | American Megatrends, Inc. | System and method of online firmware update for baseboard management controller (BMC) devices |
| CN104991796B (zh) * | 2015-06-19 | 2018-05-25 | 青岛海信移动通信技术股份有限公司 | 一种连续升级的方法及装置 |
| JP2017033136A (ja) * | 2015-07-30 | 2017-02-09 | 富士通株式会社 | 情報制御プログラム、情報制御装置及び情報制御方法 |
| CN105208200A (zh) * | 2015-08-25 | 2015-12-30 | 维沃移动通信有限公司 | 移动终端的系统升级方法及其移动终端 |
| CN106484453B (zh) * | 2015-09-02 | 2021-04-20 | 中兴通讯股份有限公司 | 一种实现系统升级的方法及装置 |
| JP6512055B2 (ja) * | 2015-09-30 | 2019-05-15 | 富士通株式会社 | 分析プログラム、分析装置および分析方法 |
| US11831654B2 (en) * | 2015-12-22 | 2023-11-28 | Mcafee, Llc | Secure over-the-air updates |
| CN106909404A (zh) * | 2015-12-22 | 2017-06-30 | 博雅网络游戏开发(深圳)有限公司 | 软件更新方法和系统 |
| CN107015821B (zh) * | 2016-01-28 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 增量更新的方法和装置 |
| CN105843645B (zh) * | 2016-03-24 | 2020-01-14 | 浙江风向标科技有限公司 | zigbee设备的固件升级方法和装置 |
| JP6609508B2 (ja) | 2016-04-27 | 2019-11-20 | 日立オートモティブシステムズ株式会社 | 車両用電子制御装置、プログラム更新方法 |
| CN106815051A (zh) * | 2016-12-30 | 2017-06-09 | 深圳怡化电脑股份有限公司 | 一种嵌入式设备的固件升级方法、装置及验钞器 |
| US9929748B1 (en) * | 2017-03-31 | 2018-03-27 | Intel Corporation | Techniques for data compression verification |
| CN107066303B (zh) * | 2017-05-04 | 2020-11-27 | 深圳市欧瑞博科技股份有限公司 | 固件比对方法和装置 |
| US10915331B2 (en) * | 2017-08-04 | 2021-02-09 | Qualcomm Incorporated | Partitioning flash and enabling flexible boot with image upgrade capabilities |
| CN108334356A (zh) * | 2017-09-21 | 2018-07-27 | 安徽江淮汽车集团股份有限公司 | 一种远程程序升级方法及系统 |
| KR102043075B1 (ko) * | 2017-11-24 | 2019-11-11 | 슈어소프트테크주식회사 | 모델 변경 분석을 통한 모델 검증 방법 및 모델 검증 장치 |
| US10642602B2 (en) * | 2017-12-12 | 2020-05-05 | Nxp Usa, Inc. | NVM architecture with OTA support |
| JP7044859B2 (ja) | 2018-02-16 | 2022-03-30 | 日立Astemo株式会社 | 車両制御装置およびプログラム更新システム |
| CN110740154A (zh) * | 2018-07-20 | 2020-01-31 | 视联动力信息技术股份有限公司 | 一种流媒体服务的升级方法、装置及设备 |
| DK3617875T3 (da) * | 2018-08-27 | 2021-07-19 | Ovh | Fremgangsmåde til forbedret automatiseret softwareopdatering ved anvendelse af et netværksapparat |
| KR102111449B1 (ko) * | 2018-10-23 | 2020-05-15 | 주식회사 시옷 | 저전력 무선네트워크를 이용한 펌웨어 업데이트 방법 |
| US11070618B2 (en) | 2019-01-30 | 2021-07-20 | Valve Corporation | Techniques for updating files |
| US11106554B2 (en) | 2019-04-30 | 2021-08-31 | JFrog, Ltd. | Active-active environment control |
| US11886390B2 (en) * | 2019-04-30 | 2024-01-30 | JFrog Ltd. | Data file partition and replication |
| US11386233B2 (en) | 2019-04-30 | 2022-07-12 | JFrog, Ltd. | Data bundle generation and deployment |
| US11340894B2 (en) | 2019-04-30 | 2022-05-24 | JFrog, Ltd. | Data file partition and replication |
| US11720347B1 (en) | 2019-06-12 | 2023-08-08 | Express Scripts Strategic Development, Inc. | Systems and methods for providing stable deployments to mainframe environments |
| US11086757B1 (en) * | 2019-06-12 | 2021-08-10 | Express Scripts Strategic Development, Inc. | Systems and methods for providing stable deployments to mainframe environments |
| WO2021014326A2 (en) | 2019-07-19 | 2021-01-28 | JFrog Ltd. | Software release verification |
| US10999314B2 (en) | 2019-07-19 | 2021-05-04 | JFrog Ltd. | Software release tracking and logging |
| US12008006B1 (en) * | 2019-09-04 | 2024-06-11 | Palantir Technologies Inc. | Assessments based on data that changes retroactively |
| WO2021097624A1 (zh) * | 2019-11-18 | 2021-05-27 | 深圳市欢太科技有限公司 | 一种文件处理方法、文件处理装置及终端设备 |
| US11695829B2 (en) | 2020-01-09 | 2023-07-04 | JFrog Ltd. | Peer-to-peer (P2P) downloading |
| TWI734370B (zh) * | 2020-02-06 | 2021-07-21 | 大陸商合肥兆芯電子有限公司 | 快閃記憶體之資料合併方法、控制電路單元與儲存裝置 |
| CN111506328A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种服务升级方法、装置、电子设备及存储介质 |
| US11886391B2 (en) | 2020-05-14 | 2024-01-30 | Valve Corporation | Efficient file-delivery techniques |
| CN111782254A (zh) * | 2020-07-02 | 2020-10-16 | 百度在线网络技术(北京)有限公司 | 用于升级对象的方法、装置、设备以及存储介质 |
| CN111949293A (zh) * | 2020-08-06 | 2020-11-17 | 曙光信息产业(北京)有限公司 | 固件升级方法、装置、计算机设备和存储介质 |
| CN112152846B (zh) * | 2020-09-18 | 2023-04-18 | 重庆神缘智能科技有限公司 | 一种基于物联网的计量仪表远程升级方法 |
| CN112218289B (zh) * | 2020-09-18 | 2022-11-08 | 中煤科工集团重庆研究院有限公司 | 定位卡无线升级系统和方法 |
| EP4231141A4 (en) * | 2020-10-16 | 2024-07-17 | LG Electronics Inc. | SOFTWARE UPDATE GATEWAY AND SOFTWARE UPDATE METHOD OF INTERNET OF THINGS (IDO) DEVICE |
| CN112383908A (zh) * | 2020-11-24 | 2021-02-19 | 无锡寰芯微电子科技有限公司 | 一种蓝牙设备的升级方法及系统 |
| US11860680B2 (en) | 2020-11-24 | 2024-01-02 | JFrog Ltd. | Software pipeline and release validation |
| CN112667266B (zh) * | 2021-01-22 | 2024-02-06 | 百度在线网络技术(北京)有限公司 | 固件升级方法、装置、设备和存储介质 |
| JP2022161197A (ja) * | 2021-04-08 | 2022-10-21 | トヨタ自動車株式会社 | 車両用コンピュータ装置 |
| US12063713B2 (en) | 2021-05-19 | 2024-08-13 | Snap Inc. | System of mobile device operating system and apps delivery service |
| CN113721967B (zh) * | 2021-08-30 | 2024-07-05 | 苏州磐联集成电路科技股份有限公司 | 差分包生成方法,差分包生成设备,及升级方法 |
| CN113986277A (zh) * | 2021-09-24 | 2022-01-28 | 成都市卡蛙科技有限公司 | 一种基于终端状态进行固件升级的方法 |
| US12061889B2 (en) | 2021-10-29 | 2024-08-13 | JFrog Ltd. | Software release distribution across a hierarchical network |
| US12536008B2 (en) | 2021-10-29 | 2026-01-27 | JFrog Ltd. | Managing a federated software repository across multiple devices |
| CN114168182A (zh) * | 2021-11-15 | 2022-03-11 | 读书郎教育科技有限公司 | 一种Android终端应用升级的方法 |
| EP4242835B1 (en) * | 2022-01-10 | 2025-12-03 | Honor Device Co., Ltd. | Operating system upgrade method, electronic device, storage medium, and chip system |
| US12517722B2 (en) * | 2022-01-20 | 2026-01-06 | Red Hat, Inc. | Per-host delta-difference generation in update management systems |
| US12124720B2 (en) | 2022-03-24 | 2024-10-22 | Nxp Usa, Inc. | Memory configuration within a data processing system |
| CN117632210A (zh) * | 2022-08-17 | 2024-03-01 | 荣耀终端有限公司 | 升级包的生成方法、安装方法、设备及存储介质 |
| CN121455527A (zh) * | 2022-09-09 | 2026-02-03 | 荣耀终端股份有限公司 | 差分文件的还原方法及电子设备 |
| WO2025108554A1 (en) * | 2023-11-24 | 2025-05-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, apparatus and computer-readable media related to container-as-a-service computing systems |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5909581A (en) * | 1995-12-30 | 1999-06-01 | Samsung Electronics Co., Ltd. | Automatic software updating method |
| US6604194B1 (en) * | 1998-12-18 | 2003-08-05 | Lg Electronics Inc. | Program updating method and apparatus for communication terminal system |
| US20040267833A1 (en) * | 2003-06-23 | 2004-12-30 | Evyatar Meller | Method and system for updating versions of content stored in a storage device |
| JP2005011209A (ja) * | 2003-06-20 | 2005-01-13 | Sony Corp | ソフトウェア更新システムとソフトウェア提供装置とソフトウェア処理装置およびソフトウェア更新方法 |
Family Cites Families (52)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US193386A (en) * | 1877-07-24 | Improvement in ozone-generators | ||
| US132382A (en) * | 1872-10-22 | Improvement in knitting-machine needles | ||
| US237081A (en) * | 1881-01-25 | Smoke-consuming furnace | ||
| US10576A (en) * | 1854-02-28 | lyman | ||
| US203968A (en) * | 1878-05-21 | Improvement in velocipedes | ||
| JPH04137136A (ja) * | 1990-09-28 | 1992-05-12 | Nec Corp | プログラム記憶方式 |
| JPH04362735A (ja) * | 1991-06-10 | 1992-12-15 | Mitsubishi Heavy Ind Ltd | ソースプログラム照合システム |
| JPH05120067A (ja) * | 1991-10-30 | 1993-05-18 | Nec Software Ltd | プログラムパツチ方式 |
| US6018747A (en) * | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
| US6952823B2 (en) * | 1998-09-01 | 2005-10-04 | Pkware, Inc. | Software patch generator using compression techniques |
| US7469381B2 (en) * | 2007-01-07 | 2008-12-23 | Apple Inc. | List scrolling and document translation, scaling, and rotation on a touch-screen display |
| RU2235356C2 (ru) * | 1999-06-10 | 2004-08-27 | Белле Гейт Инвестмент Б.В. | Устройство хранения различных версий набора данных в отдельных областях памяти и способ обновления набора данных в памяти |
| US6751794B1 (en) * | 2000-05-25 | 2004-06-15 | Everdream Corporation | Intelligent patch checker |
| JP2001350684A (ja) * | 2000-06-05 | 2001-12-21 | Nec Gumma Ltd | ソフトウェア提供システム及びソフトウェア提供装置 |
| US7000230B1 (en) * | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
| US7058941B1 (en) * | 2000-11-14 | 2006-06-06 | Microsoft Corporation | Minimum delta generator for program binaries |
| US20030186689A1 (en) * | 2001-08-06 | 2003-10-02 | Samsung Electronics Co., Ltd | System and method for IOTA software download notification for wireless communication devices |
| US20030074657A1 (en) * | 2001-10-12 | 2003-04-17 | Bramley Richard A. | Limited time evaluation system for firmware |
| US7251812B1 (en) * | 2001-10-31 | 2007-07-31 | Microsoft Corporation | Dynamic software update |
| JP2003143091A (ja) * | 2001-11-01 | 2003-05-16 | Matsushita Electric Ind Co Ltd | 放送装置並びに受信装置 |
| JP3967121B2 (ja) * | 2001-12-11 | 2007-08-29 | 株式会社ルネサステクノロジ | ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム |
| JP4205350B2 (ja) * | 2002-02-28 | 2009-01-07 | 富士通株式会社 | 差分データ生成方法、プログラム、記録媒体及び装置 |
| US7600021B2 (en) * | 2002-04-03 | 2009-10-06 | Microsoft Corporation | Delta replication of source files and packages across networked resources |
| JP2004102379A (ja) * | 2002-09-05 | 2004-04-02 | Hitachi Ltd | パッチ適用管理プログラム、方法、およびシステム |
| JP2004152136A (ja) * | 2002-10-31 | 2004-05-27 | Matsushita Electric Ind Co Ltd | データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム |
| US7047448B2 (en) * | 2002-11-21 | 2006-05-16 | Bitfone Corporation | Software self-repair toolkit for electronic devices |
| JP2004227520A (ja) * | 2003-01-27 | 2004-08-12 | Mitsubishi Electric Corp | 新旧プログラム書換情報生成装置及び新旧プログラム書換情報生成方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| TWI229291B (en) * | 2003-04-03 | 2005-03-11 | Inventec Corp | Device and method for updating contents of flash memory unit |
| US20040230963A1 (en) * | 2003-05-12 | 2004-11-18 | Rothman Michael A. | Method for updating firmware in an operating system agnostic manner |
| US20040237081A1 (en) * | 2003-05-19 | 2004-11-25 | Homiller Daniel P. | Methods and apparatus for generating upgraded software from initial software and software upgrade packages |
| CN100479372C (zh) * | 2003-06-22 | 2009-04-15 | 华为技术有限公司 | 终端设备的软件自动升级方法 |
| US20050010576A1 (en) * | 2003-07-09 | 2005-01-13 | Liwei Ren | File differencing and updating engines |
| US7313792B2 (en) * | 2003-09-08 | 2007-12-25 | Microsoft Corporation | Method and system for servicing software |
| JP2005092623A (ja) * | 2003-09-18 | 2005-04-07 | Nec Software Chubu Ltd | パッケージソフトウェア更新方式,方法,およびプログラム |
| JP2005135187A (ja) * | 2003-10-30 | 2005-05-26 | Toshiba Corp | 電子機器および組み込みソフトウェア更新方法 |
| JP4467965B2 (ja) * | 2003-12-08 | 2010-05-26 | 株式会社野村総合研究所 | 差分ファイル作成プログラム及び方法 |
| US7509636B2 (en) * | 2003-12-15 | 2009-03-24 | Microsoft Corporation | System and method for updating files utilizing delta compression patching |
| US7546594B2 (en) * | 2003-12-15 | 2009-06-09 | Microsoft Corporation | System and method for updating installation components using an installation component delta patch in a networked environment |
| US7478381B2 (en) * | 2003-12-15 | 2009-01-13 | Microsoft Corporation | Managing software updates and a software distribution service |
| US9213609B2 (en) * | 2003-12-16 | 2015-12-15 | Hewlett-Packard Development Company, L.P. | Persistent memory device for backup process checkpoint states |
| US7568195B2 (en) * | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
| US7197634B2 (en) * | 2004-01-16 | 2007-03-27 | Dell Products L.P. | System and method for updating device firmware |
| WO2005085997A2 (en) * | 2004-03-10 | 2005-09-15 | Sony Ericsson Mobile Communications Ab | Automatic backup store in firmware upgrades |
| US7853609B2 (en) * | 2004-03-12 | 2010-12-14 | Microsoft Corporation | Update distribution system architecture and method for distributing software |
| US7587433B2 (en) * | 2004-06-01 | 2009-09-08 | Red Bend Ltd. | Method and system for in-place updating content stored in a storage device |
| JP4036852B2 (ja) * | 2004-09-13 | 2008-01-23 | 三菱電機株式会社 | 差分データ生成装置、差分データ生成方法および差分データ生成プログラム |
| JP4016025B2 (ja) * | 2004-10-12 | 2007-12-05 | 富士通株式会社 | 無線端末装置 |
| US7711706B2 (en) * | 2004-11-08 | 2010-05-04 | Innopath Software, Inc. | Reorganizing images in static file system differencing and updating |
| EP1657638A1 (en) * | 2004-11-12 | 2006-05-17 | Research In Motion Limited | System and method for downloading a program from a program store location to a mobile device |
| US8181020B2 (en) * | 2005-02-02 | 2012-05-15 | Insyde Software Corp. | System and method for securely storing firmware |
| JPWO2007108127A1 (ja) * | 2006-03-23 | 2009-07-30 | 三菱電機株式会社 | システムプログラムダウンロードシステム |
| US20070277167A1 (en) * | 2006-05-23 | 2007-11-29 | International Business Machines Corporation | System and method for computer system maintenance |
-
2007
- 2007-06-18 RU RU2008114331/09A patent/RU2388045C2/ru not_active IP Right Cessation
- 2007-06-18 JP JP2009509449A patent/JP2009536395A/ja active Pending
- 2007-06-18 EP EP07746981A patent/EP2030120A4/en not_active Withdrawn
- 2007-06-18 CN CN2007800011610A patent/CN101356519B/zh not_active Expired - Fee Related
- 2007-06-18 WO PCT/KR2007/002939 patent/WO2007148899A1/en not_active Ceased
- 2007-06-18 WO PCT/KR2007/002947 patent/WO2007148900A1/en not_active Ceased
- 2007-06-18 JP JP2009509450A patent/JP2009536396A/ja active Pending
- 2007-06-18 CN CN2007800015965A patent/CN101361051B/zh not_active Expired - Fee Related
- 2007-06-18 EP EP07746973A patent/EP2030119A4/en not_active Withdrawn
- 2007-06-18 KR KR1020070059550A patent/KR101417759B1/ko not_active Expired - Fee Related
- 2007-06-18 KR KR1020070059551A patent/KR20070120447A/ko not_active Ceased
- 2007-06-19 US US11/765,191 patent/US20070294685A1/en not_active Abandoned
- 2007-06-19 US US11/765,214 patent/US20070294686A1/en not_active Abandoned
-
2011
- 2011-10-19 JP JP2011230097A patent/JP5508370B2/ja not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5909581A (en) * | 1995-12-30 | 1999-06-01 | Samsung Electronics Co., Ltd. | Automatic software updating method |
| US6604194B1 (en) * | 1998-12-18 | 2003-08-05 | Lg Electronics Inc. | Program updating method and apparatus for communication terminal system |
| JP2005011209A (ja) * | 2003-06-20 | 2005-01-13 | Sony Corp | ソフトウェア更新システムとソフトウェア提供装置とソフトウェア処理装置およびソフトウェア更新方法 |
| US20040267833A1 (en) * | 2003-06-23 | 2004-12-30 | Evyatar Meller | Method and system for updating versions of content stored in a storage device |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP2030119A4 * |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2465193A (en) * | 2008-11-10 | 2010-05-12 | Symbian Software Ltd | Detecting updated files in a firmware over the air update using CRC values |
| US8789035B2 (en) | 2008-11-10 | 2014-07-22 | Nokia Corporation | Method and apparatus for updating firmware |
| EP2523106A1 (en) * | 2011-05-11 | 2012-11-14 | Alcatel Lucent | Upgrading of application processors |
| EP2590073A1 (en) * | 2011-11-02 | 2013-05-08 | Research In Motion Limited | Method and system for on-demand patch generation and management |
| EP2857965A4 (en) * | 2012-05-28 | 2015-07-15 | Huawei Device Co Ltd | METHOD AND DEVICE FOR PRODUCING AN OVER-THE-AIR FIRMWARE UPDATE PACKAGE |
| EP2677719A1 (en) * | 2012-06-19 | 2013-12-25 | Alcatel Lucent | A method for interfacing a communication terminal with networked objects |
| WO2013189804A1 (en) * | 2012-06-19 | 2013-12-27 | Alcatel Lucent | A method for automatically interfacing a communication terminal with objects |
| KR101750297B1 (ko) | 2012-06-19 | 2017-06-23 | 알까뗄 루슨트 | 오브젝트들과 통신 단말을 자동으로 인터페이싱하기 위한 방법 |
| US10277685B2 (en) | 2012-06-19 | 2019-04-30 | Alcatel Lucent | Method for automatically interfacing a communication terminal with objects |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2008114331A (ru) | 2009-10-20 |
| KR20070120446A (ko) | 2007-12-24 |
| RU2388045C2 (ru) | 2010-04-27 |
| EP2030119A4 (en) | 2009-07-22 |
| WO2007148900A1 (en) | 2007-12-27 |
| CN101361051B (zh) | 2011-01-26 |
| US20070294686A1 (en) | 2007-12-20 |
| JP5508370B2 (ja) | 2014-05-28 |
| JP2009536396A (ja) | 2009-10-08 |
| CN101356519A (zh) | 2009-01-28 |
| EP2030120A4 (en) | 2009-08-26 |
| CN101356519B (zh) | 2011-11-09 |
| CN101361051A (zh) | 2009-02-04 |
| EP2030119A1 (en) | 2009-03-04 |
| EP2030120A1 (en) | 2009-03-04 |
| JP2012069131A (ja) | 2012-04-05 |
| US20070294685A1 (en) | 2007-12-20 |
| KR101417759B1 (ko) | 2014-07-14 |
| JP2009536395A (ja) | 2009-10-08 |
| KR20070120447A (ko) | 2007-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101361051B (zh) | 用于具有空中广播能力设备的信息升级系统和方法 | |
| US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
| CN112631622B (zh) | 应用安装方法、装置、服务器及计算机可读介质 | |
| CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
| CN106021023B (zh) | 应用程序恢复的方法、装置及终端 | |
| CN102065118A (zh) | 一种网络设备升级方法及装置 | |
| CN112416406B (zh) | 终端设备升级方法、装置、终端设备和介质 | |
| KR20200089490A (ko) | 펌웨어 업데이트 방법 및 이를 수행하는 장치 | |
| CN103942058A (zh) | 一种嵌入式电子设备软件升级方法及系统 | |
| CN110162964B (zh) | 一种文件篡改的检查方法、装置及系统 | |
| CN102541596A (zh) | 一种操作系统升级方法及装置 | |
| CN103309706A (zh) | 基于Linux操作系统的内存文件系统制备方法及单元 | |
| CN112947956B (zh) | 一种应用软件升级方法 | |
| CN112732349A (zh) | 加载so库的方法、装置、电子设备和计算机可读存储介质 | |
| CN111221682B (zh) | 一种存储系统镜像的方法 | |
| CN108322540A (zh) | 客制化数据导入方法、终端及计算机可读存储介质 | |
| CN113127054A (zh) | 一种文件处理方法和相关装置 | |
| CN117742742A (zh) | 跨架构场景下的镜像处理方法、装置、电子设备及存储介质 | |
| CN104991796B (zh) | 一种连续升级的方法及装置 | |
| CN113010195B (zh) | 一种系统升级方法、存储介质及终端设备 | |
| CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
| CN113821222A (zh) | 一种生成原ota包的方法及装置 | |
| CN114510256B (zh) | 固件升级方法、电能表、计算机设备和存储介质 | |
| CN106021367B (zh) | 一种查找备份数据的方法及终端 | |
| CN115705200A (zh) | 软件升级方法、移动终端、服务器、电子设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200780001596.5 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2007746973 Country of ref document: EP |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07746973 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2009509449 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |