Bob's Adventures in Wireless and Video Headline Animator

Wednesday, December 26, 2012

Intelligent Wireless Routing


1. capacity for learning, reasoning, understanding, and similar forms of mental activity; aptitude in grasping truths, relationships, facts, meanings, etc.
2. manifestation of a high mental capacity: He writes with intelligence and wit.
3. the faculty of understanding.
4. knowledge of an event, circumstance, etc., received or imparted; news; information.
5. the gathering or distribution of information, especially secret information. 
"Look Dave, I can see you're really upset about this.
I honestly think you ought to sit down calmly,
take a stress pill, and think things over." - HAL 9000
Most wireless routers are not intelligent. Most make no effort to draw correlations between data drawn from their environment such as noise floor, signal strength, geographic location, nearby other wireless devices, interference, channel congestion and other like variables.
In the world of wireless networking there are lots and lots of variables. But most routers are pretty static. You, the user, scan the area during installation time, make a note of what the conditions are at that moment and set your routers' configuration variables to best perform at that point in time.  If something changes, then you make changes in the configuration to adapt to the new environment. It is not a question of if there will be changes, it is a question of when they will occur and if they will disrupt your network.

Security networks need to be always on. They need to be high availability, otherwise what good are they? If your security network easily goes down due to interference, congestion, or other changes in the environment, then your video and access control cannot go through. 

An intelligent router can make your life a lot easier. It takes more work up front to configure it, but if done correctly, you may never need to service that router again.

A Practical Definition

Wireless Intelligent Router
Intelligence for a router means being able to gather data and react to that data in a dynamic way. The main goal is to keep your network functioning at optimal performance.
The first thing you need is sensors or sampling data from your radio interfaces, GPS location, voltage levels, current levels, number of connected clients or peers, CPU utilization, memory utilization and much more. The availability of data is the first step towards intelligence.

Data that you need to be able to read and analyze may include:

  • Noise - you need to be able to determine if the channel has some type of interference. Did a toaster oven turn on? Did a far away access point some into range? Did a ship just arrive with radar? Did someone take a cordless phone call? Did the welder just come to work to start his shift? If your router can sample the noise floor regularly,
  • Location - With GPS you can tell where you are and share a common clock time with all of your peers. This is particularly important with mobile routers. With GPS you can tell if you are at your office, at the police station, near a Starbucks or the library, or out in the boondocks. If you know your location, you can change your configuration. At the police station you are in client mode so you can download data to the station network. When you pull away, maybe you go into AP mode and enable your cellular data modem so that you can use your router as a "MiFi" type of device. Then when you get near a Starbucks you go back to client mode so you can use their WiFi in order to reduce data charges. With common time you can cross reference logs, triangulate events, and diagnose problems much better. 
  • Peers - If your router is gathering information on what other devices are in the area, like mesh nodes, APs, or clients you can change the function of your router. If your router sees the SSID for "PoliceStation" then it may go into client mode. If it sees "car2930" then it can go into mesh mode, and if it sees a client named "pda123" or the mac address of some other known client device it could go into AP mode. You can also use device detection for intrusion alarming. If you see a device that you don't expect you can shut it off and report it.
  • Loading - By tracking CPU load, memory, associated clients, packet traffic, bit errors and other like data you can move traffic off your router before it crashes. You can start forcing disconnections of clients so that they have to reconnect to a different unit, you can apply bandwidth limits, you can deny different types of traffic (video, P2P and more).

These are just a few examples of the type of data you can monitor and actions you might want to take.


Scheduled Script
In order to react to data, you need a programmable mechanism. In our routers we use scripts and schedulers. A script can easily be written by non-programmer types of people. It is a simple Boolean system of checks "if this, then do that". A script can look at any source of data and then react if the data is out of range. A scheduler runs the script at a specified time. You can also have scripts running in the background that look for specific events. 
For instance if I have a system that is set for 5GHz (802.11a band) and my script runs from the scheduler every 10 minutes to check the bit errors, noise floor and signal levels. I set a threshold that says "if the signal to noise ratio falls below 20dB, then I want to change to a different channel." And the script moves me within the 5GHz band. Then I find that all channels in 5GHz are poor, I can tell the script to move me to 2.4GHz or 4.9GHz, or 900MHz or some other licensed band that I am allowed to use.
You can go even further and send messages between your routers based on events, sharing data for load balancing, performance, maintenance and more. Combining scripting with email, SMS, HTTP or TCP messaging can be a very powerful combination. You can make your network fully self configuring and self healing, based on the variables you want. Not what the router manufacturer has pre-programmed for you.

Scripting and scheduling are very powerful tools that move your router from being a simple dumb device which you have to visit in order to change and maintain it's configuration, into it being a self-configuring, self-managing system which reacts intelligently to external stimulation and changes to the environment.

HauteSpot provides pre-written sample scripts for a variety of tasks. We can also help you develop custom scripts on a paid consulting basis. Just email for more information.

No comments:

Post a Comment