1. A computer program product for migrating a data-processing entity from a source software image installed on a mass memory of the data-processing entity to a target software image stored on an external source, each software image including a plurality of memory blocks, each memory block having a corresponding image address within the software image, and the mass memory including a plurality of memory locations for storing memory blocks, each memory location having a corresponding memory address within the mass memory, the computer program product comprising: one or more non-transitory computer readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising: program instructions to release a portion of the mass memory; program instructions to relocate memory blocks stored in boot locations of the target software image to the released portion, the boot locations being memory locations having memory addresses equal to the image addresses of boot blocks of the target software image including memory blocks required to boot the data-processing entity to load a streaming function for downloading the target software image from the external source; program instructions to store the boot blocks into the corresponding boot locations, program instructions to boot the data-processing entity from the boot blocks in the corresponding boot locations thereby loading the streaming function; and program instructions to serve each request for reading a selected memory block of the target software image by the streaming function, the streaming function downloading the selected memory block from the external source and storing the selected memory block into the released portion when the selected memory block is not available in the mass memory, or retrieving the selected memory block from the mass memory otherwise.