Patent ID: 8798018

Claim:
A wireless client, comprising: a wireless network interface; a processor; a memory; a wireless network interface driver application, stored in the memory, comprising instructions operable to cause the processor and the wireless network interface to: receive, from a first access element, a roaming list identifying at least one candidate access element of one or more candidate access elements other than the first access element, wherein the roaming list is transmitted from the first access element to the wireless client in connection with an association between the first access element and the wireless client; monitor, during an associated state with the first access element, one or more radio frequency signals transmitted by the first access element relative to a signal attribute; when the wireless client determines that the monitored signal attribute crosses a threshold value, then alternate, at least a plurality of times, between: a pre-emptive scanning mode to actively scan for the one or more candidate access elements identified in the roaming list with which to associate by sending directed probes to the one or more candidate access elements identified in the roaming list, and a traffic mode to communicate with the first access element to transmit or receive wireless frames; receive a response from at least a portion of the one or more candidate access elements; for each of one or more of the candidate access elements from which the response was received, group the candidate access element into one of a plurality of groups, the grouping being based at least on a load threshold of the candidate access element and either a switch identifier of the candidate access element or a resiliency identifier of the candidate access element, the plurality of groups being ranked; and attempt to associate with one of the candidate access elements grouped into the highest ranked group.