A bandwidth allocation device which allocates a bandwidth to at least one terminal device in a communication system, including a terminal station device and the at least one terminal device , which relays upstream data, which is received from a communication terminal by a lower device connected to the at least one terminal device , to an upper device connected to the terminal station device , the bandwidth allocation device comprising: a transmission-permitted period start position determining unit configured to estimate a start position, indicating a timing at which a transmission-permitted period in which the at least one terminal device is permitted to transmit the upstream data begins, of an arrival period in which the upstream data arrives at the at least one terminal device from the lower device , on a basis of processing latency in the lower device and a time at which the lower device receives the upstream data from the communication terminal; a transmission-permitted period length determining unit configured to estimate a length of the arrival period on a basis of an amount of upstream data to be transmitted from the lower device to the at least one terminal device and a minimum arrival amount that is a minimum amount of the upstream data to be arrived at the at least one terminal device in an allocation cycle, the allocation cycle being obtained by dividing a transmission time interval of the upstream data from the lower device to the upper device and being a minimum unit to which the bandwidth is allocated; and a bandwidth allocation unit configured to allocate a bandwidth to the at least one terminal device on a basis of the estimated start position, the estimated length of the arrival period which is estimated on a basis of the amount of the upstream data and the minimum arrival amount, and the allocation cycle. a transmission-permitted period start position determining unit configured to estimate a start position, indicating a timing at which a transmission-permitted period in which the at least one terminal device is permitted to transmit the upstream data begins, of an arrival period in which the upstream data arrives at the at least one terminal device from the lower device , on a basis of processing latency in the lower device and a time at which the lower device receives the upstream data from the communication terminal; a transmission-permitted period length determining unit configured to estimate a length of the arrival period on a basis of an amount of upstream data to be transmitted from the lower device to the at least one terminal device and a minimum arrival amount that is a minimum amount of the upstream data to be arrived at the at least one terminal device in an allocation cycle, the allocation cycle being obtained by dividing a transmission time interval of the upstream data from the lower device to the upper device and being a minimum unit to which the bandwidth is allocated; and a bandwidth allocation unit configured to allocate a bandwidth to the at least one terminal device on a basis of the estimated start position, the estimated length of the arrival period which is estimated on a basis of the amount of the upstream data and the minimum arrival amount, and the allocation cycle. <EOS>