A communication device operating as a master unit in a point-to-multipoint communication system in which the master unit (1, 1B) and slave units (3-1, 3-2, 3-3) transmit and receive variable length data to and from each other, the communication device comprising: MAC layer termination functioning unit configured to control an extraction, from an incoming signal, of queue length information scheduled to be transmitted from the slave units, and a transmission of a grant to the slave units; traffic monitoring unit configured to measure an uplink traffic amount of each of the slave units; and bandwidth allocation functioning unit configured to determine a bandwidth to be allocated to the slave units based on the queue length information extracted by the MAC layer termination functioning unit, the traffic amount measured by the traffic monitoring unit, and a bandwidth that can be allocated in one cycle of bandwidth update, and issue a grant in accordance with the determination, wherein the bandwidth allocation functioning unit periodically updates a bandwidth to be allocated, and characterized in that the bandwidth allocation functioning unit calculates a necessary bandwidth for the slave units on the basis of the queue length information and the traffic amount, and calculates a surplus bandwidth by subtracting the necessary bandwidth from the bandwidth that can be allocated in one cycle of bandwidth update, determines a coefficient by which the surplus bandwidth is reflected in bandwidth allocation on the basis of the queue length information and the amount of traffic, and determines a bandwidth to be allocated to the slave units on the basis of the queue length information, the traffic amount and the coefficient under a given condition. MAC layer termination functioning unit configured to control an extraction, from an incoming signal, of queue length information scheduled to be transmitted from the slave units, and a transmission of a grant to the slave units; traffic monitoring unit configured to measure an uplink traffic amount of each of the slave units; and bandwidth allocation functioning unit configured to determine a bandwidth to be allocated to the slave units based on the queue length information extracted by the MAC layer termination functioning unit, the traffic amount measured by the traffic monitoring unit, and a bandwidth that can be allocated in one cycle of bandwidth update, and issue a grant in accordance with the determination, wherein the bandwidth allocation functioning unit periodically updates a bandwidth to be allocated, and characterized in that the bandwidth allocation functioning unit calculates a necessary bandwidth for the slave units on the basis of the queue length information and the traffic amount, and calculates a surplus bandwidth by subtracting the necessary bandwidth from the bandwidth that can be allocated in one cycle of bandwidth update, determines a coefficient by which the surplus bandwidth is reflected in bandwidth allocation on the basis of the queue length information and the amount of traffic, and determines a bandwidth to be allocated to the slave units on the basis of the queue length information, the traffic amount and the coefficient under a given condition.