A download ethod for downloading data, executed by a computer, the download method comprising: dividing the data into a plurality of data blocks; assigning a download range of each of the plurality of data blocks to a respective session from among a plurality of sessions based on a size of the respective data blocks, the plurality of sessions including a first session employing a first communication system and a second session employing a second communication system among a plurality of kinds of communication systems; downloading the data corresponding to the data block of each download range assigned to each of the plurality of sessions in each of the plurality of sessions in parallel; determining that a first communication situation in the first communication system is inferior to a second communication situation in the second communication system, based on whether a predicted value of a second throughput in the second session is larger than an actual performance value of a first throughput in the first session; and if it is determined that first communication situation in the first communication system is inferior to the second communication situation in the second communication system: identifying an unreceived-data range assigned to the first session; and determining whether the size of the unreceived-data range assigned to the first session is larger than an improvement threshold, and if the size of the unreceived-data range assigned to the first session is larger than the improvement threshold: assigning the unreceived-data range assigned to the first session to the second session when the predicted value of the second throughput in the second session is larger than the actual performance value of the first throughput in the first session and the size of the unreceived-data range is larger than an improvement threshold, the data block of the unreceived-data range being not downloaded; and downloading the data corresponding to the data block of the unreceived-data range in the second session when the unreceived-data range assigned to the first session is assigned to the second session. dividing the data into a plurality of data blocks; assigning a download range of each of the plurality of data blocks to a respective session from among a plurality of sessions based on a size of the respective data blocks, the plurality of sessions including a first session employing a first communication system and a second session employing a second communication system among a plurality of kinds of communication systems; downloading the data corresponding to the data block of each download range assigned to each of the plurality of sessions in each of the plurality of sessions in parallel; determining that a first communication situation in the first communication system is inferior to a second communication situation in the second communication system, based on whether a predicted value of a second throughput in the second session is larger than an actual performance value of a first throughput in the first session; and if it is determined that first communication situation in the first communication system is inferior to the second communication situation in the second communication system: identifying an unreceived-data range assigned to the first session; and determining whether the size of the unreceived-data range assigned to the first session is larger than an improvement threshold, and if the size of the unreceived-data range assigned to the first session is larger than the improvement threshold: assigning the unreceived-data range assigned to the first session to the second session when the predicted value of the second throughput in the second session is larger than the actual performance value of the first throughput in the first session and the size of the unreceived-data range is larger than an improvement threshold, the data block of the unreceived-data range being not downloaded; and downloading the data corresponding to the data block of the unreceived-data range in the second session when the unreceived-data range assigned to the first session is assigned to the second session. identifying an unreceived-data range assigned to the first session; and determining whether the size of the unreceived-data range assigned to the first session is larger than an improvement threshold, and if the size of the unreceived-data range assigned to the first session is larger than the improvement threshold: assigning the unreceived-data range assigned to the first session to the second session when the predicted value of the second throughput in the second session is larger than the actual performance value of the first throughput in the first session and the size of the unreceived-data range is larger than an improvement threshold, the data block of the unreceived-data range being not downloaded; and downloading the data corresponding to the data block of the unreceived-data range in the second session when the unreceived-data range assigned to the first session is assigned to the second session. assigning the unreceived-data range assigned to the first session to the second session when the predicted value of the second throughput in the second session is larger than the actual performance value of the first throughput in the first session and the size of the unreceived-data range is larger than an improvement threshold, the data block of the unreceived-data range being not downloaded; and downloading the data corresponding to the data block of the unreceived-data range in the second session when the unreceived-data range assigned to the first session is assigned to the second session.