A non-transitory computer-readable medium storing computer readable instructions, the instructions, when executed by a processor of a communication device, cause the communication device to perform processes comprising:
- a transmitting operation that, every time a measurement bandwidth range is one of identified and updated, transmits a plurality of measurement packets for identifying an available bandwidth to another communication device connected via a network, using bandwidth in the measurement bandwidth range, the measurement bandwidth range being a bandwidth range that is measured by the plurality of measurement packets, and the available bandwidth being bandwidth that is available in the network;
- a first determining operation determining whether the available bandwidth is included in the measurement bandwidth range;
- a second determining operation, in a case where the first determining operation has determined that the available bandwidth is not included in the measurement bandwidth range, determining whether the available bandwidth is located on a narrowband side or on a wideband side with respect to the measurement bandwidth range, wherein the narrowband side with respect to the measurement bandwidth range corresponds to a lower bit rate relative to a bit rate of the wideband side;
- a shift amount determining operation determining a bandwidth shift amount based on an amount of change that is larger than the amount of change at a previous time, in a case where the first determining operation has continuously determined that the available bandwidth is not included in the measurement bandwidth range and the second determining operation has continuously determined that the available bandwidth is located on one of the wideband side and the narrowband side with respect to the measurement bandwidth range, the bandwidth shift amount being a first amount of bandwidth shift when a lower bandwidth is shifted to the narrowband side when the second determining operation has determined that the available bandwidth is located on the narrowband side with respect to the measurement bandwidth range, and being a second amount of bandwidth shift when an upper bandwidth is shifted to the wideband side when the second determining operation has determined that the available bandwidth is located on the wideband side with respect to the measurement bandwidth range, the amount of change indicating a magnitude of change in a case where the measurement bandwidth range is changed, the lower bandwidth being a narrowest bandwidth in the measurement bandwidth range, and the upper bandwidth being a widest bandwidth in the measurement bandwidth range;
- a first updating operation updating the measurement bandwidth range by shifting one of the lower bandwidth and the upper bandwidth based on the bandwidth shift amount determined by the shift amount determining operation;
- an identifying operation identifying a number of continuous times in a case where the first determining operation has continuously determined that the available bandwidth is not located in the measurement bandwidth range and the second determining operation has continuously determined that the available bandwidth is located on one of the wideband side and the narrowband side with respect to the measurement bandwidth range;
- and
- a second updating operation, in a case where the number of continuous times identified by the identifying operation is equal to or more than a predetermined number of times, updating the measurement bandwidth range by shifting, in a case where the first updating operation has shifted the lower bandwidth to the narrowband side by the bandwidth shift amount, the upper bandwidth to the narrowband side by the bandwidth shift amount, and by shifting, in a case where the first updating operation has shifted the upper bandwidth to the wideband side by the bandwidth shift amount, the lower bandwidth to the wideband side by the bandwidth shift amount.