A MAC address is (generally) a unique identifier for an access point (AP). They are broadcasted by the AP to help identify it out in the wild, and therefore, can be used to accurately position all types of devices. However, not all Wi-Fi APs provide the unambiguous data that we need to accurately locate devices.
Mobile (Phone, Car, Train, Plane)
Skyhook's positioning system relies largely on Wi-Fi access points that it does not own or control, and that can — and do — move around. Most of the data Skyhook receives is incredibly noisy (Wi-Fi signals often don't behave as expected, once put in to use). APs have become very mobile; cars, trains and airplanes all have routers to provide connectivity for users. In addition, when residences or businesses relocate, they often bring their routers with them.
This poses a challenge when trying to use routers to ascertain location. How can you determine if the AP you see is stationary? Can an AP still be used to determine location? Skyhook takes a disciplined approach to these types of cases, identifying all APs that move, using data intelligently to augment its wifi positioning system. While these APs don’t provide data that can definitively determine a location, they do provide other vital information that can be used in a variety of ways.
Wide Expanse (Area)
Some APs, while static, can be seen over a much wider range than typical. For instance, APs in tall buildings can often be seen 100s of meters away. Since signal strength is our main source of distance qualification, an AP acting differently than nominal decreases accuracy. Therefore, it is imperative that these APs are identified and treated differently than normal behaving APs.
MAC Address Collapsing
With major advances in technology, many APs include multiple MAC addresses (for different frequencies and radio signals). While this is not an issue in-and-of-itself, it can make a Wi-Fi scan appear to have much more data than it actually contains. All the MAC addresses point to one location, and do not help in positioning a device via triangulation. Improper handling of this scenario can cause heavy weighting towards one AP, while discounting other APs seen in the scan.
To overcome the challenge, Skyhook employs a process called MAC address collapsing. This process is used to filter out MAC addresses that are associated with only one router. Often routers have multiple MAC addresses associated with each of its antennas. These MAC addresses are generally one ‘nibble’ different from the another, for example: 1A:2B:3C:4D:5E vs 1A:2B:3C:4D:5F. To avoid the effects of over-weighting one router, Skyhook eliminates all MAC addresses that are one 'nibble' apart, keeping only one address to serve as the identifier for the AP. Other MAC addresses that are more than one nibble apart will remain.
Locally Administered MAC Addresses
MAC addresses can either be universally administered addresses or locally administered addresses. A universally administered address is uniquely assigned to a device by its manufacturer. The first three octets (in transmission order) identify the organization that issued the identifier and are known as the Organizationally Unique Identifier (OUI). The following three (MAC-48 and EUI-48) or five (EUI-64) octets are assigned by an organization in nearly any manner they please, subject to the constraint of uniqueness.
The IEEE has a target lifetime of 100 years for applications using MAC-48 space, but encourages adoption of EUI-64s instead. A locally administered address is assigned to a device by a network administrator, overriding the burned-in address. Locally administered addresses do not contain OUIs. Any MAC address that has the values 2, 3, 6, 7, A, B, E, or F as the second most significant nibble are locally administered.
Locally administered MAC addresses do not provide unambiguous data for location, since they can be seen in multiple locations at the same time. This does not mean they are useless for positioning - they can be used along with other data to help augment our location algorithms. Skyhook is continually working on future algorithms to further enhance the treatment of these access points.
Occasionally, data can point to 2 different locations. Cell data can point to one latitude and longitude coordinate pair, while Wi-Fi data can point to another location. In some instances, Wi-Fi data alone can point to two distinct locations. Determining the “correct” location in these instances can be extremely complicated. Sometimes location can be resolved based on confidence intervals of the MAC addresses in the area, however, this method does not always resolve to precise location. In addtion, mobile country code (MCC) data can help pinpoint to a specific region or country, minimizing larger errors.
Skyhook’s network is intelligent, self-healing and self-learning, keeping bad location data from infecting its system by quarantining it. Location readings are never taken at face value, every inaccuracy, outlier, and anomaly questioned in an effort to deliver the most reliable and real-time location service.
Skyhook isolates and quarantines APs that:
- Display any of the anomalies described above, and are deemed to provide unreliable information
- APs like Mi-Fi hotspots which move frequently
- APs that cover large areas like college campuses which often hinder the ability to precisely position devices
- Non-unique MAC addresses
- Inaccurate OUIs
These APs which are unhelpful in positioning devices are isolated and removed from the data set, allowing Skyhook to provide the most accurate and precise location services.
In addition, Skyhook addresses questions about issues like mobile APs and “what happens when somebody takes their Wi-Fi access point and moves?” To account for this issue, Skyhook has developed a number of methods, algorithms, and heuristics for dealing with ‘moved’, ‘misbehaving’ or ‘pathological’ signals. In particular, Skyhook is able to discover when APs move based on spatiotemporal clustering of observations. Location data is recomputed as new observations come in, and APs are repositioned if new trustworthy clusters are seen. Similarly, Skyhook has developed methods to find pathological signals. A ‘Pathological’ signal is one that is not trustworthy for use in computing a location. Some of the categories of pathological Wi-Fi APs include:
Big Coverage APs
In today’s world, mobile Wi-Fi APs are the most prolific in the ‘pathological’ categorization. This encompasses APs such as automotive, airplane, bus, train, and more. It also includes APs such as MiFi devices and smartphones being used as Wi-Fi access points.
The Bottom Line
With the mass adoption of Wi-Fi, the sheer number of active APs is staggering. Skyhook currently has located over 2 billion APs. All of which provide valuable information about the environment surrounding a device, however, it is imperative that APs’ behaviors are qualified and analyzed properly so that the information they provide is beneficial.