Via triangulation of the distance to three or more of the access points on your floor or in your building.
Let's say that you have finished the schematic representation of your office floor, with rooms, workplaces, access points and snapshots, all with accurate distances.
Someone enters a room with his or her wireless, roaming laptop. Sits down behind a workplace, opens his or her laptop, and logs on.
Here is the chain of events that occur when someone boots or wakes up his or her laptop:
1. The laptop checks whether or not it is connected wirelessly. 2. If it is, it starts to take a snapshot of the access points in its vicinity, including signal strenghts. 3. It send this snapshot, together with logon data, to its appointed server. 4. The server logs this information, and adds it to its live cache.
Okay, so now the logon data is present on the server. And now you want to know if the someone mentioned above has logged on and is present in the building, and if so, where he or she is.
So you fire up the console, and via 'Mapping \Locate User' you enter the name of the user and press 'Find'.
Here's what happens next:
1. Your console application downloads the live cache information from the server. 2. Your console application also downloads the latest map information from the server. This map contains all room, workplace, access point and snapshot information. 3. Your console application tries to find the user on the map by way of triangulation. If it finds the user, it presents the floor where the user is located and his or her location will be colored red.