Patent ID: 8767732

Claim:
A method performed by a base station apparatus, said method comprising: selecting one of a plurality of multicast sessions having a minimum proportional multicast rate; allocating, by the base station apparatus, one of a plurality of sub-channels to one of a plurality of multicast group clients for said selected multicast session; performing, by the base station apparatus, bit loading for said allocated sub-channel; repeating said allocating and performing acts for each of said plurality of multicast sessions; and adjusting said sub-channel allocation responsive to said allocating act and said bit loading, wherein said adjusting act further comprises: finding the multicast session and multicast group clients having a minimum of a ratio of an achievable multicast rate and a target multicast rate; finding the multicast session and multicast group clients having the maximum proportional multicast rate; finding, for the multicast session with the maximum proportional multicast rate, the sub-channel of said plurality of sub-channels that contributes least to the achievable multicast rate for the multicast session with the maximum proportional multicast rate and temporarily assigning the found sub-channel to the multicast session with a minimum achievable multicast rate; determining a temporary proportional minimum multicast rate for the multicast session having a minimum of the ratio of an achievable multicast rate and a target multicast rate and a temporary proportional maximum multicast rate for the multicast session having the maximum proportional multicast rate; determining a temporary minimum of a ratio of an achievable multicast rate and a target multicast rate among all multicast sessions; comparing the temporary minimum of a ratio of an achievable multicast rate and a target multicast rate with said minimum proportional multicast rate; comparing any improvement between said temporary minimum proportional multicast rate and said minimum of a ratio of an achievable multicast rate and a target multicast rate to a threshold; allocating said sub-channel to said multicast session having said minimum of a ratio of an achievable multicast rate and a target multicast rate if said improvement is less than said threshold; and updating said minimum of a ratio of an achievable multicast rate and a target multicast rate of the multicast session having the minimum of a ratio of an achievable multicast rate and a target multicast rate and updating said maximum proportional multicast rate of the multicast session having the maximum proportional multicast rate.