Microsoft LOCADIO User Guide March 2008 Table of Contents Introduction ........................................................................................................................ 1 LOCADIO History ............................................................................................................. 1 LOCADIO Algorithm Overview ........................................................................................ 2 Solution Overview ........................................................................................................... 2 Possible Use Cases .......................................................................................................... 4 Site Plan Calibration and Model Construction.................................................................... 5 Visio-Based GUI ............................................................................................................... 5 Calibration Tab ................................................................................................................ 8 Path Constraints Tab ..................................................................................................... 12 Testing and Tuning the Probability Model.................................................................... 14 Device Speeds ................................................................................................................... 19 Setting Run-Time Parameters ........................................................................................... 20 Compiling the Model ........................................................................................................ 21 Server Web Service ........................................................................................................... 22 Installation .................................................................................................................... 22 Deploying a Compiled Probability Model ..................................................................... 22 Device Calibration ............................................................................................................. 23 Interface and Communication with Server Web Service .............................................. 23 Signal Strength Matching for Additional Devices ......................................................... 24 Viewing Device Locations ................................................................................................. 25 Summary ........................................................................................................................... 27 Glossary ............................................................................................................................. 28 Introduction LOCADIO technology pairs readings of IEEE 802.11x received signal-strength indication (RSSI) with probabilistic analysis of building floor plans to deduce where a given wireless-enabled device is in a building. Such deduction can locate a wireless device to within a room (or a specific portion of a larger room or hallway) up to an accuracy of 1.5 meters, opening new opportunities for licensees in security, user interface, asset tracking, and data delivery. LOCADIO is a technology, rather than a new Microsoft product. It provides a software foundation that licensees can extend and refine to meet specific needs. In addition to the UI explained in this document, LOCADIO licensees receive the LOCADIO source code, examples using the source code, specific API documentation, underlying intellectual property rights, and access to the many patents Microsoft has filed related to Wi-Fi location technology. LOCADIO History Microsoft Research developed some of the original algorithms for location detection using existing 802.11 wireless access points and has continued to build upon that initial work. Because of this ongoing effort, Microsoft Research has developed a significant percentage of the state-of-the-art technology in this field. Over the past decade, Microsoft Research has focused on location detection in indoor environments where technologies like GPS cannot work. RADAR, an early project in this area, introduced the method of locating a client device by measuring the signal strength at multiple wireless Access Points (APs), against a database of previously collected signal strength information from multiple locations and orientations. Analysis showed that this approach produced significantly more precise results than the strongest base station selection approach, which identifies the location of the client device as the location of the base station with the strongest measured signal. The RADAR technology identified the location of a client device within 3 meters, using 40 pre-measured comparison points in a 1,000-square-meter building with more than 50 enclosed rooms. Improving on this initial work, researchers at Microsoft Research developed probabilistic models to take into account uncertainties caused by uncontrollable signal variations in the environment and wireless hardware. Other improvements to the algorithm include: Taking into account the probability of seeing a particular access point from a given location, along with signal strength. Interpolation techniques for creating calibration data, which decreases the amount of up-front calibration that the system needs. Microsoft LOCADIO User Guide 1 The ability to determine if the client device is in motion, and to take into account signal fluctuations caused by motion. The use of context, such as the layout of the building and expected movement speed. With these advancements, the location detection algorithms can identify the location of a client device within 1.5 meters with approximately half the calibration effort of the initial work. LOCADIO Algorithm Overview The novelty of the LOCADIO solution lies in using the measurements of Wi-Fi signal strength from a wireless device and matching those readings against the possible paths that the device could take while moving. Monitoring the RSSI between a wireless device and a Wi-Fi access point alone provides, at best, an ambiguous location for the wireless device. LOCADIO improves on the locational information gleaned from a wireless device’s RSSI reading against access points by constraining the paths that LOCADIO assumes the device in motion can take. LOCADIO is most useful in locating wireless devices within a building— buildings provide constrained paths that people can take while carrying wireless devices or assets as they are being moved and represent discrete locations where the devices can wind up. By limiting its estimation of a device’s location to these paths and strictly bounding the speed that it can presume the device can move, LOCADIO can deduce where a wireless device is within 1.5 meters with a high degree of accuracy, depending on conditions. Solution Overview Requirements The default GUI for LOCADIO uses the Microsoft® Office Visio® 2007 control; thus Visio is required. LOCADIO GUI application must also run on a wireless-enabled device. Introduction to Configuration Dialog Box The principal component of the LOCADIO UI is the Configuration dialog box. The Configuration dialog box is the central control for setting up LOCADIO; the seven tabs in the dialog box correlate to the cardinal aspects of preparing LOCADIO for use: Buildtime—Controls on this tab determine not only how LOCADIO samples a wireless device’s signal strength to build a histogram of RSSI readings, but also how LOCADIO interpolates the sampled RSSI readings against the constrained paths that a wireless device may follow. Runtime—Dictates how LOCADIO deals with incoming client device data when it is in run mode. Microsoft LOCADIO User Guide 2 Site Calibration—Entries on this tab control how LOCADIO collects RSSI readings and fills in the Minor Path Points on the constrained path laid out by the user. Device Speeds—The table on this tab defines probabilities of device speeds. (Note that a default histogram of observed human walking speeds is already entered into LOCADIO.) Device Calibration—Entries on this tab determine how a new wireless device is synchronized with a given run-time LOCADIO model. Encryption—Encryption for the Active Directory® domain user name and password information is stored in the Web configuration files used with the LOCADIO server Web service. Wi-Fi Settings—These settings are used to set and test wireless-card read rates and communications with the LOCADIO server Web service. You can access the Configuration dialog box by selecting Configuration from the Tools menu. Site Plan Calibration Each site plan where LOCADIO is used initially is calibrated against a particular wireless device. This process gathers a collection of RSSI readings for this wireless device at various locations, later extrapolating the likely location of the wireless device along a constrained path by comparing its wireless signal-strength readings at run time. Device Calibration Because LOCADIO is initially calibrated against a particular wireless device, it does not produce accurate positioning for other wireless devices until readings from those devices are normalized against the initial RSSI readings. Note: It is possible to gather RSSI signal strength directly from the Wi-Fi access points and eliminate this step; Microsoft is currently researching this option. Current Restrictions Some of the limitations of LOCADIO stem from the challenges inherent in measuring RSSI. First, wireless signal-strength readings can be “noisy” and such informational noise can limit accuracy. Second, different wireless devices measure RSSI in different ways. This means that LOCADIO must be calibrated for each model of wireless device that you wish to locate. For more information, see the Device Calibration section of this document. Finally, changes to the arrangement of walls, fixtures, and furniture in buildings alter the distortion of wireless signals that LOCADIO is calibrated to and can decrease the accuracy of estimates of a device’s location. LOCADIO does not specifically plot wireless device location in three dimensions. Thus, in constructing solutions with LOCADIO technology, you have to treat each floor of a multistory building as a separate site plan or as separate parts of a site plan with many floors’ plans on it. Microsoft LOCADIO User Guide 3 Architectural fixtures that distort and reflect wireless signals may help increase the accuracy of LOCADIO. Conversely, open spaces make LOCADIO less accurate. Hence LOCADIO is best suited to fixing the location of a wireless device at sites with narrow halls and small rooms, such as a typical office building and, to a certain extent, some shopping centers. LOCADIO does not do as well in a warehouse type environment, where not only are distances between obstacles greater, but also stacked pallets can create obstructions, or “walls,” that change constantly as goods are moved in and out. In those cases, accuracy won’t be optimal, but LOCADIO can still support most scenarios that don’t require measurements within 1.5 meters. Because of the differences between wireless network interface cards, LOCADIO must be calibrated for each wireless card used with it for optimal accuracy. (However, it may be possible to apply a calibration to sufficiently similar wireless devices without recalibrating LOCADIO. For more information, see the Device Calibration section.) Possible Use Cases The mobility afforded by widespread wireless networking can make knowing the location of wireless devices important. Tracking solutions such as radio-frequency identification (RFID) and other near-field radio transponders can do an admirable job, but the dedicated infrastructure they require generally make them practical only for a large number of items (containers in a warehouse, for example). In contrast, LOCADIO uses only a location’s existing Wi-Fi infrastructure, without the need to add more Access Points (APs), to provide an approximation of a wireless device’s position. Hospitals are a representative use-case scenario. Hospitals contain myriad pieces of equipment and supplies, but the location of only a small fraction of these things is generally important: doctors, patients, and expensive pieces of mobile equipment. In a hospital setting, LOCADIO could easily let a nursing station know where to find a particular doctor, inform a doctor that a patient had been moved to a particular radiology room, or help administrators track a mobile defibrillator in real time. The same can be said of large office complexes. In addition, LOCADIO can be used on a person’s own device, like a laptop, PDA, or smart-phone, to track one’s location while finding the path to a certain room or access to a certain resource (for example, a printer), similar to navigation systems for outdoor scenarios. Another use case of LOCADIO is museums. Museums could use LOCADIO with wireless MP3 players to supply visitors with audio content that is specific to a particular room or portion of a gallery. Finally, shopping malls could take advantage of LOCADIO by adding services that can send location aware promotions or alerts to passers-by. Microsoft LOCADIO User Guide 4 Site Plan Calibration and Model Construction LOCADIO is based on models: site plans/constrained walking paths calibrated against a specific wireless device. When creating a new model, you must both create a schematic of pathways along which LOCADIO can position a given wireless device and calibrate the model for the wireless device you want to locate via RSSI readings. This section covers the site plan portion of model creation; for wireless device calibration, see the Device Calibration section. Visio-Based GUI The Microsoft Office Visio 2007 control is embedded in the core LOCADIO GUI. This lets LOCADIO use the layering functionality built into Visio. The LOCADIO UI has the following layers: Image—Handles the graphical representation of the site plan for the LOCADIO model. Calibration Nodes—Contains the calibration RSSI values for the model. Path Constraints—Constructs the path that constrains where LOCADIO can locate the wireless device during run time. Run—Builds and executes your model. Webservice—Provides communication with the server to associate wireless devices with appropriate models (utilizes the Run layer). Figure 1 Tabs in LOCADIO GUI Note that these tabs in the LOCADIO GUI are layers in Visio; selecting a given tab activates that layer in Visio. Opening a model in Visio (as opposed to LOCADIO) provides a means of manually editing the layers. (This is done by selecting Layer Properties from the View menu in Visio, as shown in Figure 2.) Microsoft LOCADIO User Guide 5 Figure 2 Visio Layer Property dialog box IMPORTANT: Manually editing the Visio file—particularly the layers—can break the LOCADIO UI. Specifically, renaming layers can affect all of the layer settings upon which the LOCADIO GUI depends. Creating a New Model Inserting a graphical site plan into LOCADIO is for your convenience in calibrating and using LOCADIO—strictly speaking, LOCADIO does not need a site plan to function. However, such a plan gives you a familiar way to designate and find points at which to calibrate LOCADIO, in addition to meaningfully interpreting output from LOCADIO during run time. There are two ways to add/import a site plan into LOCADIO: Scanning and importing—This option can often be the most convenient way to input a site plan, particularly for a large or a complex site. All commercial structures have building plans on record with local governments (and often with the building superintendents as well). Once scanned, other GUI layers in LOCADIO (such as the path constraints and calibration points) can be laid over the graphic of the site plan (Figure 3). Note: Ensure the image has been sent to the back of your drawing by rightclicking on the image and selecting Shape, and then clicking Send to Back. Drawing in Visio and importing—This method of producing a site plan is useful when the site plan is small or relatively simple (such as a portion of a floor of an office building with cubicles in them) or where the floor plan may not be readily available (the temporary walls and structures of a museum exhibit, for example). Again, this graphical representation of the site plan becomes a layer in Visio in which other LOCADIO information is overlaid. Ensure that all floor plans drawn in Visio are placed on the FloorPlan layer. Microsoft LOCADIO User Guide 6 Figure 3 LOCADIO site plan Save the plan in LOCADIO by selecting Save As in the File menu. Type a name and a location for this solution (the equivalent term for site plans in Visio) as shown in Figure 4. Note: Each solution must exist in its own folder. Figure 4 Solution Information dialog box Image and Page Scaling Regardless of how you input your site plan, you must maintain the scale in Visio. LOCADIO relies on the measurements (ratio relative to meters) of the Visio drawing to determine speed probabilities. To do this, open the solution in Visio. From the File menu, select Page Setup. Adjust the settings on the Page Size, Drawing Scale, and Page Properties tabs as shown in Figure 5. For more information on scaling in Visio, consult the Visio documentation and help files. Microsoft LOCADIO User Guide 7 Figure 5 Page Size tab, Visio Page Setup dialog box It is critical that you match the scale of the site plan to that of the Visio solution. Being consistent with your scale is vital in two ways. First, if you manipulate your site plan in one dimension (for example, shrinking the horizontal axis to be easier to work with), you must manipulate the other dimension by the same proportion for LOCADIO to give you an accurate position during run time. Second, be sure to apply whatever scale your graphical site plan uses to the path constraint. This is necessary for LOCADIO to provide accurate readings in run time. Note: Scaling of your Visio drawing must be in meters currently. Calibration Tab On this tab, you calibrate the LOCADIO model at each Calibration point with the same wireless device. This process gathers Wi-Fi signal strength (RSSI) readings at each Calibration point to form a baseline against which the device’s RSSI readings can be compared at run time. You can filter your RSSI readings to specific service set identifiers (SSIDs). You may wish to do this for a number of reasons. Not filtering out the SSIDs belonging to other offices’ wireless networks could introduce wireless access points that are not in your control; for example, if an access point is moved or dies, it affects the original model’s accuracy. You can also filter on the Media Access Control (MAC) addresses of specific access points. Before taking calibration readings, you must finalize your Wi-Fi settings. The Wi-Fi Settings tab controls how the wireless device takes RSSI readings and how it communicates with the server, as shown in Figure 6. The default values on this tab are a good starting point that you can tune as needed. Microsoft LOCADIO User Guide 8 Figure 6 Wi-Fi Settings tab, Configuration dialog box The X and Y fields display the coordinates of the wireless device when testing the Web service. Selecting Skip Calibration causes LOCADIO to use the default RSSI values for Device Calibration, as opposed to gathering new readings. This functionality is intended for similar devices that are used to both configure the model and execute as a client device. When Enabled - Wi-Fi m/s is selected, LOCADIO can interface with the local computer’s wireless network card. The Enabled - Wi-Fi m/s field refers to the maximum number of milliseconds that LOCADIO waits for a scan-complete event from the operating system API to acquire the RSSI readings. The Min Wait % value represents a percentage of Enabled - Wi-Fi m/s that must have passed before the LOCADIO Wi-Fi reader posts its results. The value in the Issue Scan Every field puts a limit on the frequency that a low-level operating system API scan request is issued to a Wi-Fi card. Because of the nature of WiFi networks, you must yield network time to the operating system that lets other network operations to complete. It is recommended that when a client device is actively communicating with the LOCADIO server, you increase the Issue Scan Every value to a reasonable setting—the default values represent a good starting point for device calibration. The Enabled - Timer m/s field lets the example client application issue a timed event for interaction/testing with the LOCADIO Web service server. Clicking SSID Filter opens the SSID Allowed dialog box. Using the values on this list you can instruct LOCADIO to take readings from specific SSIDs, letting less network traffic through to the LOCADIO server. The LOCADIO server ignores access points that were not originally included in the compiled model file. Microsoft LOCADIO User Guide 9 Figure 7 SSID Allowed dialog box Note: Be sure to save your model often. You will not be prompted to save when you close the LOCADIO UI. To place a Calibration point on the site plan, click on the location on the site plan on the Calibration Nodes tab of LOCADIO (Figure 8). This will produce a corresponding entry in the Calibration Points tree on the left pane once this node has been calibrated. For each Calibration point, you can right-click its corresponding entry in the tree in the left pane; by selecting Toggle Client Location you are switching that point from being a designated calibration RSSI reading point to also being a point where Device Calibration RSSI readings are taken. You can also delete points from this context menu. Figure 8 LOCADIO configuration points Microsoft LOCADIO User Guide 10 You can determine the location of an arbitrary point on the site plan to bring up an information box to give you its Visio coordinates (Figure 9) by right-clicking on the site plan. Figure 9 Mouse Click location information box At each Calibration point, you need to click Start Calibration and periodically turn the wireless device’s orientation (at each beep) a small amount; eventually, you complete a revolution so that LOCADIO can take RSSI readings from a variety of angles from any given access point. You can optimize the settings for this process to meet your needs on the Solution Option tab of the Configuration dialog box: Orientation Intervals—Sets how many “small orientation turns” you take readings from at each access point. @ Seconds—Determines how long to hold the wireless device at each interval defined in Orientation Intervals, to take the RSSI readings. Total Seconds—The number of seconds that collecting the RSSI readings at each Calibration point takes (the product of the “Orientation Intervals” and the “@ Seconds”). Since this value is computed from two other parameters, it cannot be directly controlled by the user. Discrete Node Distance (meters)—The number of meters between the Minor Path Points distributed between Major Path Points. Microsoft LOCADIO User Guide 11 Figure 10 Site Calibration tab, Configuration dialog box After you have taken readings at the Calibration points, LOCADIO feeds these values into a radial basis function (RBF). This interpolates the RSSI data from the calibration points onto the Major and Minor Path Points; these are the values from which LOCADIO extrapolates the probability of “seeing” this wireless device at any given point on the constrained path. Path Constraints Tab This tab details the path constraints. Path constraints are the path along which LOCADIO extrapolates the position of a wireless device during run time. LOCADIO path constraints are composed of Major Path Points and Minor Path Points. Major Path Points are represented in the LOCADIO GUI as large blue dots. You place these points on your site plan by clicking the site plan at a desired starting location. Click a point not far from the starting point along a line that a person could walk (or that the wireless device you calibrated with could move if it were moved by another means at run time). These two points are connected by a blue line. Move beyond that second point and click again to extend the path. To delete points or connections, press SHIFT and click: this selects the path section connecting the point to its predecessor point; press DELETE to delete the connection between the two points. If and when no path connects a point you wish to delete to another point, press SHIFT, click the point in question, and then press DELETE. If you wish to manually connect points (either the ends of a loop or an orphan point) with a line, press and hold SHIFT, click the point connected to a path (or either point, in the case of a loop); click on the other point you wish to connect. This creates a green Microsoft LOCADIO User Guide 12 selection box enclosing the two points; right-click within the box and then select Connect Selected from the context menu that opens beside the box. Note: Select only two points when manually connecting points. Each Major Path Point must be connected via a path to at least one other Major Path Point; there can be no isolated Major Path Points. Notice that each Major Path Point that you place on the site plan produces an entry in the left pane of the GUI: these points are the backbone of the LOCADIO path constraint. Building a LOCADIO model without all Major Path Points connected produces an error at buildtime and prevents the model from compiling. Note: Save your model often while constructing your path. You will not be prompted to save when you close the LOCADIO UI. Minor Path Points are automatically generated by LOCADIO along the path that you constructed between Major Path Points. These provide additional points along the constrained path at which LOCADIO can locate a wireless device during run time. You create these Minor Path Points by clicking Distribute on the Walking Paths tab. Note that if you add, delete, or move a Major Path Point, you must redistribute your Minor Path Points again. You can delete Minor Path Points from the path by clicking Delete on the Walking Paths tab. This also clears out the graph of connected points that LOCADIO creates when it distributes Minor Path Points between the Major Path Points. Figure 11 LOCADIO path constraints with both Major and Minor Path Points Microsoft LOCADIO User Guide 13 Obviously, the more Major Path Points you build your path with, the more detailed and rich that path is (and the more realistically it may represent where wireless devices may be). However, placing Major Path Points is a balancing act: the LOCADIO algorithm constructs a graph connecting each path point to every other path point, meaning that the n-th Major Path Point that you add to the path adds n-1 more connections to the graph that LOCADIO runs against at run time. IMPORTANT: While it does not matter in what order you construct your path constraints and take calibration readings, you must calibrate and add Major and Minor Path Points before you construct your LOCADIO mode. Testing and Tuning the Probability Model As stated earlier, the power of LOCADIO is that it pairs RSSI data with a probabilistic model to infer where a wireless device is likely to be along a constrained path. LOCADIO spreads the calibration data gathered before buildtime to Major and Minor Path Points along the constrained path through a statistical formula called a radial basis function (RBF). The amount of smoothing that LOCADIO applies to the interpolation RSSI readings in the course of this process is called sigma. You supply the sigma values on the Buildtime tab of the Configuration dialog box (Figure 12). Figure 12 Buildtime tab, Configuration dialog box The fields for the sigma values are in the Walking Paths - RBF section: Sigma RSSI and Sigma Detection. These values are discussed in greater detail later in the paper. The Calibration - RSSI Histograms section contains the parameters for constructing the histogram of RSSI readings for each configuration point along your path constraint. Microsoft LOCADIO User Guide 14 Note: You should accept the default values for these settings and change them only as necessary. AP Bin Size—RSSI readings are always in whole numbers: the bins size refers to the number of consecutive readings to group together as defined by the range specified in the Min and Max settings. For example, an AP Bin Size setting of 4 with a Min set to -200 and Max set to 0 (defaults) would group together the sets: {(-200,-199,-198,-197), (-196,-195,-194,-193), (-192,-191,-190,-189)…}. Min—This is the lowest number used to determine RSSI readings. RSSI readings are always negative numbers, but the magnitude of these numbers varies from manufacturer to manufacturer of wireless network cards. You may need to change this value to optimize the performance of this LOCADIO model for your wireless card. Max—This is the complement to the minimal value of the RSSI readings possible for the wireless card. Alpha—This is the value that LOCADIO uses as a floor value in our histograms. Once all our values have been collected, the final probabilities are calculated then all values are adjusted by the Alpha. Thus any original frequency count of zero would now have a probability equal this floor. The Multiplier value in the Walking Paths - Distance Scale Factor is used only to compensate for incorrect (and inconsistent) scaling of the site plan. For example, you would use the Multiplier value if you have calibrated and set your path constraints onto your image, but then realize you did not scale your floor plan to meters. To select the best values to use for the RSSI sigma and detection sigma, click the Run tab of the LOCADIO UI and select RBF from the drop-down menu next to the Build button. Then click Build. Microsoft LOCADIO User Guide 15 Figure 13 LOCADIO Run tab When the Sigma Test Values dialog box opens, you can select the values to use for the RSSI sigma and detection sigma. The default values are a good starting point. When you are satisfied with the values for the three fields, click OK. Figure 14 Sigma Test dialog box Microsoft LOCADIO User Guide 16 This opens the View Sigma Values dialog box. Figure 15 Detection errors tab, ViewSigmaValues dialog box Because you want to minimize the number of errors, look for the smallest significant minimum that is not part of a downward trend and adjust the Sigma Detection value to the lowest value displayed. In this example, you would set the Sigma Detection value on the Buildtime tab to 800. Microsoft LOCADIO User Guide 17 Figure 16 RSSI errors, View Sigma Values dialog box This example of RSSI errors is harder to read. In this case, you would select 875: it is the lowest minimum that is not part of a downward trend. You would set Sigma RSSI on the Buildtime tab to 875. Microsoft LOCADIO User Guide 18 Device Speeds The Device Speeds tab of the Configuration dialog box lets you construct a custom distribution of the speeds that wireless devices can traverse the Path Constraint in your LOCADIO probability model. Figure 17 Device Speeds tab, Configuration dialog box The distribution of human walking speed (in meters/second) is hard-coded into LOCADIO. However, if-for example, you wanted to locate wireless cards on factory carts, you could create a custom histogram of the probable speed of such a cart at any given time. As with all other aspects of the LOCADIO algorithm, the more accurate you can be with this data, the more accurately LOCADIO can deduce the location of a desired wireless device in a given model. Microsoft LOCADIO User Guide 19 Setting Run-Time Parameters Once you have built your path constraints and taken your calibration readings along that path, you are ready to set your run-time settings and compile your model. The Runtime tab of the Configuration dialog box (Figure 18) lets you fine-tune aspects of LOCADIO in execution. The Depth and Winning Count values in the Client Device Voting Initialization section deal strictly with initializing the Hidden Markov Model (HMM), the statistical model at the heart of the LOCADIO algorithm. The Depth refers to how many polls the model takes and the Winning Count refers to how many readings have to agree on a position for it to be taken as valid by LOCADIO. The default value of both is 2. The Depth value in the Client Device - History (HMM) section refers to how much “history” (how many iterations of the algorithm) that LOCADIO stores for computational purposes from the HMM. A higher value can lead to greater accuracy, but at the cost of increased server memory consumption. The default value is 10. The Alpha RSSI and Alpha Detection values in the Server - Probability Floors section are the lower limits of the values that LOCADIO substitutes for “0” readings (both for signal strength and signal detection) during run time. These values must always be greater than 0, but they can be adjusted upwards to tune LOCADIO performance. Figure 18 Runtime tab, Configuration dialog box When you are finished defining the parameters on this tab, click OK on the Buildtime tab of the Configuration dialog box. Microsoft LOCADIO User Guide 20 Compiling the Model To compile the LOCADIO model, click Build on the Runtime tab. Note that Model is selected by default in the drop-down menu beside the Build button: this is the correct selection for model compilation. The Stopped button switches to read Executing when you click it and it places LOCADIO into an executing state against the last compiled model (Figure 19). Executing the model lets you test the accuracy of LOCADIO on the fly and without the need of a server installation. You can click it again to stop the execution. Figure 19 Compiling a LOCADIO model Microsoft LOCADIO User Guide 21 Server Web Service The LOCADIO server Web service arbitrates the many-to-many relationship between compiled probability models and wireless devices calibrated against various models. Installation Two installation packages are provided: Locadio.msi contains the binary installs of the GUI application. Locadio.Source.msi contains all the source code for the LOCADIO core algorithms, example GUI applications, and example server/Web service. Deploying a Compiled Probability Model LOCADIO server can handle multiple compiled models and client devices. The current Web service example implementation simply loads one default model at a time. You can specify the default model’s location in the Web configuration file by editing the section: <add key="DefaultModel" value="C:\Locadio.Solutions\Building100\Locadio.loc.ModelData.bin"/> Thus the configuration file is soft-coded with a default model_ID equals zero in the parameter to the call MSResearch.Locadio.Server.Location.ModelSelect(string (see SDK help file). Microsoft LOCADIO User Guide 22 Device Calibration Wireless devices and wireless network cards are made by a variety of manufacturers. Consequently, signal-strength readings between additional devices that you wish to locate in a given LOCADIO probability model may differ from the original wireless device that we used to construct the model. To accurately produce readings for additional wireless devices in a model, you must calibrate the device to the model. This enables LOCADIO to determine by how much a device differs from the original calibration. Interface and Communication with Server Web Service The interface for calibrating devices to an existing model is composed of the Device Calibration and Wi-Fi Settings tabs on the Configuration dialog box (Figure 20). To calibrate a new device against an existing model, it is necessary to take RSSI readings from Calibration points, much as you would with constructing a new model. However, you only need to take readings from the points selected with Toggle Client Location during the Calibration step. The Per Calibration Point field on the Device Calibration tab should have been set before you build the model; it determines how many signalstrength readings the device being calibrated takes at a given Client Location Calibration point. Figure 20 Site Device Calibration tab, Configuration dialog box You can use the Client Wi-Fi Location (Figure 21) test interface to fine-tune the Wi-Fi settings of a client device that you are associating with an existing model. It is exactly like the Wi-Fi Settings tab on the LOCADIO Configuration dialog box. However, whereas Microsoft LOCADIO User Guide 23 those settings are persisted in the LOCADIO model, these settings are specific to the client device and changes can be made after compilation of a given LOCADIO model. Figure 21 Locadio client interface For a description of the settings in this dialog box, see the Calibration Tab section of this user guide. Signal Strength Matching for Additional Devices The LOCADIO server performs RSSI signal strength equalization by collecting RSSI values from any new or different Wi-Fi devices. During the Calibration phase of building a model, specific nodes were flagged with Toggle Client Location. Therefore each new wireless device must visit these locations and collect RSSI values based on the Per Calibration Point setting to properly equalize the two devices. If the device used to calibrate and build the model is similar to the client device, it might be possible to avoid this step; to do so, select Skip Calibration on the Client Wi-Fi Location dialog box. For more detailed information, see API documentation and Client Wi-Fi Location from source code. Microsoft LOCADIO User Guide 24 Viewing Device Locations There are two ways to view the location of wireless devices associated with a model. To perform the first method of starting the run-time functionality of LOCADIO, click Execute on the Run tab of the LOCADIO UI. LOCADIO outputs the run-time log in the text box in the left pane; in the GUI, LOCADIO displays a dot to show its interpolation of the wireless device’s location at each Wi-Fi reading (as shown in Figure 22). Figure 22 LOCADIO Run tab Microsoft LOCADIO User Guide 25 You perform the second method on the Webservice tab of the LOCADIO UI (shown in Figure 23). This is how you test the server deployment. The Refresh Seconds setting determines how often to look up devices the server is currently tracking. The Not Tracking button changes to Tracking when clicked. Note that this starts the requests to the server for all devices specific to the current model you are viewing in the GUI. Figure 23 LOCADIO Web service tab Microsoft LOCADIO User Guide 26 Summary LOCADIO provides a foundation on which to create applications that can locate wireless devices with accuracy up to 1.5 meters with no additional hardware infrastructure beyond existing Wi-Fi access points. This user guide has shown you how to use the novel LOCADIO algorithm with the built-in GUI provided with this software. The functionality currently available with LOCADIO can be enough for many uses and it also provides an easy means of testing while you build out your own applications that take advantage of the technology. Microsoft LOCADIO User Guide 27 Glossary Compiled Model File A compiled model file represents the saved results of the accumulated probability calculations performed on the LOCADIO solution. See Model. Equalization Equalization in conjunctions with histograms represents a method of interpolation and extrapolation between dissimilar radio signal strengths. Extrapolating Extrapolating is the process of constructing new data points outside a discrete set of known points. GPS Global Positioning System (GPS) represents a satellite based location system. GUI Graphical User Interface (GUI) provides a visual means to interact with a computer system. Hidden Markov Model (HMM) A Hidden Markov Model is a form of probabilities that uses hidden state to assist in a Markov Process. Due to the scope of this topic the readers should investigate outside sources if they wish to understand this topic further. A search of the term on the Internet should provide sufficient technical information. Histogram A histogram is a statistical method for tracking frequency counts, the number of occurrences, a group of items or events occur in a given set. Interpolation The process of constructing new data points within the range of a discrete set of known data points. Media Access Control (MAC) addresses The MAC address is a unique serial number assigned to each network device which makes it possible for the delivery of network data across a local area network (LAN). Path constraints Represents a restriction on the physical direction a person or thing could travel. Examples are hallways in buildings and offices. Major Path Points Points that were created by the user clicking on the site plan with the left mouse button. Microsoft LOCADIO User Guide 28 Major Minor Path Points Points that were created automatically by the program when the user clicks on the distribute button. Probabilistic analysis Probabilistic Analysis is the process of using probably theory to understand and draw conclusions about potential events or understand the underlying mechanics of complex systems. Probability Probability is the likelihood that something is true or will happen. Probability Model A probability model represents the results of a probabilistic analysis and is used in LOCADIO to predict a device’s location in regards to that model. RADAR RADAR is a Microsoft technology which defines another technique for locations based services (LBS) using Wi-Fi signal strength. If you are interested in further information, search for “RADAR” and “Microsoft” on the Internet. Radial basis function (RBF) A radial basis function is used to provide interpolation of our original RSSI collected values. Radio-frequency identification (RFID) RFID represents a technology where small radio wave aware chips are applied to people, places, and things for the purpose of tracking and providing information. Received signal-strength indication (RSSI) RSSI represents a value that measures the intensity/strength of a radio signal received by a Wi-Fi device. Signal strength equalization Represents a function of interpolation between the original Wi-Fi device used to calibrate a model and the new devices wishing to register for locations based services with that model. Specific service set identifiers (SSIDs) SSID is a name used in a Wi-Fi network to associate multiple Wi-Fi access points to one common reference. The use of an SSID allows many Wi-Fi access points to appear as one large Wi-Fi network. UI UI defines a user interface typically associated with computing devices. Microsoft LOCADIO User Guide 29 Wi-Fi Wi-Fi represents a networking technology that utilizes radio signals for the physical transmission medium of network data packets. Wi-Fi access points Wi-Fi access points represent a hardware device that is used to create a radio wave based network. Wireless network interface cards A Wireless network interface card is a hardware devices used to attach to and communicate on a network using Wi-Fi technologies. Calibration LOCADIO calibration is the act of gathering Wi-Fi access points signal strengths from various locations in the target area such as a building. Models See Probability Model. Sigma Sigma is used to represent a value that is combined in our RBF function to generate interpolation values used in our Major and Minor path constraint points. Site plan The site plan represents the physical building or area that we wish to provide location based services using LOCADIO. This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, and Visio are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Microsoft LOCADIO User Guide 30