One of the biggest drawbacks of wireless networking is that it is a shared medium. That is an obvious flaw of the medium. It is impossible to transmit two streams of data on the same radio frequency. So a 11mb wireless switch can only achieve 11mb total. Where a 10 mb switch can achieve near 10mb per client. So that a 10mb switch can actually be faster than a 11mb wireless access point if you have more than one client.
What we need is a way to switch the data across the airwaves, but like I have said it is impossible to do that. So we need a new solution. Here is mine.
What if you set the access points to different channels? Build the hardware to support multiple channels so that you can reduce the clients on any specific channel. You design the hardware to interconnect with each other so that you can chain the access points together. You then designate one of the access points as the coordinator. When a client moves into range it connects and negotiates with the access point coordinator. The coordinator then tells the client what channels it has operating and what channel it would like the client to move to. The coordinator then passes the client off to whatever slave access point it designated and listens for more clients. It also keeps track of what access points still have clients and how much bandwidth they are using. This is to keep from sending a new client to an already loaded access point or do send more clients to a light traffic access point if a client is using a lot of bandwidth.
Unfortunately, bouncing clients around from channel to channel will cause a loss of connectivity momentarily, so you cannot balance a loaded access point out if another one has lost all of its clients, without interrupting any communications that might be ongoing.
Of course this is mildly different if it is possible to pack all of this into one chassis. There might also be some issues with the frequencies being too close together, but I think that can be worked around as well.