Device memory management during electronic file updating
First Claim
1. 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.
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
33 Claims
-
1. 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 (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. 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 including identifying and reserving a memory block in memory large enough to accommodate the component by performing a sequential search of a first and second memory area of the second device.
-
-
15. 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; identifying and reserving a memory block in device memory large enough to accommodate the component by performing a sequential search of a first and second memory area of an associated device, wherein the first memory area is an original memory area; rewriting the original memory to eliminate unused memory blocks; 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 the 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 including reapportioning the first and second memory areas.
-
-
16. 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 (17, 18, 19, 20, 21, 22)
-
-
23. 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 (24, 25)
-
-
26. 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 (27, 28, 29, 30, 31, 32, 33)
-
Specification