7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING Real-Time Performance Monitoring and Evaluation of an Wireless LAN – Wireless Research API (WRAPI) Anand Balachandran Charles Hudak Geoffrey M. Voelker
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 2 Motivation 2. Network administrators and applications need to monitor the wireless LAN for site survey, nature of RF environment, load balancing decisions, etc. 1. Users in a wireless LAN benefit from an understanding of the RF network weather – recd. signal strengths, operating power, RF channel, SSID etc. Interne t Access Points
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 3 Outline Motivation Existing Mechanisms WRAPI – purpose Features Methodology Demo of WRAPI Future Work
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 4 Existing Mechanisms WLAN monitors (e.g. OriNoCo Client Manager) »Vendor Specific »Expose different interfaces »Not all vendors support the same OIDs (object identifiers) Firmware Implementations »Proprietary – written by the hardware vendors »Code is not made available
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 5 So, What is WRAPI? Wireless Research API (WRAPI) »A software library that allows applications running in user- space on mobiles hosts (and APs) to query/set information in the network they are attached to. WRAPI: »Is hardware-agnostic WLAN monitoring tool (supports all b compliant hardware) »Is Programmable!! »Exposes all IEEE WLAN objects »Currently runs on Windows XP »Can be ported to WinCE (Pocket PC 2002)
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 6 WRAPI – Features WRAPI provides an interface to applications to monitor the WLAN in real time Supports 25 WLAN OIDs (see table for a sample) OIDs are either read-only, read-write, or write-only IEEE OIDQuerySet Service Set Identifier (SSID) Yes Base Service Set Identifier – BSSId (AP MAC Addr.) YesNo BSSId List Scan (scan channels NoYes Received Signal StrengthYesNo
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 7 IEEE Network Objects typedef struct OID_802_11_BSSID { ULONGLength; NDIS_802_11_MAC_ADDRESSMacAddress; UCHARReserved[2]; NDIS_802_11_SSIDSsid; ULONGPrivacy; NDIS_802_11_RSSIRssi; NDIS_802_11_NETWORK_TYPENetworkTypeInUse; NDIS_802_11_CONFIGURATIONConfiguration; NDIS_802_11_NETWORK_INFRASTRUCTUREInfrastructureMode; NDIS_802_11_RATESSupportedRates; } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 8 Methodology The NDIS Stack DeviceIoControl()
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 9 Methodology (2) Flow of Logic in the WRAPI DLL: Gets a handle to the NDISUIO Protocol Driver Enumerate Devices Bind NDISUIO to the device Query/Set the parameter using WIN32 DeviceIoControl() API
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 10 WRAPI – Demo
7/14/2015 Center for Wireless COMMUNICATIONS COMPUTER SCIENCE and ENGINEERING 11 Future Work Traces and scripts available at: We are using WRAPI To build the signal map of a location-determination system To implement inter-AP load balancing algorithms that take into account individual user workloads