EP1754322A1

Apparatus and method for efficient generation of delta files for over-the-air upgrades in a wireless network

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 10 June 2025, 1.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

30 claims: 4 independent, 26 dependent

  1. 1
    Claims of equivalent WO 2005122439 A1 WHAT IS CLAIMED IS:1. A method of generating a composite delta file based on the differences between an original binary file and an upgraded binary file, the method comprising the steps of: segmenting the original binary file into a first plurality of segments of size N;segmenting the upgraded binary file into second plurality of segments of size N;detecting a first set of differences between a first segment from the original binary file and a first segment from the upgraded binary file;and generating a first delta file from the detected first set of differences.
  2. 2
    The method as set forth in Claim 1 , further comprising the steps of:detecting a second set of differences between a second segment from the original binary file and a second segment from the upgraded binary file;and generating a second delta file from the detected second set of differences.
  3. 3
    The method as set forth in Claim 2, further comprising the steps of:combining the first delta file and the second delta file to form the composite delta file.
  4. 4
    The method as set forth in Claim 3, further comprising the step of transmitting the composite delta file to a target device containing a copy of the original file.
  5. 5
    The method as set forth in Claim 4, further comprising the steps of generating a data verification value from the first delta file and the second delta file and adding the data verification value to the composite delta file.
  6. 6
    The method as set forth in Claim 5, wherein the data verification value comprises a cyclic redundancy check (CRC) value.
  7. 7
    The method as set forth in Claim 6, wherein the steps of generating the first delta file and generating the second delta file use the greedy algorithm for generating delta files.
  8. 8
    The method as set forth in Claim 7, wherein the step of segmenting the original binary file comprises the sub-step of segmenting the original binary file based on a memory map input file associated with the target device and wherein the size N of the first plurality of segments associated with the original binary file is determined by a sector size of a Flash memory associated with the target device.
  9. 9
    The method as set forth in Claim 8, wherein the step of segmenting the upgraded binary file comprises the sub-step of segmenting the upgraded binary file based on the memory map input file associated with the target device and wherein the size N of the second plurality of segments associated with the upgraded binary file is determined by a sector size of a Flash memory associated with the target device.
  10. 10
    The method as set forth in Claim 9, wherein the target device comprises a wireless mobile station and the composite delta file is transmitted to the wireless mobile station via a wireless network.
  11. 11
    A composite delta file capable of converting an original binary file into an upgraded binary file, wherein the composite delta file is generated by:segmenting the original binary file into a first plurality of segments of size N;segmenting the upgraded binary file into second plurality of segments of size N;detecting a first set of differences between a first segment from the original binary file and a first segment from the upgraded binary file;and generating a first delta file from the detected first set of differences.
  12. 12
    The composite delta file as set forth in Claims 11 , wherein the composite delta file is further generated by:detecting a second set of differences between a second segment from the original binary file and a second segment from the upgraded binary file;and generating a second delta file from the detected second set of differences.
  13. 13
    The composite delta file as set forth in Claim 12, wherein the composite delta file is further generated by:combining the first delta file and the second delta file to form the composite delta file.
  14. 14
    The composite delta file as set forth in Claim 13, wherein the composite delta file is suitable for transmission to a target device containing a copy of the original file.
  15. 15
    The composite delta file as set forth in Claim 14, wherein the composite delta file is further generated by:generating a data verification value from the first delta file and the second delta file and adding the data verification value to the composite delta file.
  16. 16
    The composite delta file as set forth in Claim 15, wherein the data verification value comprises a cyclic redundancy check (CRC) value.
  17. 17
    The composite delta file as set forth in Claim 16, wherein the first delta file and the second delta file are generated using the greedy algorithm for generating delta files.
  18. 18
    The composite delta file as set forth in Claim 17, wherein the original binary file is segmented based on a memory map input file associated with the target device and wherein the size N of the first plurality of segments associated with the original binary file is determined by a sector size of a Flash memory associated with the target device.
  19. 19
    The composite delta file as set forth in Claim 18, wherein the upgraded binary file is segmented based on the memory map input file associated with the target device and wherein the size N of the second plurality of segments associated with the upgraded binary file is determined by a sector size of a Flash memory associated with the target device.
  20. 20
    The composite delta file as set forth in Claim 19, wherein the target device comprises a wireless mobile station and the composite delta file is suitable for transmission to the wireless mobile station via a wireless network.
  21. 21
    A apparatus of generating a composite delta file based on the differences between an original binary file and an upgraded binary file, the apparatus comprising:a segmented linker for generating from an original binary file an upgraded binary file suitable for replacing a copy of the original binary file installed in a target device, wherein the segmented linker receives as inputs a plurality of objects, the original binary file, and a memory map input file associated with a target device and wherein the segmented linker preserves in the upgraded binary file at least some of the spatial locality of reference of code in the original binary file;and a Segment delta file generator for generating [delta files in a time and space efficient manner by segmenting each one of upgraded binary file and original upgrade file into a plurality of segments, where in the segenent delta file generator generates] a plurality of delta files from the corresponding segments from upgraded binary file and original upgrade file, and combining the plurality of delta files thus produced into a delta file that is transmitted to mobile stations.
  22. 22
    The segmented linker as set forth in Claim 21, wherein the segmented linker further receives as an input a linker guideline file that defines the layout of objects having spatial locality of reference in the original binary file.
  23. 23
    The segmented linker as set forth in Claim 22, wherein the segmented linker uses the linker guideline file to limit the propagation of cascading address references in the upgraded binary file.
  24. 24
    The segmented linker as set forth in Claim 23, wherein the segmented linker uses the linker guideline file to preserve in the upgraded binary file the order of objects having spatial locality of reference in the original binary file.
  25. 25
    The segmented linker as set forth in Claim 24, wherein the segmented linker uses the linker guideline file to reserve space between objects and modules in the upgraded binary file.
  26. 26
    The segmented linker as set forth in Claim 25, wherein the segmented linker reserves space between objects and modules in the upgraded binary file based on the number of external functions and variables outside the address space of the modules and objects.
  27. 27
    The segmented linker as set forth in Claim 26, wherein the segmented linker reserves space between objects and modules in the upgraded binary file based on a programmer-supplied heuristic value.
  28. 28
    The segmented linker as set forth in Claim 27, wherein the segmented linker uses information from the original binary file to preserve the address assignments of variables and functions in the upgraded binary file.
  29. 29
    The segmented linker as set forth in Claim 28, wherein the segmented linker uses the memory map input file to reserve space between objects and modules in the upgraded binary file.
  30. 30
    The segmented linker as set forth in Claim 29, wherein the segmented linker determines from the memory map input file a sector size of a Flash memory associated with a target device and uses the sector size to reserve space between objects and modules in the upgraded binary file.
Independent claims30