A system for dynamically allocating wireless channels in a wireless network, the system comprising: at least two client devices [130,134], each client device capable of transceiving wireless data over a wireless channel [150,152]; and a server operable to: transceive wireless data over at least two wireless channels; determine the number of client devices in the wireless network; estimate data rates for each client device at which the client devices receive data for a plurality of different transmit power levels; based on a total emitted power limit for the system, assign to each wireless channel a percentage of the maximum power level; use the assigned power level for each wireless channel and the estimated data rates for the plurality of transmit power levels to select from the plurality of transmit power levels a transmit power level for each client device which maximizes data rates to the client devices; and use the data rates corresponding to the selected transmit power levels to allocate the client devices to the wireless channels, wherein client devices that receive data at different data rates are allocated to different wireless channels thereby optimizing the total system utility of the wireless network. at least two client devices [130,134], each client device capable of transceiving wireless data over a wireless channel [150,152]; and a server operable to: transceive wireless data over at least two wireless channels; determine the number of client devices in the wireless network; estimate data rates for each client device at which the client devices receive data for a plurality of different transmit power levels; based on a total emitted power limit for the system, assign to each wireless channel a percentage of the maximum power level; use the assigned power level for each wireless channel and the estimated data rates for the plurality of transmit power levels to select from the plurality of transmit power levels a transmit power level for each client device which maximizes data rates to the client devices; and use the data rates corresponding to the selected transmit power levels to allocate the client devices to the wireless channels, wherein client devices that receive data at different data rates are allocated to different wireless channels thereby optimizing the total system utility of the wireless network. transceive wireless data over at least two wireless channels; determine the number of client devices in the wireless network; estimate data rates for each client device at which the client devices receive data for a plurality of different transmit power levels; based on a total emitted power limit for the system, assign to each wireless channel a percentage of the maximum power level; use the assigned power level for each wireless channel and the estimated data rates for the plurality of transmit power levels to select from the plurality of transmit power levels a transmit power level for each client device which maximizes data rates to the client devices; and use the data rates corresponding to the selected transmit power levels to allocate the client devices to the wireless channels, wherein client devices that receive data at different data rates are allocated to different wireless channels thereby optimizing the total system utility of the wireless network.