Indoor Wireless Location Determination using the Trapeze LA200 George Jude McGlinchey (B00362061) BSc. (Hons) Computer Science Supervisor: - Dr. Kevin Curran April 2009 1 Abstract The ability to track and check the location of people or equipment in real time has a number of application areas such as child safety, prisoner tracking and supply chain to name but a few. Wi-Fi location determination is a technology that has been developed in recent years, that utilises existing Wi-Fi equipment such as those installed in personal computers, personal data assistant’s (PDA) and mobile phones. The technology uses modulated Wi-Fi transmission signals to detect the presence of a device, which does not necessarily have to be connected to the network in question, just visible to it, the system is then able to determine the position of the device based on the signals received from the various Access Points (AP). Increasingly in the current economic climate, industry is looking at ways of reducing waste, improving quality without a lot of additional capital expenditure. To do this various improvement methodologies are used these include the ‘Lean Methodology’ which uses experts known as ‘Lean Practitioners’ to increase the product flow through a facility by removing waste and activities that do not add value to the final product. Another methodology that is complimentary to Lean is known as the ‘Six Sigma Methodology’ which uses experts known as “Black Belts” who use data and statistical analysis to reduce variation and eliminate defects. Typically these methodologies are combined and referred to as Lean Six Sigma. This research examines whether Wi-Fi Location determination can be used by industry to gather movement data useful to methodologies that improve work practices?” The report will record the stages of a project which investigates the feasibility of using Wi-Fi location determination to answer the question, then presents a comprehensive investigation into Wi-Fi location determination; its present uses and proposes a system that could be used by the author to gather movement data. The report then presents the system requirements, a design proposal and a prototype implementation. Finally the system is evaluated and a conclusion drawn on the work of the project. 2 Acknowledgements I would like to thank my project supervisor, Dr. Kevin Curran for highlighting the availability of the Trapeze LA200 equipment and the subsequent idea of utilising it in my work and in this project, his assistance and understanding of my situation that enabled me to complete the report. I would also give a special word of thanks to Eoghan Furey, a current PHD student who was a fellow part-time student, for his advice and guidance in the location awareness arena, not forgetting the other part time students namely Jason McDevitt, Gerald Galway and Francis Doherty for their help and encouragement over the last five years. I also wish to acknowledge Stelios Haji-Ioannou and Michael O’Leary for low cost airlines; these have enabled me to travel from my new home in Geneva to complete the last year of the course. I wish to thank my wife, family and friends for their support and prayers over the years. And finally you, who ever you are, for taking the time to read this report. 3 Declaration “I hereby declare that for a period of two years following the date, on which the dissertation is deposited in the Library of the University of Ulster, the dissertation shall remain confidential with access or copying prohibited. Following the expiry of this period, I permit the Librarian of the University of Ulster to allow the dissertation to be copied in whole or in part without reference to me on the understanding that such authority applies to the provision of single copies made for study purposes or for inclusion within the stock of another library. This restriction does not apply to the copying or publication of the title and abstract of the dissertation. IT IS A CONDITION OF USE OF THIS DISSERTATION THAT ANYONE WHO CONSULTS IT MUST RECOGNISE THAT THE COPYRIGHT RESTS WITH THE AUTHOR AND THAT NO QUOTATION FROM THE DISSERTATION AND NO INFORMATION DERIVED FROM IT MAY BE PUBLISHED UNLESS THE SOURCE IS PROPERLY ACKNOWLEDGED.” George Jude McGlinchey 4 List of Acronyms AP Access Point API Application Programming Interface BBC British Broadcasting Corporation DGPS Differential Global Positioning System EPE Ekahau Positioning Engine ESS Ekahau Site Survey FM Frequency Modulation GNSS Global Navigation Satellite System GPS Global positioning system GSM Global System for Mobile Communications GUI Graphical User Interface HCI Human Computer Interaction IEEE Institute of Electrical and Electronics Engineers IR Infrared MAC Media Access Control PDA Personal Digital Assistant PPS Precise Positioning Service RADAR Radio Detection and Ranging RF Radio Frequency RFID Radio Frequency Identification RSSI Received Signal Strength Indication RTLS Real Time Location System SPS Standard Positioning Service TDOA Time Difference of Arrival VoWi-Fi Voice over Wi-Fi WLAN Wireless Local Area Network WPAN Wireless Personal Area Network WYSIWYG What You See Is What You Get XML Extensible Mark-up Language 5 Table of Contents Abstract .........................................................................................................................2 Acknowledgements .....................................................................................................3 Declaration ...................................................................................................................4 List of Acronyms ..........................................................................................................5 Table of Contents ........................................................................................................6 List of Figures ............................................................................................................10 List of Tables ..............................................................................................................12 1 Introduction...........................................................................................................13 1.1 Aims & Objectives .....................................................................................14 1.2 Thesis Overview ........................................................................................14 2 Location Determination Technologies .............................................................16 2.1 Radio Detection And Ranging - RADAR ...............................................16 2.2 Mobile Cellular Systems...........................................................................16 2.3 Optical Vision .............................................................................................17 2.4 Global Positioning System .......................................................................17 2.5 ZigBee .........................................................................................................18 2.6 Rosum .........................................................................................................19 2.7 Skyhook hybrid positioning system (XPS) ............................................20 2.8 Ultrasonic Location Determination .........................................................20 2.9 Infrared Location Determination .............................................................20 2.10 Bluetooth Location Determination ..........................................................21 2.11 Inertia tracking ...........................................................................................21 2.12 RFID Location Determination ..................................................................21 2.13 Wi-Fi ............................................................................................................22 2.14 Wi-Fi Fingerprinting...................................................................................23 2.15 Location Determination Applications .......................................................23 2.15.1 Mapoint ..................................................................................................23 2.15.2 Dodgeball...............................................................................................23 2.15.3 Friend finder ..........................................................................................24 2.16 Potential applications of Wi-Fi Location Determination.......................24 2.16.1 Prisoner Monitoring ..............................................................................24 6 2.16.2 Child Safety ...........................................................................................24 2.16.3 Indoor gaming .......................................................................................24 2.16.4 Supply Chain .........................................................................................24 2.16.5 Security ..................................................................................................25 2.16.6 Healthcare .............................................................................................25 2.16.7 Location Based Access ......................................................................25 3 Wi-Fi Location Determination Technologies ...................................................26 3.1 Microsoft Research Group RightSPOT..................................................27 3.2 Microsoft Research Group RADAR system ..........................................27 3.3 Trapeze LA200 ..........................................................................................27 3.4 Place Lab software ...................................................................................27 3.5 AeroScout Wi-Fi RFID ..............................................................................28 3.6 Ekahau RTLS.............................................................................................29 4 Trapeze LA200 Wi-Fi Location Determination ..............................................31 4.1 LA200 major components ...........................................................................32 4.1.1 The Trapeze Dashboard ..........................................................................32 4.1.2 The Trapeze Webpage Dashboard ........................................................34 4.2 Limitations of the Trapeze LA200 ...........................................................38 4.3 Advantages of the Trapeze LA200 .........................................................38 5 Lean Six Sigma - Work Study ...........................................................................39 5.1 Aeroscout and IMEC Technologies ..........................................................40 5.2 Ekahau and Polycom ..................................................................................40 5.3 Ekahau & Rautakesko .................................................................................40 5.4 Aeroscout and Mine Site Technologies ...................................................41 5.5 Product flow analysis ...................................................................................41 6 Requirements Specification and Analysis .......................................................44 6.1 Problem Specification ...............................................................................44 6.2 Objectives of System ................................................................................44 6.3 Design Methodology .................................................................................45 6.3.1 Waterfall Methodology .........................................................................45 6.3.2 Evolutionary development ..................................................................46 6.3.3 Design Methodology Selection ..........................................................46 6.4 Requirements Specification .....................................................................47 7 6.4.1 Functional Requirements ....................................................................47 6.4.1.1 User ..........................................................................................................47 6.4.1.2 System .....................................................................................................47 6.4.2 Non-Functional Requirements ...........................................................47 6.4.3 Hardware Requirements .....................................................................48 6.4.4 Software Requirements .......................................................................49 6.4.5 Development Languages ....................................................................49 6.5 7 User Interface ............................................................................................49 Design Phase .....................................................................................................50 7.1 Hardware Components ...........................................................................50 7.2 Software Components .............................................................................50 7.3 Design Considerations ............................................................................50 7.4 HCI Considerations ..................................................................................51 7.5 System Architecture .................................................................................51 7.6 Stages of the System ...............................................................................53 7.6.1 User Use Case Diagram ........................................................................53 7.6.2 User Use-Case Diagram Descriptions.................................................53 7.6.3 System Use Case Diagram .................................................................54 7.7 Class Diagram...............................................................................................55 8 9 7.8 Activity Diagram .........................................................................................55 7.9 Sequence Diagram ...................................................................................56 Implementation ..................................................................................................57 8.1 Equipment Connection .............................................................................57 8.2 Program GUI ..............................................................................................57 8.4 LA200 Database ........................................................................................62 Testing ..................................................................................................................63 9.1 Unit Testing ................................................................................................63 9.1.1 Splash Screen & Login ........................................................................63 9.1.1 LA200 System and network ................................................................64 9.1.2 GUI to API component ........................................................................64 9.1.3 API to the LA200 & LA200 Database component ...........................65 9.1.4 GUI to local replica database component ........................................65 9.1.5 Reporting and Graphing Component ................................................66 8 9.2 Integration Testing ....................................................................................66 9.3 Performance Testing ................................................................................67 10 Evaluation .............................................................................................................68 10.1 Database Component...............................................................................68 10.2 Graphics......................................................................................................69 10.3 Calibration ..................................................................................................69 10.4 Issues during development ......................................................................69 10.5 Future Work................................................................................................71 11 Conclusion ............................................................................................................73 References .................................................................................................................74 Appendix A – LA200 database schema ................................................................76 9 List of Figures Figure 1: How location is determined from satellites .......................................... 18 Figure 2: ZigBee Mesh Structure Network ............................................................ 19 Figure 3: Rosum System Architecture ................................................................... 19 Figure 4: Trolley Scan RFID-Radar System ......................................................... 22 Figure 5: Wireless base systems and their location range resolution ............. 26 Figure 6: Key components in the Place Lab architecture .................................. 28 Figure 7: AeroScout Active RFID tag ..................................................................... 29 Figure 8: Ekahau Tag ............................................................................................... 30 Figure 9: Trapeze LA200 Appliance ..................................................................... 31 Figure 10: Trapeze Dashboard for the LA200 ...................................................... 32 Figure 11: Trapeze LA200 Connection Details Form .......................................... 33 Figure 12: Trapeze Dashboard Device List Screen Appliance .......................... 33 Figure 13: Trapeze Dashboard Layout Locales ................................................... 34 Figure 14: Trapeze Dashboard fingerprint locations ........................................... 34 Figure 15: Trapeze Web Dashboard login screen ............................................... 35 Figure 16: Trapeze Web Dashboard Summary screen ...................................... 35 Figure 17: Trapeze Web Dashboard Device List screen .................................... 36 Figure 18: Trapeze Web Dashboard Monitor screen .......................................... 36 Figure 19: Trapeze Web Dashboard Monitor Screen ......................................... 37 Figure 20: Trapeze Web Dashboard Fingerprint screen .................................... 37 Figure 21 A heat map from the Ekahau / Rautakesko system ..................................... 41 Figure 22: Lean Six Sigma Point to Point Diagram .................................................... 42 Figure 23: Point to Point after improvements .............................................................. 43 Figure 24: Traditional Waterfall Methodology ...................................................... 45 Figure 25: Evolutionary Development Model ........................................................ 46 Figure 26: Trapeze System Concept ..................................................................... 52 Figure 27: Overview of the System ........................................................................ 52 Figure 28: User Use Case Diagram ...................................................................... 53 Figure 29: System Use Case Diagram .................................................................. 54 Figure 30: Class Diagram ........................................................................................ 55 Figure 31: Display report for selected user ........................................................... 55 10 Figure 32: High-Level Sequence Diagram for the system .................................. 56 Figure 33: Trapeze Web Dashboard Summary screen ................................................ 57 Figure 34: The application splash screen ..................................................................... 58 Figure 35: The login screen ......................................................................................... 58 Figure 36: The main GUI screen ................................................................................. 59 Figure 37: Connect LA200 online database................................................................. 60 Figure 38: Connect to local replica .............................................................................. 60 Figure 39: MAC address selection ........................................................................ 60 Figure 40: Graph of places visited ............................................................................... 61 Figure 41: Graph of routes taken ................................................................................. 61 Figure 42: Successful login confirmation .................................................................... 63 Figure 43: Unsuccessful login ..................................................................................... 63 Figure 44: LA200 API connection error ...................................................................... 64 Figure 45: Successful connection to LA200 database ................................................. 65 Figure 46: Successful connection to local replica........................................................ 65 Figure 47: Unsuccessful connection to local replica ................................................... 65 11 List of Tables Table 1: LA200 Tracking performance ................................................................. 32 Table 2: Trapeze LA200 Dashboard hardware requirements ............................ 50 Table 3: Summary of Main Screen Components Shown in Figure 36 ............. 59 Table 4: Integration Testing ..................................................................................... 66 Table 5: Evaluation against User Functional Requirements .............................. 68 Table 6: Evaluation against System Functional Requirements ......................... 68 12 1 Introduction With the development of GPS, high speed Wi-Fi and mobile computing there has been a growth in the areas of location determination and supplying an individual and others with current location information relevant to the individual or a piece of equipment current location. Location determination can also be used to track social patterns for example finding out who interacts with whom, how often and for how long. Location determination and the current and historical movement of people and equipment is a useful tool for example when looking to develop more efficient work practices by removing wasted time or movements. A current highly promoted example into equipment movements is being carried out by the British Broadcasting Corporation (BBC). They are carrying out an experiment on tracking the movement of a shipping container by attaching a Global Positioning System (GPS) receiver to a single shipping container and are following the containers movement around the world for a year.1 Wi-Fi indoor location determination is a process of estimating physical location of a Wi-Fi enabled tag or piece of equipment in relation to a set of reference access points (AP) within a building or other predefined area. This research will focus on the utilisation of the information available from a wireless local area network (WLAN) equipped with a Trapeze Networks LA200 location awareness module. Trapeze Networks quote a ninety five percent accuracy rate to less than three meters for their LA200 system for indoor Wi-Fi location determination which, when compared to other location determination technologies is quite good when you consider other technologies such as Global Positioning System (GPS) technology, which simply does not work indoors as it requires a direct line of sight to the satellites, and mobile phone positioning systems that have 1 http://news.bbc.co.uk/2/hi/in_depth/business/2008/the_box/default.stm 13 an accuracy of around one hundred meters, Radio Frequency Identification (RFID) can offer better accuracy as long as the item or person being tracked is very close to the sensor. 1.1 Aims & Objectives This project aims to investigate the capabilities and demonstrate the use of Wi-Fi technology to track the location of Wi-Fi enabled equipment or any item or person equipped with a special Wi-Fi tag in an indoor locale. The objective of the project is the design, development, implementation and subsequent review of a prototype system that will create a graphical user interface, (GUI), to provide analysis charts on the movements of people or equipment in an area from the present location and historical movement’s information provided by a Trapeze networks LA200 WLAN based system. 1.2 Thesis Overview Chapter two describes the various location determination technologies that are available. Chapter three describes in detail the Wi-Fi based location determination systems that are available. Chapter four specifically describes in detail the LA200 Wi-Fi location determination system supplied by Trapeze Networks, its components, software, hardware and the benefits and drawbacks it brings to this project. Chapter five discusses the relationship between the Lean methodology and Six Sigma Methodologies to this project and gives some examples. Chapter six describes the requirements needed to implement the proposed system namely the problem specification, system objectives, design methodology, the functional and non-functional requirements, the hardware and software requirements and the user interface. 14 Chapter seven describes the design phase of the project and in particular discusses the hardware and software components in detail, the design constraints, HCI guidelines and system architecture. Chapter eight describes the implementation of the system and the different components within the system. Chapter nine describes the testing methodologies and the testing phase of the project. Chapter ten is a critical evaluation of the project against the requirements laid out in chapter six and finally the opportunities for future work in this arena. Chapter eleven is the conclusion which gives a review of the project and information contained within this report. 15 2 Every Location Determination Technologies location determination technology has its advantages and disadvantages in a number of areas namely; if they are designed to operate inside or outside, how they determine their position internally or via a network connection, their cost, their susceptibility to interference and their location determination accuracy. 2.1 Radio Detection And Ranging - RADAR An early example of using radio waves to detect the location of an object was the detection of aircraft using radio detection and ranging, (RADAR).2 The acronym RADAR has since lost the capitalisation and become a word in the English language. A radar system operates by transmitting a radio wave and then listening for the echo of the wave reflected back from the surface of the distant object. The distance of the object is calculated on the time it takes for the echo to return, while the speed of the object is calculated by measuring the echo’s Doppler shift.3 2.2 Mobile Cellular Systems Mobile phone companies are offering to their customers a form of location determination using a customer’s mobile phone. They can calculate the location of the mobile phone by measuring the mobile phone signal strength and the signal travel time relative to the different towers with in a cell. LocateMobiles.com offers this service commercially, for example to parents wishing to find the current location of their teenage children. They state that the average accuracy of the location determination using this technology is around fifty meters4 albeit highly dependant on the number of towers with in 2 http://www.answers.com/topic/radar 3 http://science.howstuffworks.com/radar.htm 4 http://www.locatemobiles.com 16 the cell at the location and other factors such as interference from large buildings and the terrain. 2.3 Optical Vision Computer visual techniques can be used in location determination systems. A desktop augmented reality system using optical markers was reviewed by Kato et al (2000). It used the desktop area as they envisaged it as system for virtual face to face meetings that would be held around a table. The computer would then use the special markers to track the meeting attendees in a virtual manner. Alternatively the optical markers could be used to track movement and ultimately location in a motion capture system (Benford, 2005). 2.4 Global Positioning System (GPS) Global Positioning System (GPS) is an outdoor location determination system originally developed for military use by the United States Department of Defence. Today GPS has many uses albeit outdoor only activities such as route navigation, emergency location finding, surveying and mapping to name but a few. The GPS is a Global Navigation Satellite System (GNSS) that comprises of a network of twenty-four satellites and ground stations. Each satellite transmits a signal containing the time and its location back to the earth synchronised by its internal atomic clock. Using a minimum of three satellite signals a GPS receiver triangulates its position by calculating its distance from each of the satellites using the information contained in each satellite signal. This method of triangulation is referred to as trilateration.5 Prior to May 2000 the accuracy of GPS for civilian use was restricted by the United States Department of Defence to round one hundred meters known as Standard Positioning Service (SPS). In May 2000 President Clinton announced that the SPS would have the same capability as the military version which was accurate to ten meters or less. The military version was known as Precise Positioning Service (PPS). 5 http://electronics.howstuffworks.com/gps1.htm 17 To improve the accuracy even further the use of ground stations in conjunction with the satellites improves the accuracy to three meters or less this is known as the Differential Global Positioning System (DGPS). GPS does have some limitations namely receivers must be in ‘line of sight’ with the satellites which means they cannot work indoors or near tall buildings which block or reflect the signal, a phenomenon known as ‘urban canyon effect’. Figure 1 shows how a location is determined from satellites orbiting the earth. Figure 1: How location is determined from satellites 6 2.5 ZigBee ZigBee is a name given to the IEEE 802.15.4 standard. The term is derived from the erratic flight patterns that bees make while they are collecting pollen from flowers, and is similar to the numerous connections between all the devices in a totally wireless network. ZigBee is aligned to connectivity between small packet devices, its ‘bigger brother’ in the Wireless Personal Area Networks (WPAN) arena, Bluetooth, is aligned to the connectivity between large packet devices such laptops, cellular mobile phones and headsets.7 6 http://encarta.msn.com/encyclopedia_761579727_2/Global_Positioning_System.html 7 http://www.wisegeek.com/what-is-zigbee.htm 18 In a ZigBee mesh structure network, as shown in Figure 2, a mobile nodes location can be triangulated by using Received Signal Strength Indication, (RSSI), to an accuracy of five meters from three or more adjacent static nodes (Cambridge Consultants, 2006). Figure 2: ZigBee Mesh Structure Network 2.6 Rosum Rosum uses commercial digital, analogue and mobile television signals for location determination. Its advantage over other systems is that it is a hybrid system that combines the benefits of GPS with television transmitter signals to determine location. When the GPS component cannot determine the location accurately typically in an urban area or inside a building the location can be derived from television transmitter signals which can penetrate a building.8 Figure 3 shows the Rosum system architecture. Figure 3: Rosum System Architecture 9 8 http://www.rosum.com/rosum_technology.html 9 http--www.rosum.com-images-architecture.jpg 19 2.7 Skyhook hybrid positioning system (XPS) XPS is a hybrid location determination system for such as dual-mode equipped devices such as a mobile phone, laptop or PDA. The technology uses the location data from GPS, mobile cellular masts and nearby Wi-Fi access points to calculate the position of a mobile device. Based on the required accuracy of the location determination and in an effort to reduce power usage the system disables or enables input from the various information sources. GPS and mobile cellular system location determination are calculated using the methods discussed in earlier sections of this report. However the Wi-Fi method is section is more complex, to calculate the position using Wi-Fi a Skyhook database is utilised that contains millions of access point records from across Asia, Europe and North America. The records are collected by a fleet of vehicles that drive around the roads detecting the signal from access points. From an access point the Media Access Control (MAC) address is read, recorded and time stamped along with the vehicle’s location at the time of detection. This means that the actual physical location of an access point is not recorded but a signal fingerprint from the access point. Then later when required to calculate a location it is the fingerprint that is actually used not the actual access point location10. 2.8 Ultrasonic Location Determination Ultrasonic systems similar to the Lighthouse Museum tour guide system (Brown et al, 2003), use the time of flight of ultrasonic sound chirps to triangulate position. Typically this can be expensive; however a low cost version was developed by the University of Bristol (Randell and Muller, 2001). 2.9 Infrared Location Determination Infrared (IR) systems operate by either the user taking some action to highlight their presence to a sensor or as in the case of the IntelliMotion 10 http://www.skyhookwireless.com/howitworks/faq.php 20 system the light pulses worn by a user are detected by sensors and the location of the user is display on a computer11. With IR technology and due to the fact that light cannot pass through walls, a sensor would be required in every room, behind every blocking wall and in every corridor of a facility using this technology. 2.10 Bluetooth Location Determination A Bluetooth system like Tadly’s Topaz System 12 is made up of three major components namely the positioning server, the access points and the tags. The tags can be either special Topaz System Bluetooth tags or any Bluetooth equipped device such as a mobile phone. The system can provide with ninety five percent reliability an accuracy of around two meters. It can detect a Bluetooth tag by several methods namely, using RSSI to triangulate the location, putting an access point in every room and the nearest AP to the tag indicates its location. They also offer for a highly compartmented area the use of a hybrid Bluetooth-IR system. 2.11 Inertia tracking Inertia tracking can be used as a means of determining location. Accelerometers can be embedded into mobile devices and these can be used to calculate velocity. Digital compasses can be added to these devices in order to measure orientation, (Benford, 2005). 2.12 RFID Location Determination Radio Frequency Identification tags can be easily added into most everyday objects. Trolley Scan’s RFID-radar system is a an example of an indoor RFID based location determination system that has the accuracy capability of less than fifty centimetres in an area up to one hundred meters deep however this depends on the tags used and may be as little as ten meters. The system can 11 12 http://findarticles.com/p/articles/mi_m0EIN/is_/ai_18655803 http://www.tadlys.co.il/Pages/Product_content.asp 21 track up to fifty tags and locate their location within a few seconds. The system has three main components, the reader, the antenna array and the tags. The reader measures the distance of the signals from the tags, the antenna array for energising the tags and finally the tags themselves. Figure 4 shows these main components. The system works by measuring the distance the signal travels to two of the antenna arrays then calculating the angle from each. Movement can be detected by repeating this process continuously (rfid-radar.com, 2007). To improve accuracy ‘chokepoints’ may be used, these are additional readers and antenna that are installed at entry and exit points, they are used to detect when a tag enters or leaves a particular area. Antenna array Reader Tags Figure 4: Trolley Scan RFID-Radar System 2.13 Wi-Fi Wi-Fi is the generic name given to any of the 802.11 group of specifications for the wireless local area network (WLAN) interface developed by the Institute of Electrical and Electronic Engineers (IEEE). With the increasing number of hotspots, public access points, high speed internet access and the ability to easily set up a network without the need for any cabling has led to the take off in popularity of WLAN’s 22 2.14 Wi-Fi Fingerprinting A number of Wi-Fi location determination systems utilise a Wi-Fi fingerprint to determine location. A finger print is done by taking a Wi-Fi device to a specific point where it senses the signals from all the fixed access points that are in its detection range. From these signals a unique fingerprint for that location is generated from the measurements of all the detected access points. The actual location determination occurs at a later date when a Wi-Fi device is taken to a location and the system determines the probable location based on the fingerprints. The greater number of fingerprints taken will improve the accuracy of the location determination. 2.15 Location Determination Applications There are a number of location determination applications available however they fall into three general categories: 1. Applications for users who do not want to disclose their position to anyone else 2. Applications for users who display their position to a selected group 3. Applications for users who want disclose their position to everyone 2.15.1 Mapoint Mappoint.com is an example of an application for users who do not disclose their position to anyone else; it displays the user’s position on a map and nearby points of interest. 2.15.2 Dodgeball www.dodgeball.com is an example of an application for users who wish to display their position to a select group; it is used by mobile phone users and works by users telling www.dodgeball.com who their friends are, then when a user is out and about they sent a text message to Dodgeball with their location, Dodgeball then send a text message to all their friends and reports back if there are any of their friends in the vicinity. 23 2.15.3 Friend finder mMode’s Friend Finder is another example of this type of application was it was developed by AT&T. These types of applications are typically more popular in big cities. 2.16 Potential applications of Wi-Fi Location Determination The use of Wi-Fi location determination technology could be utilised in a number of applications namely: 2.16.1 Prisoner Monitoring For example a system using tamper-proof, Wi-Fi tags worn by prisoners. The system could be used to restrict prisoners to certain areas of the prison by notifying prison wardens if prisoners enter restricted areas. This will help to prevent escape attempts and allow prison guards to monitor prisoner whereabouts at all times. 2.16.2 Child Safety For example a Wi-Fi based system could be used by those with the responsibility of supervising children in a school, crèche or theme park environment. The child would wear an Ekahau tag. Some of the Ekahau tags have a call-button which a child could activate if they were distressed or in need of help. The system could be configured to notify the nearest teacher, carer or park staff about the issue with the child. 2.16.3 Indoor gaming For example a large scale version of Pac-man could be played with people quipped with tags playing the roles of Pac-man and the Ghosts. 2.16.4 Supply Chain For example Wi-Fi tags could be attached to product in a warehouse to enable stock or inventory level tracking. 24 2.16.5 Security For example, if valuable equipment is no longer detected in its normal area this action could activate an alarm for the security staff and then allow them to track and find it while it is still within the range of the WLAN. 2.16.6 Healthcare For example in a hospital environment patients could wear wristband tags that allow them to be tracked throughout the hospital. If a patient tries to leave without being discharged, nurses are alerted to the situation and are able to get them and return them to their ward. This would be particularly useful for patients suffering from dementia or Alzheimer’s disease. Additionally it could be advantageous if important staff may wear tags that would allow, particularly in an emergency situation their location to be quickly identified. 2.16.7 Location Based Access For example only providing Wi-Fi access to users who are within a certain building or area, therefore the system could prevent those who maybe engaged in war-driving activities. The Trapeze Smart-Pass® application used in conjunction with their LA200 Location Appliance provides Wi-Fi access and dynamic authorization based on the physical location of a user. 25 3 Wi-Fi Location Determination Technologies A number of different systems have previously used WLAN access points as beacons from which to estimate location. Numerous other indoor location systems have been developed that make use of the sensory technologies discussed earlier but the major drawback with these is that they all require the installation of specialised hardware in the environment to be maintained. The high costs of these technologies are also prohibitive making them unsuitable for personal or social applications that are to be used in people’s daily lives. They do however offer very high accuracy levels and are therefore used by many commercial organisations. Figure 5 depicts a rough outline of the current wireless-based location positioning systems and their accuracy resolutions. Figure 5: Wireless base systems and their location range resolution 13 13 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 37, NO. 6, NOVEMBER 2007 Page 1073 26 3.1 Microsoft Research Group RightSPOT Microsoft research group developed an algorithm, that they called RightSPOT, which used a ranking system of the available Frequency Modulation (FM) radio stations rather than their relative signal strengths to determine location. With eight radio stations they were able to get an accuracy rate of approximately eighty percent (Krumn et al, 2003). 3.2 Microsoft Research Group RADAR system Microsoft research group developed a system called RADAR, The system for was able to locate and track users inside a building with a resolution of between two and three meters. It uses two inputs to calculate the location namely RSSI from the access points and a simple signal propagation model. (Bahl et al, 2000) 3.3 Trapeze LA200 Trapeze Networks offer a Wi-Fi hardware based solution to location determination that allows wireless equipped devices visible to the WLAN to be tracked and located to room level. The LA200 system is installed in the University of Ulster Magee Campus and is discussed in more detail in chapter four of this report. 3.4 Place Lab software The Place Lab is an open source software toolkit, from Intel Research in Seattle, that can run on a number of varied devices such as mobile cellular phones, laptops, PDA’s and different operating systems such as Windows XP, Linux, Mac OS X, Pocket PC, Windows CE and Symbian S60. The “spotter” software component ‘listens’ for the unique identifiers from various radio beacons in its range such as Wi-Fi access points, mobile cellular phone towers, and fixed location Bluetooth devices. The ‘mapper’ software component then looks up each of the beacons position in the “landmarks database” and finally the ‘tracker’ software component takes the ‘mapper’ 27 output and estimates its own position and shows it on a locally cached map. Providing that the system can get signals from around five beacons then the accuracy for the system is around twenty meters. Figure 6 shows the main components, (LAMARCA et al., 2005). Figure 6: Key components in the Place Lab architecture 14 3.5 AeroScout Wi-Fi RFID The AeroScout System (www.aeroscout.com) uses a standard Wi-Fi network to monitor its own brand active RFID tags. Figure 7 shows an example of an AeroScout active RFID tag. The AeroScout system locates the position of the tags by using a RSSI algorithm however if a network is equipped with its own brand location receivers, location points and exciters then it allows for both indoor and outdoor capability using time difference of arrival (TDOA) functionality and also chokepoint detection as tags pass through doors or gateways. The system also provides its own frontend software to monitor tags know as MobileView. 15 14 http://www.placelab.org/publications/pubs/pervasive-placelab-2005-final.pdf 15 http://www.aeroscout.com/leadcapture/files/AeroScout+System+Data+Sheet_0.pdf 28 Figure 7: AeroScout Active RFID tag A trial in Yokohama City, Japan, in 2005 using an AeroScout system tracked school children and monitored their safety as they went to and from school. Each child was given an AeroScout active RFID tag to wear. The MobileView software was able to track each child based on the RSSI from the city’s Cisco WLAN AP’s. The active RFID tags could be read up to three hundred meters from the AP’s and the location determination had an accuracy of around ten meters. Each tag also has an additional feature of an a call-button that could be activated by the child if they needed help, on activating the tag an email showing the childs location on a map was sent to the child’s parents.16 3.6 Ekahau RTLS The Ekahau Real Time Location System is a software suite that uses an existing WLAN network without the need for additional special network hardware to determine the location of a Wi-Fi equipped device. The suite has three main of components namely the Ekahau Site Survey (ESS), the Ekahau Positioning Engine (EPE) and the Ekahau Application Programming Interface (API) that utilises the EPE system to create custom applications.17 16 http://www.rfidjournal.com/article/articleview/2050/1/1/ 17 http://www.ekahau.com/?id=4510 29 The EPE uses software based algorithms to calculate the position of a tag. However before the EPE can determine the location work it needs the site survey calibration information from the ESS. The ESS collects the information on the coverage and RSSI of each AP in the network across the area to be covered. The ESS gathers the calibration information by a person carrying the system and walking around the area to be covered. 18 Ekahau have also developed Wi-Fi tags an example of which is shown in Figure 8. Figure 8: Ekahau Tag19 18 http://www.ekahau.com/?id=4130 19 http://www.ekahau.com/?id=4220 30 4 Trapeze LA200 Wi-Fi Location Determination The LA200 unit was developed originally by Newbury Networks, who in December 2008, were bought over By Trapeze Networks. Trapeze then in turn rebranded the unit as the Trapeze Networks Location Appliance LA200. However prior to this Newbury Networks strategic business partners had rebranded the unit under several different names namely the Meru Networks Meru E(z)RF Location Manager, the Nortel Networks Nortel WLE2340 and now the Trapeze Networks Trapeze LA200.20 The unit will only be referred to as the LA200 in this report. A picture of the actual unit is shown in Figure 9. Figure 9: Trapeze LA200 Appliance 21 The Trapeze Networks Location Appliance LA200 provides the ability in real time to quickly and accurately locate and track assets, people or practically anything that has a or is attached to a Wi-Fi transmitter over an existing Wi-Fi network. The LA200 can offer location determination for up to two thousand Wi-Fi devices over a WLAN. It also provides the capability to run custom or enterprise applications that require the ability to provide location sensitive content or security and track assets. To ensure compatibility the LA200 is fully Wi-Fi compliant this allows the system to use the active Wi-Fi tags from other companies such as, AeroScout, Ekahau, Newbury Networks and Pango. A summary of the tracking performance of the Trapeze Networks LA200 is shown in table 1: 20 http://www.newburynetworks.com/company-about.htm 21 http://www.mobiledataforce.com/Products/pointsyncRFID_Overview.stm 31 Test Performance Accuracy at 10 meters 99% Accuracy at 5 meters 97% Accuracy at 3 meters 95% Average seek time 30 sec Fastest seek time 10 sec Number of devices tracked 2000 Table 1: LA200 Tracking performance 22 4.1 LA200 major components This section provides an overview of the major components of the system. 4.1.1 The Trapeze Dashboard The Trapeze Dashboard is a graphical console that uses the information from the LA200 to provide a real time view of the activity and location of each Wi-Fi device visible to the system to a room and floor level. It also provides layered views for multiple floors. The example shown in Figure 10 is from the University of Ulster System at the Magee Campus. Figure 10: Trapeze Dashboard for the LA200 To use the Dashboard software a connection must be established from the LA200 Dashboard software to a LA200 Appliance by completing the ‘Enter Connection 22 Source la200 datasheet 32 Details’ form with the appropriate details, the example shown in Figure 11 is from the University of Ulster System at the Magee Campus Figure 11: Trapeze LA200 Connection Details Form After the Dashboard connects to the LA200 Appliance a ‘Device List Screen’ appears, it shows a summary of each device visible to the LA200. Options are available to view devices by server, locale or network. Figure 12 shows a typical device list view on the Dashboard. Figure 12: Trapeze Dashboard Device List Screen Appliance An image file containing a scaled plan of a building can be imported into the system and different locales added by the user. For example from the University of Ulster System the light blue area in Figure 13 represents the ‘MG Floor2 Staff2’ locale, which contains a number of smaller offices. 33 Figure 13: Trapeze Dashboard Layout Locales After the locales have been identified the actual physical of the fingerprints an AP’s are added. The points where fingerprints have been taken are represented by a green flag as shown in Figure 14 the example is from the University of Ulster System at the Magee Campus. Figure 14: Trapeze Dashboard fingerprint locations 4.1.2 The Trapeze Webpage Dashboard The LA200 system also comes with a web based dashboard interface to access the system; it provides similar functionality to the dedicated Dashboard application, however it does not have the capability to display the live maps only a data table of the information. The next section will describe the main web interface screens from the University of Ulster LA200 system at the Magee Campus. Figure 15 shows the web based Dashboard login screen. 34 Figure 15: Trapeze Web Dashboard login screen Figure 16 shows the web based Dashboard summary screen that displays summary information on the system, network and devices visible to the network. Figure 16: Trapeze Web Dashboard Summary screen The web based Dashboard device list screen that displays information on all the devices visible to the network is shown in Figure 17. 35 Figure 17: Trapeze Web Dashboard Device List screen By clicking on a particular device from the device list screen as shown in Figure 17 the system will display the recent activity of the tag. The activity list is shown in Figure 18. Figure 18: Trapeze Web Dashboard Monitor screen Using the web based Dashboard monitor screen as shown in Figure 18 the user can then enter a particular MAC address and date range for any given time period in the last thirty days and the system will display the location of that tag for the given date range as shown in the example in Figure 19. 36 Figure 19: Trapeze Web Dashboard Monitor Screen The system will also display the fingerprint information it holds for a particular fingerprint point. For example in Figure 14 fingerprint ‘mp24’ is shown in the graphic. From the web based Dashboard fingerprint screen Figure 20 shows the detail of the ‘mp24’ fingerprint location in a graphical representation using green and purple bars. Figure 20: Trapeze Web Dashboard Fingerprint screen 37 4.2 Limitations of the Trapeze LA200 While the LA200 has many advantages it does have certain limitations, issues and costs. These include: Requires the purchase of the LA200 system box for the network which at current prices, is around fifteen thousand US dollars. There are range limitations due to the penetration of Wi-Fi signals, through solid objects such as building walls; While not purely a LA200 issue there are privacy issues, namely the ability to track individuals without their consent. While the system is fully compatible with Wi-Fi and can use the Wi-Fi signals from laptops, PDA’s etc any piece of equipment or person to be tracked requires a Wi-Fi tag and these cost around fifty pounds each which if you wanted to give one to every student on a campus or employee in a business could end up quite expensive. 4.3 Advantages of the Trapeze LA200 Trapeze Networks list a number of benefits of the LA200 system, these include23: Provision of user access control based on their location, this feature could also be used to prevent those with stolen Wi-Fi equipment such as laptop accessing the network. The system has the ability to collect network access points RSSI data. Fully Wi-Fi compliant and therefore does need not specialized hardware or software on the Wi-Fi devices The Dashboard allows the ability to view the real time movement and track up to two thousand Wi-Fi enabled devices simultaneously with a granularity of five minutes without additional network load and then store all this data for each device for a maximum of thirty days and at a ten meter precision level it can locate all devices to a room level in under thirty seconds with an accuracy level of ninety nine percent. 23 It comes with an Application Programming Interface (API). http://www.trapezenetworks.com/file.cfm?content=443&pageId=84&tagId=111 38 5 Lean Six Sigma - Work Study Lean Six Sigma is the collective term given to the parsing of the Lean Methodology and the Six Sigma methodology. The term Lean is used to describe process of reviewing work methods to improve standards, increase productivity and make better use of resources. It involves reviewing the activity and removing the waste in the process by removing unnecessary or non value adding work. Arranging or adding equipment to make the activity easier or take less time to complete. The Six Sigma term is used to describe the process of applying statistical analysis on data to devise solutions that will reduce the causes of variation and defects. In a lot of cases improvements can be made to the time taken to conduct a task and waste removed without the additional cost of new equipment to the business by simply rearranging the process sequence steps. The total time taken to do a task, typically measured in ‘man hours’ or ‘machine hours’, is a function of the actual time to do the task plus additional time taken caused by poor design of the product, materials, manufacturing processes, human intervention reasons and work practices. It could be envisaged that Wi-Fi location technology will have little impact on the design of the product or the type of materials used however it could have a significant impact on improving the manufacturing processes, human intervention reasons and work practices. By analysing the movements and non-movements of people, equipment, raw materials and finished product in the manufacturing process, it could be possible to discover the actual sources of waste. Waste could be caused by improper utilisation of the available space, incorrect layout, wasted movements of raw materials or finished product, incorrect sequences of work, cost of having excess inventory to cover waste in earlier or later steps. Non-movements in the process could highlight bottlenecks or broken down equipment, Reasons of waste due to human 39 action include those working at a slower pace, due to their capability, training or other issues. Some recent examples of the use of where Wi-Fi and Lean Six Sigma methodologies have been used together include. 5.1 Aeroscout and IMEC Technologies Aeroscout and IMEC Technologies developed and implemented a parts replacement system using WiFi-enabled Active RFID technology for Thermo King Corporation. The system enabled the implementation of Lean Six Sigma Methodologies, known as Kanban, so that when components used in the process reach a predetermined level a worker just activates a button on a WiFi tag attached to the parts bin and more parts will be ordered to refill the bin.24 25 5.2 Ekahau and Polycom Developed a system where workers carry a Polycom voice over Wi-Fi (VoWiFi) telephone equipped with an Ekahau tag, this allows them to receive production information for their particular location. Another example where they use this hardware in industry is when a worker goes to a particular area in the facility that has special safety equipment requirements then they will get a text message to the telephone to remind them of the correct safety equipment to be worn for that particular area.26 5.3 Ekahau & Rautakesko Ekahau developed a system in conjunction with the retailer Rautakesko to track shopper’s movements around their store. The system works by shoppers voluntarily taking a Wi-Fi tag when they enter the store which they carry with them as they go around the store. Later the store can analyse the 24 http://www.sixthsigma.com/2009/02/flexible-e-kanban-manufacturing.htm 25 http://www.aeroscout.com/content/news-and-events/press-releases/thermoking-170209/thermo-king- improves-manufacturing-operatio 26 http://www.wi-fiplanet.com/news/article.php/3707806 40 data to see in which areas the shoppers are going to, or spending the most and adjust their product arrangements accordingly. Figure 21 shows a heatmap produced by the system. 27 Figure 21 A heat map from the Ekahau / Rautakesko system 5.4 Aeroscout and Mine Site Technologies Aeroscout and Mine Site Technologies have developed various systems for the mining industry to track people and equipment in a mining environment to improve productivity and safety by the better management of equipment and people through Wi-Fi tracking to know exactly where they are. The tags can be incorporated into the miners helmet light.28 5.5 Product flow analysis Product flow analysis is a tool used in the Lean methodology to provide a thorough understanding of the waste associated with a product as it traverses a facility. This involves reducing and eliminating non value adding steps and optimising the value adding steps through the use of practical, graphical, and 27 http://www.wi-fiplanet.com/news/article.php/3788656 28 http://www.minesite.com.au/wi_fi_rfid_tracking_solutionsc 41 analytical type tools to make it easier to understand the product flow and potential improvements. In the real work a person or product is followed by an auditor who literally will attach them selves to that person or object and follow and record their every movement or lack of movement and record all the information on a various data collection sheets. One such sheet is the point to point diagram shown in Figure 22. The circles represent doing a task and the lines represent movement from one area to another. In Figure 22 it is quite apparent that there is a lot of wasted time for the person moving between the bench area and the oven area because these two pieces of equipment are far apart and the waste comes from the fact they are used quite a lot. It would be better if the equipment was rearranged so that these two pieces of equipment were much closer together and some of the steps consolidated. AREA NAME: BEFORE - Carrier Assembly - Ball Bearings SUPERVISOR: PREPARED BY: DATE: NOTE: Depict rough scale of equipment layout; and, draw a point to point diagram of the complete product flow 40 35 OVEN 33 31 B en ch 21 P ress 19 23 Tool B ox 26 24 22 14 39 3018 13 42 V ice 28 41 36 8 2 12 T ra sh 4 9 16 20 34 44 6 10 38 32 P art 1 5 B ox 17 43 29 37 27 25 3 1 5 7 11 P arts R ack Figure 22: Lean Six Sigma Point to Point Diagram Figure 23 shows the same process as Figure 22 after the product flow analysis component of the Lean methodology has been applied. In this instance some steps have been consolidated, reduced from forty two to twenty eight. 42 2 3 4 5 6 7 8 9 11 14 17 20 23 10 12 15 18 21 24 13 16 19 22 25 26 Press Oven Press Broach 1 27 28 Figure 23: Point to Point after improvements It is areas such as this that the proposed application could be used to generate the data automatically without the need for a person to watch and record the person or item being followed through the and record all the data manually. 43 6 Requirements Specification and Analysis This chapter will specify the problem; list the system objectives, the chosen design methodology, specification of the functional, non-functional, software and hardware requirements. 6.1 Problem Specification In industry today companies are under a lot of pressure to be more efficient, reduce costs and remove defects, errors and waste from their work practices. Some of the methodologies that they can use to be more efficient are known ‘Six Sigma’ and ‘Lean Manufacturing’. Six Sigma black belts’ and ‘lean practitioners’ are people who are specially trained experts in these methodologies and who will lead teams to improve the work practices. A prototype system will be developed within the University of Ulster at Magee to test the feasibility of using it in a real life industrial or other scenario by these experts so that they can track the movements of people, equipment or product through a process to see where the inefficiencies or sources of waste are. Today this work would typically have to be done manually by the expert observing and recording all the necessary information by hand. Implementing a location determination and tracking system using Wi-Fi in this scenario is well suited any where there is a Wi-Fi signal so indoors or outdoors and utilise the existing company WLAN network and requiring the installation of the Trapeze LA200 device. 6.2 Objectives of System The objective of this project is to develop a system that demonstrates the use of a WLAN to determine the location of Wi-Fi tagged people, equipment or product. The system will use the Trapeze Networks LA200 system to monitor the Wi-Fi tags in a room or area in a building on a floor by floor basis as required. The LA200 system can store location data for each tag in its monitored area in an internal database for the previous thirty days. The software for the new application will create a graphical user interface, (GUI), to provide analysis charts on the movements this will be done by extracting 44 the data from the LA200 database using the LA200 Application Programming Interface (API) using code written in Perl, Ruby or Python. The data will then be imported into Microsoft Excel for analysis and charting and then imported into the GUI for use by the user. The application will run on any Windows XP operating system, with service pack two or later installed. The user interface will contain number of selectable options that will access the data from the LA200 database and present the data in a graphical form to the black belt or a lean practitioner. 6.3 Design Methodology Two design methodologies were considered for this application namely waterfall, and evolutionary development. 6.3.1 Waterfall Methodology Figure 24: Traditional Waterfall Methodology 29 With Waterfall methodology a rigid, linear and sequential schedule is followed and the goals for each phase are clearly defined and must be completed before moving onto the next one, after having moved on there is no turning back. While the Waterfall methodology has a number of advantages around project discipline it also some disadvantages and for this project they are that 29 http://www.maxwideman.com/papers/plc-models/1990s.htm 45 the waterfall methodology is typically intended for large projects which this project is clearly not and more importantly the methodology does not have the ability to easily handle major change or upgrades late in the process which are envisaged in this system. 6.3.2 Evolutionary development The evolutionary development model is geared towards small to medium sized projects and uses a concept of developing an initial system showing it to the end-user and upgrading it with their feedback. While this may be an advantage for the end-user in that they get what they want however the disadvantage for the developer is that this methodology tends to result in additional cost and poorly structured systems. Figure 25: Evolutionary Development Model 6.3.3 Design Methodology Selection The chosen methodology for this project will be the evolutionary development model because this suits this new technology so that as prototypes are developed they can be either further improved on or if aspects of the new technology is prove to be unworkable then they can be rejected. However an awareness of the disadvantages of this methodology, cited earlier, by those involved in the project will help to ensure that the project is not totally susceptible them. 46 6.4 Requirements Specification The requirements for this project are split into two distinct areas: functional requirements and non-functional requirements. The software and hardware requirements are also listed in order that the full functionality can be successfully implemented. 6.4.1 Functional Requirements The functional requirements are further broken down into two groups namely user requirements and system requirements. 6.4.1.1 User After starting the program, the user should be able to: Quit the program; Access the menu screen; Select the data that they require from the database; Report the data in a format that they desire; Export the data to Microsoft Excel – if desired; Graph the data on the GUI; View the software help at any time; 6.4.1.2 System The LA200 provides and stores all the location data. The system should: Have a permanent network and intranet connection; Have access to the LA200 and Dashboard; Have fully working GUI for the user; Run on any recent computer using Windows XP SP2 operating system; Access the location data provided by the LA200 system; 6.4.2 Non-Functional Requirements 47 Accessibility – The software should be easy to use with little training or experience. Time Constraint – See project Gantt chart attachment A and the required project completion date is 28th April 2009; Reliability – The system work all the time and provide a means to handle errors with little or no input from the user. The data provided by the system should be validated and verified were possible; Performance – The system should be able to carry out each task requested by the user as quickly as possible; Extensibility – The system should be developed with future upgrades and additional functionality being added at a later date; Maintainability – The program coding should be well documented and laid out particularly to facilitate future upgrades and additional functionality being added at a later date; Scalability – The system should be able to provide data for the current maximum number of tags presently two thousand for a period of thirty days in what ever format the user decides; Efficiency – The system should operate with the minimum adequate resource levels to that ensure it performs at a level acceptable to the user; HCI standards must be adhered to. 6.4.3 Hardware Requirements Wi-Fi network with 802.11a/b/g with installed Trapeze Networks Location Appliance LA200. Wi-Fi tags or supported Wi-Fi enabled devices such as laptops, PDA’s and mobile phones. IP addressing for all tracked devices. Current specification Wi-Fi equipped Laptop with Windows XP SP2 will be required to do fingerprinting. Computer running Windows XP SP2 and with a network connection to access the LA200 appliance. 48 6.4.4 Software Requirements Latest version of the Java Runtime Environment (JRE) Trapeze Networks Dashboard Trapeze Networks webpage Perl, Ruby, Python or Soap programming systems (as required) Visual Studio 2005 Microsoft Excel 2003 Custom made application 6.4.5 Development Languages While the LA200 Dashboard supplied by Trapeze is written in Java, the company provide and API that can utilise various programming languages to communicate with the LA200 and its database. For the main user GUI it was decided to use Visual Basic 2005. 6.5 User Interface There will be three main user interfaces that will need to be designed the first will give the user the option to query the LA200 database and retrieve the information based on the selection or combination of selections they have made from a series of drop down lists or pop-ups. After selecting the data the user will be offered the second interface which is to export the data to a third party application such as Microsoft Excel or finally a third interface to display the data on the screen in the form of charts and reports showing the desired data in a presentable format. 49 7 Design Phase This chapter will discuss the detail of each component in the design phase of the project. 7.1 Hardware Components The hardware utilised in the implementation of the system include a laptop/desktop computer, meeting the requirements listed in table 2, a Trapeze Wi-Fi network equipped with a LA200 location appliance and Wi-Fi capable transmitters such as tags, laptops or mobile phones. Processor Pentium III (or later) Processor Speed 1GHz (or greater) Memory 512MB RAM (or more) Hard-drive 200MB free Operating System Windows XP with Service Pack 2 Table 2: Trapeze LA200 Dashboard hardware requirements 7.2 Software Components The major software component, used to create the custom software application was the “What You See Is What You Get” (WYSIWYG) Microsoft Visual Studio 2005 developer tool using the .Net framework. This can be used to create applications using Visual J#, Visual C++, Visual C# or Visual Basic.Net. This system will be created with Visual Basic.Net and the Trapeze supplied API. 7.3 Design Considerations As the position of a tag at a particular time is known and recorded in the Trapeze LA200 database and can be displayed in real-time using the supplied Trapeze Dashboard application then there is no need to apply any design consideration for the proposed system to re-create this functionality namely the creation of a graphical representation of the various tags on a map. The 50 Trapeze Dashboard needs to be configured in advance so that it knows where all the wireless access points are in the area and as it can determine a Wi-Fi tags position to a room or locale level each of which should have the recommended number of fingerprints carried out. 7.4 HCI Considerations HCI standards must be adhered to. o Consistency User input, system output, form layouts and colour schemes should be consistent across all screens; o Minimise user input o Feedback Provide user feedback for all actions performed o Error Prevention Validate user inputs and disable inactive form controls. o Aesthetics & User Expectation Clear and uncluttered design with clear functionality for each form. 7.5 System Architecture Figures 26 and 27 give an overview of the system architecture and system concept. The Custom made application which will be developed in this project will utilise the Application Programming Interface (API) to communicate with the LA200 and the database within the unit to obtain the appropriate information on each of the tags or Wi-Fi devices that the LA200 had detected and monitored on the WLAN network. Each individual person or piece of equipment that is to be tracked needs to have a Wi-Fi device, otherwise they, need to be given a Wi-Fi tag. The LA200 System calculates the position of the Wi-Fi tag using the fingerprints that it has stored and records the position or locale and the details of the access point that has detected the tag in the LA200 database. 51 Trapeze Custom Dashboard App. Made Positioning model Creation, Application Maintenance and analysis 802.11a/b/g Trapeze LA200 Wi-Fi network Positioning Server Trapeze API & Database Clients Trapeze Web Dashboard To LA200 Figure 26: Trapeze System Concept WI-Fi Access Point Network Person with Tag or Wi-Fi source API LA200 LA200 Database On-Screen Display of new application Figure 27: Overview of the System 52 7.6 Stages of the System This section will show the use case diagrams showing different user activities and the system functionality. 7.6.1 User Use Case Diagram Start Location Awareness Application Remove Person / tag from List Start Graphing User «extends» «uses» Select User To Graph «extends» User Display / Print Reports / Graphs Add Person / tag to List View Help Exit Application Figure 28: User Use Case Diagram 7.6.2 User Use-Case Diagram Descriptions Use Case Name Start Location awareness Application Primary Actor User Data None Description The user starts the application. Preconditions None Post Conditions The application loads. Use Case Name Select tag to track Primary Actor User Data None Description The user selects the tag to review in the system Preconditions The LA200 equipment is switched on. Post Conditions The Trapeze System starts tracking the Wi-Fi. 53 Use Case Name Display reports Primary Actor User Data Location history records Description The user requests the reports to be displayed Preconditions The LA200 equipment is switched on. There is at least one record for the appropriate tag. Post Conditions 7.6.3 The appropriate report is displayed. System Use Case Diagram Interface with «uses» LA-200 API Software Start Location Awareness Application «uses» Connect to LA-200 Database Start Graphing User «extends» Remove Person / tag from List «uses» Select User To Graph «extends» System Add Person / tag to List Show Reports / Graphs «uses» «uses» «uses» Print Graphs Exit Application Get graphs from Excel Show Help Screen Pass values to Excel Figure 29: System Use Case Diagram 54 7.7 Class Diagram Figure 30 shows the classes, their properties and associations used in the application. MainForm LA200 Database -port : SerialPort -TotalRange : double +MainForm() +MainForm_Load() +connectLA200() +disconnectLA200() +sendUserToExcel(in message : string) +selectUser() +RemoveUser() +refreshData() +displayGraph() +printGraph() +mainForm_Quit() +helpScreen() 1 1 Figure 30: Class Diagram 7.8 Activity Diagram Figure 31 showing and activity diagram to show the process of selecting the user MAC address to display. Select user Mac address [ MAC Exists ] [ No Wi-Fi records ] [ error message ] [ Wi-Fi Records ] Display Report Figure 31: Display report for selected user 55 7.9 Sequence Diagram Figure 32 is a high level sequence diagram showing the messaging between different components in the system. Location Awareness Application API Interface LA200 Database LA200 Network All_tagData btn_selectUserClick() getSelectedUserData() queryResult queryResult Figure 32: High-Level Sequence Diagram for the system 56 8 Implementation This chapter describes the functionality of the system and the implementation stage of the project. 8.1 Equipment Connection The first step of the implementation is to ensure that the LA200 is installed and working on the network, for the University of Ulster system at Magee, this can be done quickly in two ways using either the GUI application or using the Trapeze web interface. To log into the web interface at the following webpage https://193.61.189.25/admin and entering the appropriate username and password. (Not given in this report as they are a security item). The next step was to establish this two-way communication between the various components, namely the LA200 database, the LA200 API and the GUI software. Figure 33: Trapeze Web Dashboard Summary screen 8.2 Program GUI The GUI software that processes data from the Trapeze LA200 database was created using Microsoft Visual Studio 2005 and utilises the functions within the Trapeze API. When the GUI software is loaded, the user is presented with a splash screen followed three seconds later by the login screen. After the user has logged in to the system the main GUI screen of the system is displayed. These displays are shown in figures 34 to 36. 57 Figure 34: The application splash screen As the prototype has the ability to track people this creates a “big brother” issue and therefore would benefit from some sort of security system that would have a username and password to gain access and restrict report to a few “test” or special tags and the users own MAC address Therefore so it was decided to add this feature to the scope, iterative and incremental approach allows this unlike the waterfall methodology. Figure 35: The login screen 58 4 1 2 3 Figure 36: The main GUI screen The components of the main GUI screen are shown in Table 3. No. Component Function 1 Connect to the LA”00 through the API 2 Connect to a local replica of the database 3 Select the MAC address to be reviewed 4 Menu item used to access the File and Help screens. Table 3: Summary of Main Screen Components Shown in Figure 36 59 From the main GUI the use then can elect to connect to the online database in the LA200 as shown in Figure 37 or use a local replica copy of the database stored on the machine as shown in Figure 38. Figure 37: Connect LA200 online database Figure 38: Connect to local replica To begin the user selects a MAC address from the dropdown list. The dropdown list, as shown in Figure 39, this has all the MAC addresses that are available to provide a report for the user. Figure 39: MAC address selection After selecting the desired MAC address the user can then select from the options to export the information to Excel or to display the graphs and reports on the screen. Examples of the graphs are shown in Figures 40 and 41 60 Figure 40: Graph of places visited Figure 41: Graph of routes taken 61 8.4 LA200 Database The GUI utilises the database within the Trapeze LA200 device to access the data a Trapeze supplied API is available as a data access layer to enable simple read only data retrieval from the LA200 database. The LA200 database is quite complex and outside the remit of this project, however in the Appendix A, a full list tables, their showing configuration and fields has been provided. 62 9 Testing This chapter describes the testing section of the project. This is important part of the process as it ensures that the system performs satisfactorily and meets all the users’ requirements as laid down in the requirements specification in chapter six. 9.1 Unit Testing By breaking the overall system down into units and testing each unit thoroughly to ensure that it works correctly then if an error or problem arises because it is a smaller component that is being tested it is theoretically easier to find the problem and correct it. There are three main components in the system which have been subjected to unit testing – The GUI connection through the API, the API connection to the LA200 database and the GUI reporting and graphing component. 9.1.1 Splash Screen & Login When the GUI is started up the user should see a splash screen followed three seconds later by a login screen. The Program was started up and the login screen was displayed. A correct and incorrect user name and password were entered and the appropriate messages were displayed, see Figure 42 and Figure 43. Figure 42: Successful login confirmation Figure 43: Unsuccessful login 63 9.1.1 LA200 System and network The Trapeze LA200 equipment is central to the whole project and the information it gives is only as good as the configuration and setup work done when the system is installed. After the system has been set up to the manufactures recommendations, this is an enormous task outside the remit of this report. Testing of the setup can actually be done with one person using a Wi-Fi enabled laptop connected to the network and running the Trapeze Dashboard software, then as they walk around they can see themselves on the Dashboard display and verify that all is correct with the configuration, if errors are found then addition calibrations will have to be carried out in the area. Trapeze recommends the minimum number of fingerprints for any building: Create one RF fingerprint for every 3,000 square feet Create two additional RF fingerprints per entrance, one inside and one outside Create four additional RF fingerprints outside the building. Create four additional RF fingerprints outside the building at each compass point30 9.1.2 GUI to API component This test will pass a value namely the MAC address to the API and ensure that the API receives the value. Unfortunately even requesting help from the Trapeze support staff we were unable to get this component to work correctly,, so if the user tried this option they will get an error message as shown in Figure 44. Therefore in this report all work will be done on a local replica. This is not an issue for the user as a backup can be taken just before use and this will give almost live data. Figure 44: LA200 API connection error 30 Trapeze LA200 Deployment Guide Version 6.0 64 9.1.3 API to the LA200 & LA200 Database component Having received the MAC address the API must now select all the rows of data history relevant to that MAC address, and then pass these rows back to the GUI. Unfortunately this is also failed as per section 9.1.2. However if the system had worked correctly then the user would get a confirmation message as shown in figure 45. Figure 45: Successful connection to LA200 database 9.1.4 GUI to local replica database component This test will test the ability to connect to local replica of database; a successful connection displays a confirmation message as shown in Figure 46. If the file is not present then the user will get the message as shown in Figure 47. Figure 46: Successful connection to local replica Figure 47: Unsuccessful connection to local replica 65 9.1.5 Reporting and Graphing Component Having received the rows of data the system need to pass them into Microsoft Excel where they can be manipulated into graphs and displayed for the user. Figures 40 and 41 shown earlier in the report display typical results. 9.2 Integration Testing This section describes the integration testing. When all the individual components listed earlier have been tested successfully, then it is time to move on and test if they all integrate seamlessly with each other. A number of tests were conducted to ensure that the various components in the system operate correctly together; these are listed in Table 4. N 1 2 3 4 Predicted Result Actual Result P/F The splash, then login then main screen is displayed. The GUI starts up, the splash screen is displayed then the login in screen is displayed after correct login details entered the main GUI is displayed Pass The 3 tags are there The 3 tags are there Pass The data is available for graphing and reporting API component failed only able to use local replica Partial Pass The correct data and graph is shown Graphs are displayed Pass Test Case The GUI starts up The three test MAC addresses from the Ekahau tags are available in the dropdown list to select. The selected tag is passed to the API and the appropriate data is selected from the LA200 database, and passed back to the GUI for reporting. The GUI displays the report and graph Table 4: Integration Testing 66 9.3 Performance Testing In this section the systems performance against the non-functional requirements listed in the requirements analysis subsection, 6.4.2, are checked. Accessibility – The software is easy to use even with little or no training or experience. Only a few mouse clicks are required. Time Constraint – Project completed in time for required closing date of 28th April 2009; Reliability – Coding has been completed to handle errors and the data provided by the system should be validated and verified were possible; Performance – The system can quickly carry out each task requested by the user. Extensibility – The system was developed using the evolutionary model and is well suited for adding upgrades and additional functionality at a later date. Maintainability – The program coding is clear, structured and with comments and documentation. Scalability – The system can provide data for the current LA200 limit of a maximum number of two thousand tags for a period of thirty days in what ever format the user decides; Efficiency – The system does not use an exorbitant amount of memory or CPU. HCI guidelines have been followed. 67 10 Evaluation The evaluation stage is a very important phase in a project as it reviews the success of the final product against the desired outcomes that were specified in the requirements section. This chapter checks the prototype system developed in this project against the functional requirements from Chapter 6 and determines if the required functionality is present and acceptable. Table 5 lists the user’s functional requirements, and whether each requirement was satisfied. Requirement Satisfied? Access the menu screen Yes Select the data that they require from the Yes by doing backup from database server Report the data in a format that they desire Export the data to Microsoft Excel – if required Yes File available in local replica Plot the data on the GUI Yes Quit the program at any time Yes View the software help at any time Yes Table 5: Evaluation against User Functional Requirements Table 6 lists the system function requirements, and whether each requirement was satisfied. Requirement Satisfied? Run on any desktop / laptop computer with Windows XP SP2 Yes operating system; Have a fully working GUI for the user Partial Have access to the LA200 Fail Have a permanent network and intranet connection Yes Access the location data provided by the LA200 system Fail Table 6: Evaluation against System Functional Requirements 10.1 Database Component 68 The LA200 database is quite complex and a list of tables and field is included in Appendix C, the access through the API was very difficult and even with promises from the Trapeze engineer’s to supply program code not in the API manual on how to manipulate the database easily was never forthcoming so an XML extract was used as an interim measure, due to the time constraints of the project. 10.2 Graphics It was decided not to add graphics to the system showing the location of Wi-Fi devices as this functionality is already available on the LA200 dashboard also this project is working on developing a just prototype system and due to the time constraints, and limitations in the graphics capability of the Visual Basic .NET Framework it was decided that this level of functionality was too complex and outside this projects scope. 10.3 Calibration Calibration was performed during the implementation of the LA200 system and again by the Trapeze engineers in February 2009, however they concentrated on a relatively small area, namely a single floor in a building in comparison to the total area under Wi-Fi coverage at the University of Ulster at Magee Campus. To improve the accuracy you could give the floor plans for all the buildings in the campus to the Trapeze engineers and let the choose the locations for all the access points which could potentially mean moving every access point as historically they were located in the centre of a room, however moving access points is not really a cost effective option, it would be easier to add more fingerprints this would give additional clarity especially if it was done at both sides of every entrance and exit point. 10.4 Issues during development 69 This section records the issues during the development and that may impact future work in this arena. 10.4.1 API issues To connect to the LA200 with out being an expert in the designated API languages of Soap and Perl proved to be very difficult and time consuming task for the author with no success at the end. Emails were sent to vendor for help with getting data using the API with little success. Upon review for this project and doing the data analysis live data directly from the LA200 database is functionality that was more a nice to have than a necessity especially when an almost live database could be extracted from database. 10.4.2 Setup effort One of the selling points of the LA200 by the manufacture is the minimal additional hardware and setup required to get it up and running, while this is true it doe not allow for the accuracy of results. So to achieve high levels of data accuracy would require a lot of extra effort to increase the number of fingerprints per locale and maybe even total redesign and implementation of access points. 10.4.3 TAG testing A test was done with two tags from different manufactures carried on the same route around the MS building. This test was done for comparability of results however the results from the system were totally different. This creates another issue for measurement error 10.4.4 Stationary - Additional records When in a stationary location the system had a propensity to switch between access points, so that when reviewing the data there were many nonmovement outside the locale records just an access point change, this creates an added level of complexity when analysing the data namely a record but with no movement as such. 70 10.4.5 Reporting of wrong location Errors on the location reporting, a demonstrated example was during the test of the three users, the system was reporting the tag in locale MS129 when they were actually inside locale MS130, even though previously tit was reporting correctly. Investigation showed that the user had moved to a slight different location at their desk. As this was the test case and was being monitored it resulted in the manual correction of records namely having to rename the records from MS129 to MS130. This would not be acceptable or sustainable as generally through out the test required a lot of manual effort to “clean up the data”. to use the data to carry out significant statistical analysis. If this had not been done then there would have been a lot of false interpretations made. 10.4.6 WLAN coverage / Inactive result The system gives an inactive fault when it cannot detect the tag or device typically this occurred on the gap between buildings not under Wi-Fi coverage for example between buildings MS & MG. While this is a minor point it still needs to be either resolved or kept in mind. 10.5 Future Work The system was envisaged as a prototype from which to build upon in its niche market, as a lot of the typically functionality required in allocation awareness application is already available in the LA200 dashboard or other software from Trapeze such as Smart-Pass®. However while this was envisaged as a niche market for use by those looking to analyse movement of people, equipment, product or inventory such as Lean Practitioners or Six Sigma Black belts then there is a lot of scope to improve the system and utilise the full capabilities of the information that the LA200 can prove, especially if the system could provide heat maps Figure 21 and point to point diagrams Figure 22. 71 Any work to improve or rearrange & improve the configuration of the wireless network would be a big advantage to the calibration of the LA200 which would provide greater accuracy To utilise the information in the LA200 database fully is quite a complex task and requires an in depth knowledge of Perl, Ruby and Soap scripting language so to allow the system to be modified to extract live data into an algorithm that would plot “point to point” diagrams on a map showing the historical movements of people and equipment. 72 11 Conclusion While a number of the more familiar location determination technologies have limitations when it comes to working inside buildings, at a small area level of resolution, fairly high accuracy rate without the need for substantial capital investment the recent advancements with the Trapeze LA200 WLAN location awareness system have allowed Wi-Fi technology to provide accurate live and historical positional information. This project aimed to investigate the use of the LA200 to provide information for an application for use by Lean Practitioners or Six Sigma Black Belts to monitor the movements of people, equipment, products or inventory in an area that was covered by a WLAN and produce reports and graphs for them to use. Initial requirements set out during analysis phase called for a GUI program, created with Visual Studio 2005 that would interface with the LA200 database and API and provide location data for the user’s selected MAC address. The GUI program would then take the information and produce charts and a report on the movements. The specifics of the programs were defined in the design section, these included diagrams showing the functionality of components, along with software, hardware and HCI requirements. The design information was then taken implemented into an application created to meet these requirements. Before being released for general use and to validate and verify that everything was as it should be testing was carried out in various forms namely unit tests, functional tests, integration tests and performance tests. To conclude, this project has been successful in delivering a prototype that can use the information from the Trapeze LA200 system to monitor, chart and report the movements of Wi-Fi tags around an area. However, it has also shown that accuracy is not perfect and to achieve a high level may require additional capital expenditure to purchase additional access points not forgetting the setup time required to accurately verify the calibrations. 73 References BAHL, P., PADMANABHAN, V. (2000) ‘RADAR: An In-Building RF-Based User Location and Tracking System’ Proceedings of IEEE INFOCOM, pp. 775-784 (Tel-Aviv, Israel). [Available Online at: http://research.microsoft.com/enus/um/people/padmanab/papers/infocom2000.pdf BENFORD, S. TechWatch. (2005). ‘Future Bristol: Location-Based JISC. Experiences’. [Available online JISC at: http://www.jisc.ac.uk/uploaded_documents/jisctsw_05_01.pdf] BROWN, B., MacCOLL, I., CHALMERS, M., GALANI, A., RANDELL, C., STEED, A. (2003). ‘Lessons from the Lighthouse: Collaboration in a shared mixed reality system’. In: Cockton, G., Korhonen, P. 2003. CHI '03: Proceedings of the conference on human factors in computing systems. New York, NY: ACM Press, pp. 577-584. [Available Online at: http://www.equator.ac.uk/var/uploads/Brown&MacColl2003.pdf] Cambridge Consultants (2006), Zonal Location and Asset Tracking with ZigBee Technology (using RSSI) – [Available Online at: http://www.zigbee.org/imwp/idms/popups/pop_download.asp?contentID=9567 ] KATO, H., BILLINGHURST, M., POUPYREV, I., IMAMOTO, K., TACHIBANA, K. (2000). ‘Virtual Object Manipulation on a Table-Top AR Environment’. In: KLINKER, G., BEHRINGER, R. (Eds). 2002. Proceedings of the IEEE and ACM International Symposium on Augmented Reality. IEEE Computer Society, pp. 111–119. [Available http://www.hitl.washington.edu/artoolkit/Papers/isar2000.pdf] 74 Online at: KRUMM, J., CERMAK, G. & HORVITZ, E. (2003) ‘RightSPOT: A Novel Sense of Location for a Smart Personal Object’, Paper presented at the UbiComp 2003. [Available Online at: http://research.microsoft.com/~jckrumm/Publications%202003/rightSPOT%20 publish.pdf] LAMARCA, A. et al. (2005) ‘PlaceLab: Device Positioning Using Radio Beacons in the Wild’. In Proceedings of Pervasive 2005, pp. 116-133. [Available Online at: http://PlaceLab.org/publications/pubs/pervasive- PlaceLab-2005-final.pdf] McMullan C., Cahill D., Fry D. (2007) Place Lab Geo-positioning System [Available online at: http://ntrg.cs.tcd.ie/undergrad/4ba2.05/group1/index.html Myerson, J. (2006), RFID In the Supply Chain, CRC Press, ISBN 0849330181 Pellerin, C. (2006), United States Updates Global Positioning System Technology - Available online at: http://usinfo.state.gov/xarchives/display.html?p=washfileenglish&y=2006&m=February&x=20060203125928lcnirellep0.5061609 RFID-Radar.com (2007) – [Available Online at: http://www.rfid-radar.com ] RANDELL, C., MULLER, H. (2001). ‘Low Cost Indoor Positioning System’. In: ABOWD, G. (Ed). 2001. UbiComp '01: Proceedings of the 3rd international conference on Ubiquitous Computing. Springer-Verlag, pp. 42-48. [Available Online at: http://www.cs.bris.ac.uk/Publications/Papers/1000573.pdf] 75 Appendix A – LA200 database schema name2 name3 primaryKey required type size ACL ACL_ID TRUE TRUE VARCHAR 256 ACL ENTITYID FALSE FALSE VARCHAR 256 ACL ACLMODE FALSE FALSE VARCHAR 256 ACL ACLTYPE FALSE FALSE VARCHAR 256 ACLENTRIES ACLENTRY_ID TRUE TRUE VARCHAR 256 ACLENTRIES NAME FALSE FALSE VARCHAR 256 ACLENTRIES PERMISSION FALSE FALSE VARCHAR 256 ACLENTRIES ACL_ID FALSE FALSE VARCHAR 256 ADJACENCIES SIGNATURE FALSE TRUE VARCHAR 256 ADJACENCIES ADJACENTSIGNATURE FALSE TRUE VARCHAR 256 ALERTCONFIGS UUID TRUE TRUE VARCHAR 256 ALERTCONFIGS ALERTTYPEID FALSE FALSE VARCHAR 256 ALERTCONFIGS VARIANTID FALSE FALSE VARCHAR 256 ALERTCONFIGS ALERTTYPENAME FALSE FALSE VARCHAR 256 ALERTCONFIGS LOCUUID FALSE FALSE VARCHAR 256 ALERTCONFIGS NAME FALSE FALSE VARCHAR 256 ALERTCONFIGS PRIORITY FALSE FALSE VARCHAR 256 ALERTCONFIGS DESCRIPTION FALSE FALSE VARCHAR 256 ALERTCONFIGS KEYWORDS FALSE FALSE VARCHAR 256 ALERTCONFIGS SEVERITY FALSE FALSE VARCHAR 256 ALERTCONFIGS ISACTIVE FALSE TRUE SMALLINT 5 ALERTCONFIGS PARAMETERS FALSE FALSE LONGVARCHAR 32700 AREAS UNIQUEID TRUE TRUE BIGINT 19 AREAS ELEMENTNAME FALSE FALSE VARCHAR 255 AREAS ELEMENTTYPE FALSE FALSE INTEGER 10 AREAS X FALSE TRUE DOUBLE 52 AREAS Y FALSE TRUE DOUBLE 52 AREAS HEIGHT FALSE TRUE DOUBLE 52 AREAS WIDTH FALSE TRUE DOUBLE 52 CLUSTER_NODES NODEID TRUE TRUE VARCHAR 256 CLUSTER_NODES NAME FALSE FALSE VARCHAR 256 CLUSTER_NODES DESCRIPTION FALSE FALSE VARCHAR 256 CLUSTER_NODES PROFILEID FALSE FALSE VARCHAR 256 CLUSTER_NODES ADDRESS FALSE FALSE VARCHAR 256 CLUSTER_NODES FAILOVER_ID FALSE FALSE VARCHAR 256 CLUSTER_NODES CAPACITY FALSE TRUE INTEGER 10 CLUSTER_NODES NODE_ENABLED FALSE TRUE SMALLINT 5 CLUSTER_NODES LOADBALANCE_ENABLED FALSE TRUE SMALLINT 5 CONDITIONS UUID TRUE TRUE VARCHAR 256 CONDITIONS STARTTIME FALSE FALSE TIMESTAMP 26,6 76 CONDITIONS ENDTIME FALSE FALSE TIMESTAMP 26,6 CONDITIONS ACKTIME FALSE FALSE TIMESTAMP 26,6 CONDITIONS ALERTID FALSE FALSE VARCHAR 256 CONDITIONS VARIANTID FALSE FALSE VARCHAR 256 CONDITIONS CONFIGID FALSE FALSE VARCHAR 256 CONDITIONS ALERTNAME FALSE FALSE VARCHAR 256 CONDITIONS PRIORITY FALSE FALSE VARCHAR 256 CONDITIONS HIGHLOW FALSE TRUE SMALLINT 5 CONDITIONS CONDITIONCODE FALSE TRUE INTEGER 10 CONDITIONS PRIMARIES FALSE FALSE LONGVARCHAR 32700 CONDITIONS SECONDARIES FALSE FALSE LONGVARCHAR 32700 CONDITIONS TERTIARIES FALSE FALSE LONGVARCHAR 32700 CONDITIONS KEYWORDS FALSE FALSE LONGVARCHAR 32700 DATATAPS DATATAPID TRUE TRUE VARCHAR 256 DATATAPS NAME FALSE FALSE VARCHAR 256 DATATAPS OBSERVERNAME FALSE FALSE VARCHAR 256 DATATAPS DESCRIPTION FALSE FALSE VARCHAR 256 DATATAPS PROFILEID FALSE FALSE VARCHAR 256 DATATAPS ADDRESS FALSE FALSE VARCHAR 256 DATATAPS ENABLED FALSE TRUE SMALLINT 5 DATATAPS DEFAULTUSED FALSE TRUE SMALLINT 5 DATATAPS PASSWORD FALSE FALSE VARCHAR 256 DATATAPS SERVICE FALSE FALSE VARCHAR 256 DATATAPS CHANNELS FALSE FALSE VARCHAR 256 DEVICES DEVICE_ID TRUE TRUE VARCHAR 256 DEVICES LOCATION FALSE FALSE VARCHAR 256 DEVICES TYPE FALSE TRUE INTEGER 10 DEVICES ACTIVITY FALSE FALSE INTEGER 10 DEVICES DEVICEADDRESS FALSE TRUE VARCHAR 250 DEVICES INETADDRESS FALSE FALSE VARCHAR 256 DEVICES LASTSEEN FALSE TRUE BIGINT 19 DEVICES DEVICELABEL FALSE FALSE VARCHAR 256 DEVICES CHANNEL FALSE TRUE INTEGER 10 DEVICES SSID FALSE FALSE VARCHAR 256 DEVICES ENCRYPTION FALSE FALSE VARCHAR 256 DEVICES RXADDRESS FALSE FALSE VARCHAR 256 DEVICES DEVICEUSER FALSE FALSE VARCHAR 256 DEVICES ACCESSSTATUS FALSE FALSE VARCHAR 256 DEVICES SPOOFSTATUS FALSE FALSE VARCHAR 256 DEVICES LASTMOVE FALSE TRUE BIGINT 19 DEVICES SIGNATURE FALSE FALSE VARCHAR 256 GEOMETRY UNIQUEID TRUE TRUE BIGINT 19 GEOMETRY NAME FALSE FALSE VARCHAR 255 GEOMETRY SCALE FALSE TRUE DOUBLE 52 GEOMETRY BACKGROUND FALSE FALSE VARCHAR 255 77 GEOMETRY ORIGIN_UNIQUEID FALSE FALSE BIGINT 19 GEOMETRY_AREAS GEOMETRY_UNIQUEID TRUE TRUE BIGINT 19 GEOMETRY_AREAS AREAS_UNIQUEID FALSE TRUE BIGINT 19 GEOMETRY_AREAS AREA_IDX TRUE TRUE INTEGER 10 GEOMETRY_POSITIONS GEOMETRY_UNIQUEID TRUE TRUE BIGINT 19 GEOMETRY_POSITIONS POSITIONS_UNIQUEID FALSE TRUE BIGINT 19 GEOMETRY_POSITIONS POS_IDX TRUE TRUE INTEGER 10 GROUPS GROUP_ID TRUE TRUE VARCHAR 256 GROUPS NAME FALSE FALSE VARCHAR 256 GROUPS TYPE FALSE FALSE VARCHAR 256 HIBERNATE_UNIQUE_KEY NEXT_HI FALSE FALSE INTEGER 10 HISTORYCONDITIONMAPPING HISTORYID FALSE TRUE VARCHAR 256 HISTORYCONDITIONMAPPING CONDITIONID FALSE TRUE VARCHAR 256 JMS_MESSAGES MESSAGEID TRUE TRUE INTEGER 10 JMS_MESSAGES DESTINATION TRUE TRUE VARCHAR 255 JMS_MESSAGES TXID FALSE FALSE INTEGER 10 JMS_MESSAGES TXOP FALSE FALSE CHAR 1 JMS_MESSAGES MESSAGEBLOB FALSE FALSE BLOB 1073741824 JMS_ROLES ROLEID TRUE TRUE VARCHAR 32 JMS_ROLES USERID TRUE TRUE VARCHAR 32 JMS_SUBSCRIPTIONS CLIENTID TRUE TRUE VARCHAR 128 JMS_SUBSCRIPTIONS SUBNAME TRUE TRUE VARCHAR 128 JMS_SUBSCRIPTIONS TOPIC FALSE TRUE VARCHAR 255 JMS_SUBSCRIPTIONS SELECTOR FALSE FALSE VARCHAR 255 JMS_TRANSACTIONS TXID TRUE TRUE INTEGER 10 JMS_USERS USERID TRUE TRUE VARCHAR 32 JMS_USERS PASSWD FALSE TRUE VARCHAR 32 JMS_USERS CLIENTID FALSE FALSE VARCHAR 128 LAYOUTS LAYOUTID TRUE TRUE VARCHAR 256 LAYOUTS PROFILEID FALSE FALSE VARCHAR 256 LAYOUTS USERID FALSE FALSE VARCHAR 256 LAYOUTS GROUPID FALSE FALSE VARCHAR 256 LAYOUTS PERMISSIONS FALSE TRUE INTEGER 10 LAYOUTS LAYOUTNAME FALSE FALSE VARCHAR 256 LAYOUTS LAYOUTDATA FALSE FALSE BLOB 2147483647 LICENSE ID TRUE TRUE BIGINT 19 LICENSE LICENSEKEY FALSE FALSE VARCHAR 255 LICENSE ACTIVATIONDATE FALSE FALSE DATE 10 LINKAGES LINKID TRUE TRUE VARCHAR 256 LINKAGES SOURCESTRING FALSE FALSE VARCHAR 256 LINKAGES LINKVALUE FALSE TRUE DOUBLE 52 LINKAGES LINKTYPE FALSE FALSE VARCHAR 256 LOCALES LOCATIONID TRUE TRUE VARCHAR 256 LOCALES LOCATIONNAME FALSE FALSE VARCHAR 256 LOCALES LOCATIONDESCRIPTION FALSE FALSE VARCHAR 256 78 LOCALES PROFILEID FALSE FALSE VARCHAR 256 LOCALES ZONEID FALSE FALSE VARCHAR 256 LOGACTIVITIES UUID TRUE TRUE VARCHAR 256 LOGACTIVITIES HISTORYID FALSE FALSE VARCHAR 256 LOGACTIVITIES STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGACTIVITIES ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGACTIVITIES ACTIVITY FALSE FALSE VARCHAR 256 LOGASSOCIATIONS UUID TRUE TRUE VARCHAR 256 LOGASSOCIATIONS STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGASSOCIATIONS ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGASSOCIATIONS APHISTORYID FALSE FALSE VARCHAR 256 LOGASSOCIATIONS CLIENTHISTORYID FALSE FALSE VARCHAR 256 LOGHISTORIES UUID TRUE TRUE VARCHAR 256 LOGHISTORIES ENTITYID FALSE FALSE VARCHAR 256 LOGHISTORIES TYPE FALSE FALSE VARCHAR 256 LOGHISTORIES MACADDRESS FALSE FALSE VARCHAR 256 LOGIPADDRESSES UUID TRUE TRUE VARCHAR 256 LOGIPADDRESSES STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGIPADDRESSES ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGIPADDRESSES IPADDRESS FALSE FALSE VARCHAR 256 LOGIPADDRESSES HISTORYID FALSE FALSE VARCHAR 256 LOGLABELS UUID TRUE TRUE VARCHAR 256 LOGLABELS STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGLABELS ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGLABELS LABEL FALSE FALSE VARCHAR 256 LOGLABELS HISTORYID FALSE FALSE VARCHAR 256 LOGLOCATIONS UUID TRUE TRUE VARCHAR 256 LOGLOCATIONS HISTORYID FALSE FALSE VARCHAR 256 LOGLOCATIONS STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGLOCATIONS ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGLOCATIONS LOCATIONID FALSE FALSE VARCHAR 256 LOGLOCATIONS LOCATIONNAME FALSE FALSE VARCHAR 256 LOGPOPULATIONS UUID TRUE TRUE VARCHAR 256 LOGPOPULATIONS HISTORYID FALSE FALSE VARCHAR 256 LOGPOPULATIONS STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGPOPULATIONS ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGPOPULATIONS ACTIVITY FALSE TRUE INTEGER 10 LOGPOPULATIONS ACTIVE_APS FALSE TRUE INTEGER 10 LOGPOPULATIONS ACTIVE_STATIONS FALSE TRUE INTEGER 10 LOGPOPULATIONS ACTIVE_ADHOCS FALSE TRUE INTEGER 10 LOGSSIDS UUID TRUE TRUE VARCHAR 256 LOGSSIDS STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGSSIDS ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGSSIDS SSID FALSE FALSE VARCHAR 256 LOGSSIDS HISTORYID FALSE FALSE VARCHAR 256 79 LOGTYPES UUID TRUE TRUE VARCHAR 256 LOGTYPES STARTTIME FALSE FALSE TIMESTAMP 26,6 LOGTYPES ENDTIME FALSE FALSE TIMESTAMP 26,6 LOGTYPES DEVICETYPE FALSE FALSE VARCHAR 256 LOGTYPES HISTORYID FALSE FALSE VARCHAR 256 POSITIONS UNIQUEID TRUE TRUE BIGINT 19 POSITIONS ELEMENTNAME FALSE FALSE VARCHAR 255 POSITIONS ELEMENTTYPE FALSE FALSE INTEGER 10 POSITIONS X FALSE TRUE DOUBLE 52 POSITIONS Y FALSE TRUE DOUBLE 52 PRINCIPAL_GROUP_MAPPING PRINCIPAL_ID_FK FALSE TRUE VARCHAR 256 PRINCIPAL_GROUP_MAPPING GROUP_ID_FK FALSE TRUE VARCHAR 256 PRINCIPALS PRINCIPAL_ID TRUE TRUE VARCHAR 256 PRINCIPALS NAME FALSE FALSE VARCHAR 256 PRINCIPALS TYPE FALSE FALSE VARCHAR 256 PROFILES PROFILEID TRUE TRUE VARCHAR 256 PROFILES PROFILENAME FALSE FALSE VARCHAR 256 PROFILES PROFILEDESCRIPTION FALSE FALSE VARCHAR 256 PROFILES PROFILEACTIVE FALSE TRUE SMALLINT 5 PROPERTIES ENTITY FALSE TRUE VARCHAR 256 PROPERTIES RELATEDENTITY FALSE TRUE VARCHAR 256 PROPERTYSET PROPERTY_SET_ID TRUE TRUE VARCHAR 256 PROPERTYSET ENTITYID FALSE FALSE VARCHAR 256 PROPERTYSET TYPE FALSE FALSE VARCHAR 256 PROPERTYSET PROPERTYKEY FALSE FALSE VARCHAR 256 PROPERTYSET DATASTRING FALSE FALSE VARCHAR 256 PROPERTYSET DATABOOL FALSE FALSE SMALLINT 5 RELATIONS RELATEDENTITY FALSE TRUE VARCHAR 256 RELATIONS ENTITY FALSE TRUE VARCHAR 256 SAMPLEDATA SOURCESTRING FALSE FALSE VARCHAR 256 SAMPLEDATA SAMPLEVALUE FALSE TRUE DOUBLE 52 SAMPLEDATA SAMPLEDATAID TRUE TRUE VARCHAR 256 SAMPLEDATA SAMPLEID FALSE FALSE VARCHAR 256 SAMPLES SAMPLENUMBER FALSE TRUE INTEGER 10 SAMPLES SAMPLEID TRUE TRUE VARCHAR 256 SAMPLES SIGNATUREID FALSE FALSE VARCHAR 256 SCHEDULETASKS UUID TRUE TRUE VARCHAR 256 SCHEDULETASKS IDENTIFIER FALSE FALSE VARCHAR 256 SCHEDULETASKS PROPERTIES FALSE FALSE BLOB 2147483647 SCHEDULETASKS CALLBACKVALUE FALSE FALSE VARCHAR 256 SCHEDULETASKS TIMESPEC FALSE TRUE BIGINT 19 SIGNATURES SIGNATUREID TRUE TRUE VARCHAR 256 SIGNATURES SIGNATURENAME FALSE FALSE VARCHAR 256 SIGNATURES SIGNATUREDESCRIPTION FALSE FALSE VARCHAR 256 SIGNATURES SIGNATURETYPE FALSE FALSE VARCHAR 256 80 SIGNATURES PROFILEID FALSE FALSE VARCHAR 256 SIGTRANSLATION LOCATION FALSE TRUE VARCHAR 256 SIGTRANSLATION SIGNATURE FALSE TRUE VARCHAR 256 SNIPERS SNIPERID TRUE TRUE VARCHAR 256 SNIPERS NAME FALSE FALSE VARCHAR 256 SNIPERS DESCRIPTION FALSE FALSE VARCHAR 256 SNIPERS PROFILEID FALSE FALSE VARCHAR 256 SNIPERS ADDRESS FALSE FALSE VARCHAR 256 SNIPERS ENABLED FALSE TRUE SMALLINT 5 SNIPERS DEFAULTUSED FALSE TRUE SMALLINT 5 SNIPERS PASSWORD FALSE FALSE VARCHAR 256 SNIPERS SERVICE FALSE FALSE VARCHAR 256 TIMERS TIMERID TRUE TRUE VARCHAR 80 TIMERS TARGETID TRUE TRUE VARCHAR 250 TIMERS INITIALDATE FALSE TRUE TIMESTAMP 26,6 TIMERS TIMERINTERVAL FALSE FALSE BIGINT 19 TIMERS INSTANCEPK FALSE FALSE BLOB 2147483647 TIMERS INFO FALSE FALSE BLOB 2147483647 VERSION61 UNIQUEID TRUE TRUE BIGINT 19 VERSION61 INFO TRUE TRUE VARCHAR 256 VIEWS VIEWID TRUE TRUE VARCHAR 256 VIEWS PROFILEID FALSE FALSE VARCHAR 256 VIEWS USERID FALSE FALSE VARCHAR 256 VIEWS GROUPID FALSE FALSE VARCHAR 256 VIEWS PERMISSIONS FALSE TRUE INTEGER 10 VIEWS VIEWNAME FALSE FALSE VARCHAR 256 VIEWS LAYOUTNAME FALSE FALSE VARCHAR 256 VIEWS VIEWDATA FALSE FALSE BLOB 2147483647 WORKSPACE_APS AP_ID TRUE TRUE VARCHAR 256 WORKSPACE_APS DEVICEADDRESS FALSE FALSE VARCHAR 256 WORKSPACE_APS INETADDRESS FALSE FALSE VARCHAR 256 WORKSPACE_APS APNAME FALSE FALSE VARCHAR 256 WORKSPACE_APS APMODEL FALSE FALSE VARCHAR 256 WORKSPACE_APS APTYPE FALSE FALSE VARCHAR 256 WORKSPACE_APS APCOMMUNITY FALSE FALSE VARCHAR 256 WORKSPACE_APS POLICY_ID FALSE FALSE VARCHAR 256 WORKSPACE_POLICIES POLICY_ID TRUE TRUE VARCHAR 256 WORKSPACE_POLICIES POLICYNAME FALSE FALSE VARCHAR 256 WORKSPACE_POLICIES SECRET FALSE FALSE VARCHAR 256 ZONES ZONEID TRUE TRUE VARCHAR 256 ZONES ZONENAME FALSE FALSE VARCHAR 256 ZONES DESCRIPTION FALSE FALSE VARCHAR 256 ZONES PROFILEID FALSE FALSE VARCHAR 256 81