Patent ID: 8576850

Claim:
A band control apparatus comprising: a buffer memory configured to hold and output data units on a first-in first-out basis; a counter memory configured to hold a counter value; and a processor configured to add a value to the counter value on a basis of a rule, reduce, when a first one of the data units is output from the buffer memory, a value corresponding to a size of the first data unit from the counter value, cause the first data unit held by the buffer memory to be output when a first condition and second condition are satisfied, the first condition is a total size of the data units held by the buffer memory being smaller than a buffer threshold, and the second condition is that the counter value is larger than the size of the first data unit held by the buffer memory and the counter value is larger than a counter threshold, and cause, when the first condition is not satisfied, the data units held by the buffer memory to be output in sequence with the first data unit first, until a third condition is satisfied, wherein the third condition is that the first condition is satisfied or the second condition is not satisfied, and wherein the buffer memory has n buffer thresholds Qth( 1 ) to Qth(n) (where n is an integer of 2 or more), the n buffer thresholds Qth(i) (where 0<i≦n) i being between 0 and a smaller value than a size of the buffer memory and being an ascending value; the counter memory has n counter thresholds Tth( 1 ) to Tth(n), the n counter thresholds Tth(j) j being between 0 and a value that is smaller than or equal to a maximum value of the counter value and being a decending value; and when the total size of the data units held by the buffer memory is larger than or equal to Qth(i−1) and is smaller than Qth(i), the processor causes the data units held by the buffer memory to be output in sequence with the first data unit first, until the counter value becomes a value that is smaller than Tth(j), until the total size of the data units held by the buffer memory becomes a value that is smaller than Qth(i−1), or until the counter value becomes a value that is smaller than the size of the first data unit held by the buffer memory, and when the total size of the data units held by the buffer memory is larger than or equal to Qth(n), the processor causes the data units to be output from the buffer memory, until the total size of the data units held by the buffer memory becomes a value that is smaller than Qth(n) or until the counter value becomes a value that is smaller than the size of the first data unit held by the buffer memory.