-
Notifications
You must be signed in to change notification settings - Fork 6
What is AirKey
AirKey is a system designed to centrally configure, manage, and monitor a set of wireless access points on a network. This system will simplify a number of repetitive tasks associated with configuring and maintaining access points, which will eliminate the legwork of having to visit the location of each of the network’s access points to manually complete these tasks. A central server will exist that all access points will communicate with in order to acquire their configuration once they are online. A program will reside on every access point that activates this process. The central server will also contain a data cache for each access point’s status, history, and usage statistics.
Some of the features this system will include:
Centralized configuration. The system will have the ability to remotely configure a group of access points with a default or similar configuration such that all the access nodes in that group will have identical access and error reporting. The system must also allow for remote modification or configuration of a single access point.
Centralized management. The system will have a central management suite that can query a specific access point in order to determine its status. Additionally, the central management suite will allow multiple access points to be managed as a group. The system will also provide the administrator with a precise mapping of the wireless network and allow the administrator to remotely create, modify, or remove access points (independently, or as groups). This will include a database driven authorization system for each node, so that only authorized nodes will be able download configuration files. The database will be used to track what group each access point belongs to as well as what set of configuration files should be applied to that group.
Error reporting. The central management suite will allow for basic error reporting throughout the wireless networks. This will be accomplished through data mining from the reports which each access point will submit at a scheduled time. The central management suite will notify the administrator—probably through e-mail—of major network issues, such as an access point failing to report on time, high CPU usage, or high network utilization. The raw data will be inserted into the database from the devices, and queries will be executed to determine when and what alerts should be sent. This feature will also allow you to view historical data from the database. This system can be considered similar to Nagios, only rather than the central server polling each node, the nodes push the usage data into the database and the controller then analyzes it to see if alerts need to be generated. This data will also be used to display an overview of the network at large and help pinpoint weak spots before they cause trouble.
File storage. This is the heart of the system. All the access point configuration takes place via text based configuration files. The storage portion of the system will contain information pertaining to each access point’s configuration. This will be set up in a modular approach. Each logical block of configuration files will be contained inside a module. For instance, the network modules might contain configuration files for the server name, IP configuration, and VLAN configuration.
Modular system. The system will be designed to be modular. Each module will contain database entries that describe what individual files and commands it controls. A database will be used to track what files belong to what module and what module(s) is being used on each node. This database will also be in charge of tracking if the module has already been applied, or if there are pending commands that still need to be applied to the nodes. The modular approach will allow for individual modules to be inserted and removed from the database. This will also allow for future expansion as needed.
This system was designed with a few goals in mind. First, is the ability to have human readable and manageable configuration files. To that end, a typical file system makes the most sense for storage rather than a database driven method. The other design goal is security. This is where a database becomes extremely important. One of the main goals of the database will be to provide authentication, authorization, and accounting—not only for each node, but also for the those who have access to manage the system. The last design goal is reliability. In the event that the controller goes down, the access points will continue operating as if nothing went wrong.