A device comprising: a memory having computer readable instructions stored therein; and a processor, wherein the execution of the computer-readable instructions causes the processor to, determine a plurality of data transmission rates between at least one client, an access point and the device belonging to a wireless network, determine a best communication route, from among available communication routes for the at least one client to communicate with the access point based on the determined plurality of data transmission rates, and direct the at least one client to communicate with the access point via the determined best communication route, wherein the execution of the computer readable instructions causes the processor to determine the plurality of data transmission rates by, transmitting a beacon request frame to the at least one client, determining whether the transmitted beacon request frame is received by the at least one client, retransmitting, with a transmission frequency, the beacon request frame if the processor determines that the at least one client has not received the transmitted beacon request frame and subsequently altering the transmission frequency, if the processor determines that the retransmitted beacon probe request frame has not been received at the at least one client, and after the beacon request frame has been received at the at least one client, receiving a beacon report frame from the at least one client, the beacon report frame including information on a rate of data transmission between the at least one client and the access point. a memory having computer readable instructions stored therein; and a processor, wherein the execution of the computer-readable instructions causes the processor to, determine a plurality of data transmission rates between at least one client, an access point and the device belonging to a wireless network, determine a best communication route, from among available communication routes for the at least one client to communicate with the access point based on the determined plurality of data transmission rates, and direct the at least one client to communicate with the access point via the determined best communication route, wherein the execution of the computer readable instructions causes the processor to determine the plurality of data transmission rates by, determine a plurality of data transmission rates between at least one client, an access point and the device belonging to a wireless network, determine a best communication route, from among available communication routes for the at least one client to communicate with the access point based on the determined plurality of data transmission rates, and direct the at least one client to communicate with the access point via the determined best communication route, wherein the execution of the computer readable instructions causes the processor to determine the plurality of data transmission rates by, transmitting a beacon request frame to the at least one client, determining whether the transmitted beacon request frame is received by the at least one client, retransmitting, with a transmission frequency, the beacon request frame if the processor determines that the at least one client has not received the transmitted beacon request frame and subsequently altering the transmission frequency, if the processor determines that the retransmitted beacon probe request frame has not been received at the at least one client, and after the beacon request frame has been received at the at least one client, receiving a beacon report frame from the at least one client, the beacon report frame including information on a rate of data transmission between the at least one client and the access point.