Nova Patents
EP1533695B1

Updating data in a mobile terminal

Abstract

This record has no abstract on file.

EP1533695B1, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Expired 19 November 2023, 2.8 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

19 claims: 12 independent, 7 dependent

  1. 1
    A method of differentially updating data stored in a memory of a mobile terminal, the memory being divided in a plurality of memory blocks, to an updated data version, the method comprising the step of - Identifying among the data in the mobile terminal those memory blocks, if any, that are corrupt; and characterised in the further steps of:- generating differential update instructions based on a first data version corresponding to an identification of the version of the data currently stored on the mobile terminal and the updated data version and on information about the identified corrupted memory blocks, the generating comprising - comparing the first data version and the updated data version for identifying memory block similarities;- generating copy commands for memory blocks that are identified to be identical;- generating add commands for memory blocks that are present in the updated data version but not in the first data version, wherein for memory blocks that are identified to be identical and that correspond to corrupt memory blocks, an add command instead of a copy command is generated for inserting an authentic updated memory block;- loading the differential update instructions into the mobile terminal;and - generating the updated data version by the mobile terminal from the currently stored data and the loaded differential update instructions.
  2. 4
    A method according to any one of claims 1 through 3, wherein generating the differential update instructions comprises generating instructions causing the mobile terminal to generate the updated data version from the stored data excluding the identified corrupted one or more memory blocks, if any, and from the differential update instructions.
  3. 5
    A method according to any one of claims 1 through 3, wherein generating the differential update instructions Is performed by a remote data processing system.
  4. 8
    A method according to any one of claims 5 through 7, wherein the identification is performed by the mobile terminal and the identification further comprises transmitting information about the identified corrupted one or more memory blocks from the mobile terminal to the remote data processing system.
  5. 9
    A method according to any one of claims 5 through 7, wherein the method further comprises transmitting information about the stored data from the mobile terminal to the remote data processing system and wherein the identification is performed by the remote data processing system based on the transmitted information.
  6. 10
    A method according to any one of claims 1 through 9, wherein the identification comprises - calculating a number of checksums by the mobile terminal, wherein each checksum corresponds to a corresponding memory block of data stored in the mobile terminal;and - comparing the calculated checksums with a number of reference checksums to identify any corrupted memory block of data.
  7. 12
    A method according to daim 11, wherein the reference checksums stored in the mobile terminal are integrity protected by a message authentication code.
  8. 14
    A method according to any one of claims 10 through 13, wherein the calculating comprises calculating the checksums as a cryptographically strong one-way hash function of the corresponding memory block of the stored data.
  9. 15
    A mobile terminal comprising - a data memory for storing data, the data memory being divided in a plurality of memory blocks;- communications means adapted to receive from a data processing system differential update instructions for updating data stored in the data memory to an updated data version;- processing means adapted to generate the updated data version from the currently stored data and from the received differential update instructions;characterised in that the processing means is further adapted to generate information from the stored data indicative of the presence or absence of one or more corrupted memory blocks and to communicate the generated information via the communications means to the data processing system for generating the differential update instructions based on a first data version corresponding to an identification of the version of the data currently stored on the mobile terminal and the updated data version and on the generated information about corrupted memory blocks by - comparing the first data version and the updated data version for identifying memory block similarities;- generating copy commands for memory blocks that are identified to be identical;- generating add commands for memory blocks that are present in the updated data version but not in the first data version, wherein for memory blocks that are identified to be identical and that correspond to corrupt memory blocks, an add command instead of a copy command is generated for inserting an authentic updated memory block.
  10. 16
    A data processing system for facilitating differentially updating data stored in a memory of a mobile terminal, the memory being divided in a plurality of memory blocks, to an updated data version, the data processing system comprising means for loading differential update instructions into the mobile terminal, the differential update instructions causing the mobile terminal to generate the updated data version from the currently stored data and the loaded differential update instructions;characterised in that the data processing system further comprises - means for receiving information from the mobile terminal indicative of the presence or absence of one or more corrupted memory blocks;and - processing means adapted to generate the differential update instructions from a first data version corresponding to an identification of the version of the data currently stored on the mobile terminal and the updated data versions and from the received information by - comparing the first data version and the updated data version for identifying memory block similarities;- generating copy commands for memory blocks that are identified to be identical;- generating add commands for memory blocks that are present in the updated data version but not in the first data version, wherein for memory blocks that are identified to be identical and that correspond to corrupt memory blocks, an add command instead of a copy command is generated for inserting an authentic updated memory block.
  11. 17
    A computer program comprising program code means adapted to cause a mobile terminal to differentially update data stored in a memory of the mobile terminal, the memory being divided in a plurality of memory blocks, to an updated data version characterised by performing the following steps, when the program is executed on the mobile terminal:- generating information from the stored data indicative of the presence or absence of one or more corrupted memory blocks;- communicating the generated information to a data processing system for generating differential update instructions based on a first data version corresponding to an identification of the version of the data currently stored on the mobile terminal and the updated data version and on the generated information about corrupted memory blocks by - comparing the first data version and the updated data version for identifying memory block similarities;- generating copy commands for memory blocks that are identified to be identical;- generating add commands for memory blocks that are present in the updated data version but not in the first data version, wherein for memory blocks that are identified to be identical and that correspond to corrupt memory blocks, an add command instead of a copy command is generated for inserting an authentic updated memory block;- loading the differential update instructions into the mobile terminal;and - generating the updated data version by the mobile terminal from the currently stored data and the loaded differential update instructions, including repairing any such detected corrupted memory blocks.
  12. 18
    A computer program comprising program code means adapted to cause a data processing system to facilitate differentially updating data stored in a memory of a mobile terminal, the memory being divided in a plurality of memory blocks, to an updated data version characterised by performing the following steps, when the program is executed on the data processing system:- generating differential update instructions from a first data version corresponding to an identification of the version of the data currently stored on the mobile terminal and the updated data versions and from information received from the mobile terminal, wherein the received information is indicative of the presence or absence of one or more corrupted memory blocks by;- comparing the first data version and the updated data version for identifying memory block similarities;- generating copy commands for memory blocks that are identified to be identical;- generating add commands for memory blocks that are present in the updated data version but not in the first data version, wherein for memory blocks that are identified to be identical and that correspond to corrupt memory blocks, an add command instead of a copy command is generated for inserting an authentic updated memory block and - loading the generated differential update instructions into the mobile terminal, the differential update instructions causing the mobile terminal to generate the updated data version from the currently stored data and the loaded differential update instructions.