Device memory management during electronic file updating
4 Assignments
0 Petitions
Accused Products
Abstract
In performing memory management, an upgrade client of a host device identifies and reserves memory blocks large enough to accommodate new software components by performing sequential searches of first and second memory areas. The new software components are updated versions of components of original software files. When the new component size exceeds that of available blocks of the first and second memory areas, the upgrade client rewrites the first memory area to eliminate unused memory blocks, reapportions the first and second memory areas, writes the new component to the second memory area, and updates a vector table. To access host device software components, the upgrade client receives a function call from the main program of the host device including identification information of corresponding software files, reads a start address of the corresponding software files from the vector table, and generates a call for the corresponding software files.
-
Citations
70 Claims
-
1-30. -30. (canceled)
-
31. A system comprising a processor coupled to a memory and an updating system, the updating system:
-
receiving a component of a new electronic file and identification information of the component, the new electronic file being an updated version of an original electronic file stored in the memory, wherein the identification information includes a size of the received component;
identifying and reserving a memory block in the memory large enough to accommodate the component by performing a sequential search of a first and second memory area, wherein the first memory area is rewritten to eliminate unused memory blocks and the first and second memory areas are reapportioned when the size exceeds a size of available memory blocks of the first and second memory areas; and
updating the original electronic file by writing the component to the reserved memory block. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A system for updating electronic files, comprising:
-
a first device including a processor coupled to a first component of a file differencing and updating (FDU) system that generates a delta file; and
a second device receiving the delta file from the first device via at least one coupling, the second device including a processor coupled to a second component of the FDU system that receives at least one component of a new electronic file via the delta file, the new electronic file being an updated version of an original electronic file, determines a size of the received component, wherein when the size is equal to or smaller than a size of a corresponding component of the original electronic file, writing the received component to an original memory area that includes the corresponding component of the original electronic file, wherein when the size exceeds the size of the corresponding component of the original electronic file, writing the received component to a reserved area of the original memory area.
-
-
45. A method for updating electronic files, comprising:
-
receiving at least one component of a new electronic file, the new electronic file being an updated version of an original electronic file;
determining a size of the received component;
when the size is equal to or smaller than a size of a corresponding component of the original electronic file, writing the received component to an original memory area that includes the corresponding component of the original electronic file; and
when the size exceeds the size of the corresponding component of the original electronic file, writing the received component to a reserved area of the original memory area.
-
-
46. An apparatus comprising:
-
means for receiving at least one component of a new electronic file, the new electronic file being an updated version of an original electronic file;
means for determining a size of the received component;
means for writing the received component to an original memory area that includes the corresponding component of the original electronic file, when the size is equal to or smaller than a size of a corresponding component of the original electronic file; and
means for writing the received component to a reserved area of the original memory area when the size exceeds the size of the corresponding component of the original electronic file.
-
-
47. A method for device memory management in a host device, comprising:
-
receiving identification information of at least one received component of a new electronic file, the new electronic file being an updated version of an original electronic file, wherein the identification information includes a size of the received component;
identifying and reserving a memory block large enough to accommodate the received component by performing a sequential search of a first and second memory area, wherein the first memory area is rewritten to eliminate unused memory blocks and the first and second memory areas are reapportioned when the size exceeds a size of available memory blocks of the first and second memory areas; and
updating the original electronic file by writing the received component to the reserved memory block. - View Dependent Claims (48, 49, 50, 51, 52, 53)
-
-
54. A method for device memory management during file updating, comprising:
-
determining a size of at least one received component of a new electronic file using identification information of the received component, the new electronic file being an updated version of an original electronic file;
when the size is equal to or smaller than a size of a corresponding component of the original electronic file, allocating an original memory block of a first memory area into which to write the received component, the original memory block including the corresponding component of the original electronic file;
when the size exceeds the size of the corresponding component of the original electronic file, searching at least one of a second memory area and unused portions of the first memory area for a memory block large enough to store the received component; and
when the size exceeds a size of available memory blocks of the first and second memory areas, rewriting the first memory area to remove the unused portions, reapportioning the first and second memory areas, and allocating a memory block of the second memory area into which to write the received component. - View Dependent Claims (55, 56)
-
-
57. An apparatus comprising:
-
means for receiving at least one new component of a new electronic file, the new electronic file being an updated version of an original electronic file;
means for identifying and reserving a memory block large enough to accommodate the new component by performing a sequential search of a first and second memory area, wherein the first memory area is rewritten to eliminate unused memory blocks and the first and second memory areas are reapportioned when a size of the new component exceeds a size of available memory blocks of the first and second memory areas;
means for updating the original electronic file by writing the new component to the reserved memory block; and
means for updating a vector table when the new component is written to a memory block other than an original memory block including the corresponding component of the original electronic file. - View Dependent Claims (58, 59, 60, 61)
-
-
62. A computer readable medium including executable instructions which, when executed in a processing system, update electronic files and file components by:
-
receiving identification information of at least one received component of a new electronic file, the new electronic file being an updated version of an original electronic file, wherein the identification information includes a size of the received component;
identifying and reserving a memory block large enough to accommodate the received component by performing a sequential search of a first and second memory area, wherein the first memory area is rewritten to eliminate unused memory blocks and the first and second memory areas are reapportioned when the size exceeds a size of available memory blocks of the first and second memory areas; and
updating the original electronic file by writing the received component to the reserved memory block.
-
-
63. A system for updating electronic files, comprising:
-
a first device including a processor coupled to a first component of a file differencing and updating system that generates a delta file;
a second device receiving the delta file from the first device via at least one coupling, the second device including a processor coupled to a second component of the file differencing and updating system, the second component, reading at least one new component of a new electronic file from the delta file, the new electronic file being an updated version of an original electronic file;
identifying and reserving a memory block large enough to accommodate the new component by performing a sequential search of a first and second memory area;
rewriting the first memory area to eliminate unused memory blocks and reapportioning the first and second memory areas when a size of the new component exceeds a size of available memory blocks of the first and second memory areas;
writing the new component to the reserved memory block; and
updating a vector table when the new component is written to a memory block other than an original memory block including the corresponding component of the original electronic file. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70)
-
Specification