• Sonuç bulunamadı

Design and Implementation of a Mobile Network Management Tool for Wireless Site Surveying

N/A
N/A
Protected

Academic year: 2021

Share "Design and Implementation of a Mobile Network Management Tool for Wireless Site Surveying"

Copied!
127
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Design and Implementation of a Mobile Network

Management Tool for Wireless Site Surveying

Kilan Muhammed Hussein

Submitted to the

Institute of Graduate Studies and Research

in partial fulfillment of the requirements for the degree of

Master of Science

in

Computer Engineering

Eastern Mediterranean University

June 2014

(2)

Approval of the Institute of Graduate Studies and Research

Prof. Dr. Elvan Yılmaz Director

I certify that this thesis satisfies the requirements as a thesis for the degree of Master of Science in Computer Engineering.

Prof. Dr.Işık Aybay

Chair, Department of Computer Engineering

We certify that we have read this thesis and that in our opinion it is fully adequate in scope and quality as a thesis for the degree of Master of Science in Computer Engineering.

Assoc. Prof. Dr. Doğu Arifler Supervisor

Examining Committee 1. Prof. Dr. Işık Aybay

2. Assoc. Prof. Dr. Doğu Arifler 3. Asst. Prof. Dr. Ahmet Ünveren

(3)

iii

ABSTRACT

“Everywhere Wi-Fi” across the campus of Eastern Mediterranean University (EMU) is a very positive and exciting experience for faculty, staff, students, and visitors. Having instant access to web sites, email, the Internet, and other IT services regardless of location can dramatically change the way of study and learning.

The increasing utilization of networks, especially wireless local area networks (WLANs), for different applications and in aspects of modern life, has resulted in a lot of studies towards the analysis and optimal design of WLANs. Deploying a large-scale, campus-wide Wi-Fi system presents many challenges that affect delivery of internet services. These challenges are managing, monitoring, coverage, capacity and density evaluation and security assessment.

In this study, we focus on the managing and monitoring aspects of the WLANs by designing and developing a software framework “EMUWiFiManager” as a mobile network management application on the Android platform. The application stores and displays basic information about the access points by using Simple Network Management Protocol (SNMP) and displays their locations on Google maps.

With the developed application, we conducted a measurement study and collected data for reporting and visualizing the network utilization of a campus wireless network.

(4)

iv

ÖZ

Doğu Akdeniz Üniversitesi'nde kampüs genelinde her yerde Wi-Fi bağlantısı olması, personel, öğrenciler ve ziyaretçiler için çok olumlu bir deneyimdir. Her yerde ve anında web sitelerine, e-posta, internet ve diğer bilgi teknoloji hizmetlerine erişim, çalışmanın ve öğrenmenin biçimini dramatik olarak değiştirebilmektedir.

Ağların, özellikle WLANların, artan kullanımı, farklı uygulamalar ve modern yaşamın özellikleri, WLANların analiz ve optimal tasarımına yönelik çalışmaları arttırmıştır. Büyük ölçekli yerleşke genelinde Wi-Fi sistemi dağıtma ve internet hizmetleri sunma birtakım sorunları ortaya çıkarmaktadır. Bu sorunlar arasında, ağ gözlemi, kapsama alanı, kapasite, yoğunluk değerlendirmesi ve güvenlik yönetimi vardır .

Bu çalışmada WLAN erişim noktalarının yönetim ve gözlemlemesi için “EMUWiFiManager” adında Android platformunda bir ağ yönetim yazılımı tasarlanıp geliştirilmiştir. Uygulama, erişim noktalarıyla ilgili temel bilgileri SNMP kullanarak sorgulayıp saklamakta ve coğrafi yerlerini ise Google Maps’ta göstermektedir.

Ayrıca, geliştirilen yazılımla bir ölçüm çalışması yapılmış ve örnek kampüs kablosuz ağ kullanımı raporlanıp ve görselleştirilmiştir.

Anahtar Kelimeler: Wi-Fi erişim noktaları, mobil ağlar, Android işletim sistemi,

(5)

v

To My Loving Mother

To My Loving wife

To My Loving brothers and sisters

(6)

vi

ACKNOWLEDGMENT

First of all I would like to thank to our most beloved ALLAH, for supporting me in my master study and in this research particularly.

I express my deepest gratitude and respect to my supervisor Assoc. Prof. Dr. Doğu Arifler for his guidance and support throughout my research.

I am also thankful to all my teachers at EMU for their encouragement and to my colleagues who helped me during my studies.

(7)

vii

TABLE OF CONTENTS

ABSTRACT ... iii ÖZ ... iv ACKNOWLEDGMENT ... vi LIST OF TABLES ... x LIST OF FIGURES ... xi

LIST OF ABBREVIATIONS ... xiv

1 INTRODUCTION ... 1 1.1 Backround ... 2 1.2 Literature Review ... 2 1.3 Objective ... 4 1.4 Thesis Organization ... 5 2 PROJECT TOOLS ... 6 2.1 Introduction ... 6 2.2 Android Platform ... 6

2.3 Android Platform Architecture ... 7

2.4 Android Application Components ... 9

2.5 Android Versions ... 13

2.6 The Development Environment ... 14

2.7 Android SDK ... 15

2.8 Android Emulator ... 16

2.9 Google Play services ... 18

2.10 Eclipse ... 18

(8)

viii

2.12 Extensible Markup Language (XML) ... 19

2.13 SQLite Database ... 20

2.14 Wi-Fi APIs ... 20

2.15 Google Maps Android API ... 20

2.16 Google Locations Services API ... 21

2.17 SNMP ... 21

2.17.1 SNMP Manager ... 22

2.17.2 Managed Network Devices ... 23

2.17.3 SNMP Agents ... 23

2.17.4 Management Information Base and Object ID ... 24

2.17.5 SNMP Communication ... 25

2.17.6 Versions of SNMP ... 26

3 SOFTWARE DESIGN AND IMPLEMENTATION ... 28

3.1 Requirements ... 28

3.2 Design Methodology ... 28

3.2.1 System Architecture ... 28

3.2.2 Flow Diagram ... 29

3.2.3 Data Flow diagram ... 30

3.3 Development Overview And Components ... 32

3.4 Class Diagrams and Activities ... 33

3.4.1 Mainmenu Class Activity ... 33

3.4.2 ScanOfAPs Class Activity ... 35

3.4.3 EMUMap Class Activity ... 37

3.4.4 SiteSearching Class Activity ... 40

(9)

ix

3.4.6 SnmpSetting Class Activity ... 42

3.5 Comparison and Verification ... 45

3.6 Application Testing Framework ... 46

4 A CASE STUDY WITH EMUWIFIMANAGER ... 49

4.1 Experiment Results ... 51

4.1.1 Network Utilization ... 51

4.1.2 Throughput ... 58

4.1.3 Number of Active Wireless clients ... 65

4.2 Discussion of Results ... 66

5 CONCLUSION ... 68

REFERENCES ... 70

APPENDICES ... 74

Appendix A: MainMenu Class ... 75

Appendix B: ScanOfAps Class ... 75

Appendix C: EmuMap Class... 84

Appendix D: SiteSearching Class ... 87

Appendix E: ListOfApsInSite Class ... 89

Appendix F: SnmpSetting Class ... 95

(10)

x

LIST OF TABLES

Table 2.1. Important Activity lifecycle methods [14] ... 10

Table 2.2. SNMP security aspect [24] ... 27

Table 3.1. Accespoints Database Table Structure ... 31

Table 3.2. The Event percentages Monkey Testing ... 48

Table 4.1. ifOutOctets OID every 5 min date:7/4/2014 11:00AM ... 53

Table 4.2. ifOutOctets OID every 5 min date:7/4/2014 3:00PM ... 54

Table 4.3. ifOutOctets OID every 5 min date:8/4/2014 0:00AM ... 55

Table 4.4. ifOutOctets OID every 5 min date:8/4/2014 2:00PM ... 56

Table 4.5. ifOutOctets OID every 5 min date:9/4/2014 10:00AM ... 57

Table 4.6. ifOutOctets OID every 5 min date:9/4/2014 2:00PM ... 58

Table 4.7. ipOutRequests OID every 5 min date:20/6/2014 10:00AM ... 60

Table 4.8. ipOutRequests OID every 5 min date:20/6/2014 2:00PM ... 61

Table 4.9. udpOutDatagrams OID every 5 min date:20/6/2014 10:00AM ... 63

Table 4.10. udpOutDatagrams OID every 5 min date:20/6/2014 2:00PM ... 64

Table 4.11. cDot11ActiveWirelessClients every 5 min date:20/6/2014 10AM ... 66

(11)

xi

LIST OF FIGURES

Figure 2.1. Android software environment [12] ... 7

Figure 2.2. Android architecture [13] ... 8

Figure 2.3. Compilation porcess for Dalvik VM applications [13] ... 9

Figure 2.4. Life cycle of Android activity [14] ... 11

Figure 2.5. Lifecycle of an Android service [13] ... 12

Figure 2.6. Android versions distributions April 1, 2014 [16] ... 14

Figure 2.7. Android SDK Manager ... 16

Figure 2.8. Android Emulator ... 17

Figure 2.9.AVD Manager ... 17

Figure 2.10. SNMP manager and agents [25] ... 23

Figure 2.11. MIB Tree Diagram [24] ... 25

Figure 2.12. TCP/IP communication model and SNMP [24] ... 26

Figure 3.1. System Architecture... 29

Figure 3.2. Flow Diagram ... 30

Figure 3.3. Data Flow Diagram ... 31

Figure 3.4. Project Components Structure in Eclipse ... 32

Figure 3.5. AndroidManifest.xml file ... 33

Figure 3.6. Unified Modeling Language (UML) ... 34

Figure 3.7. Mainmenu Activity ... 35

Figure 3.8. Sequence Diagram of ScanOfAPs activity ... 36

Figure 3.9. ScanOfAPs activity ... 36

(12)

xii

Figure 3.11. Noraml map ... 38

Figure 3.12. Satellite map ... 38

Figure 3.13. Hybrid map ... 39

Figure 3.14. ListOfApsInSite activity ... 39

Figure 3.15. Sequence Diagram of SiteSearching activity ... 40

Figure 3.16. SiteSearching activity ... 41

Figure 3.17. EmuMap activity ... 41

Figure 3.18. Sequence Diagram of SnmpSetting activity ... 42

Figure 3.19. SnmpSetting activity ... 43

Figure 3.20. Dialog of MIB files ... 43

Figure 3.21. SnmpTreeMake activity ... 44

Figure 3.22. NetworkUtilization activity ... 44

Figure 3.23. Mib Tree on EMUWiFiManager Android Application ... 45

Figure 3.24. Mib Tree on MibBroser Windos 7 Application ... 46

Figure 3.25. Monkey Testing Results ... 48

Figure 4.1. Connect to AP ... 49

Figure 4.2. Setup SNMP ... 50

Figure 4.3. Mib tree ... 50

Figure 4.4. Mib tree (ifEntry) ... 52

Figure 4.5. Network utilization at date 7/4/2014 11:00AM ... 53

Figure 4.6. Network utilization at date 7/4/2014 3:00PM ... 54

Figure 4.7. Network utilization at date 8/4/2014 10:00AM ... 55

Figure 4.8. Network utilization at date 8/4/2014 2:00PM ... 56

Figure 4.9. Network utilization at date 9/4/2014 10:00AM ... 57

(13)

xiii

Figure 4.11. Mib tree (IP) ... 59

Figure 4.12. ipOutRequests OID at date 20/6/2014 and time 10:00AM ... 60

Figure 4.13. ipOutRequests OID at date 20/6/2014 and time 2:00AM ... 61

Figure 4.14. Mib tree (udp) ... 62

Figure 4.15. udpOutDatagrams OID at date 20/6/2014 and time 10:00AM ... 63

Figure 4.16. udpOutDatagrams OID at date 20/6/2014 and time 2:00PM ... 64

(14)

xiv

LIST OF ABBREVIATIONS

F ABBREVIATIONS

API Application Program Interface

APS Access Points

AVD Android Virtual Machine

CDT C/C++ Development Tooling

GSM Global System for Mobile

GUI Graphical User Interface

IETF Internet Engineering Task Force J2SE Java 2 Standard Edition

JDT Java Development Tools

LIB Library

MIB Management Information Base

NMS Network Management System

OHA Open Handset Alliance

OID Object Identifier

OTA Over The Air

PDT PHP Development Tools

RFC Request for Comments

SDK Software Development Kit

SNMP Simple Network Management Protocol SSID Service set identification

WLAN Wireless Local Area Network

(15)

1

Chapter 1

1

INTRODUCTION

Wireless Local Area Networks (WLANs) are the best choice to build networks and with the availability of network solutions, WLANs have grown and this trend is expected to continue in the next years because they are easy to install and allow mobility for users without concerns of being disconnected. The implementations of 802.11n are quickly nearing to the speed of wired networks. Therefore, increased bandwidth has led to the wide adaptation of WLANs in the campus wireless network [1]. In contrast, increasing utilization of networks, especially WLANs, for different applications and in aspects of modern life, has led to more studies and attention towards the analysis and optimal design of WLANs [2].

Distinguishing features of the wireless environment and the distributed nature of the network setup have raised many important challenges in finding the performance limits of different tasks such as communication, control, and computations over WLANs. Also, many design methods concerning the complexity and the robustness of wireless systems should be addressed for a thorough understanding and an efficient operation of wireless networked systems [2]. Moreover, wireless applications of the new technologies have led to a series of new problems of wireless

(16)

2

network communications so that monitoring of the wireless network effectively has become significant [3].

This chapter is devoted to the background of project , literature review and lastly, the aim of this work.

1.1 Backround

The advancement of technology has made life easier. The spread of mobile technologies enables us to constantly be in touch with the world. By it, more aspects of our lives are brought together for easy access. For example, a person could be making finishing touches with his presentation for next day, call phone, email, chat, check weather, check portal, book a flight, to mention a few, all in the same place and likely simultaneously [4].

1.2 Literature Review

There are many studies that have been done in the area of network management software. In this section, we briefly mention some of these studies:

C. S. Nimodia and S. S. Asole proposed to provide details about the network state to the administrator of network on email account and android phone, when administrator is away from office or goes out site [5].

Kim, Hyojoon and Feamster, N. focus on three problems in network management: enabling frequent changes to network conditions and state, providing support for network configuration in a high level language, and providing better visibility and control over tasks for performing network diagnosis and troubleshooting. The

(17)

3

technologies they describe enable network operators to implement a wide range of network policies in a high-level policy language and easily determine sources of performance problems. In addition to the systems themselves, they describe various prototype deployments in campus and home networks that demonstrate how software defined networking can improve common network management tasks [3].

Yemini, Y. and Konstantinou, A.V. designed a system to replace labor-intensive configuration management with one that is automated and software-intensive. Configuration management is automated by policy scripts that access and manipulate respective network elements via a resource directory server. Resource directory server provides a uniform object-relationship model of network resources and represents consistency in terms of constraints; it supports atomicity and recovery of configuration change transactions, and mechanisms to assure consistency through changes [6].

Enck, W. and Moyer, T. designed a system as a configuration management system that attempts to address failings of current network management systems in a comprehensive and flexible way [7].

Harry Li, developed a system using simple network management protocol (SNMP)

to enhance existing network management systems to

meet wireless network requirements. The proposed new system can provide the following functions: discover mobile devices automatically, establish association among mobile devices and access point, monitor the wireless network performance, control access to wireless network through access point, and notify the changes of wireless network performance [8].

(18)

4

Liu, A.X. and Khakpour, A.R. propose a suite of algorithms for quantifying reachability based on network configurations (mainly Access Control Lists (ACLs)) as well as solutions for querying network reachability [9].

1.3 Objective

For universities today, mobility is no longer to make calls only; rather, it is considered an imperative component of their information. Mobile applications provide strong productivity. Such applications also provide more benefits across the rest of the university , such as:

1. Mobile technology has become widely used. 2. Enhanced ability for administer network.

3. Staff, analysts, and others receive information in a much more efficient and timely manner with fewer errors.

4. Top-level management receives information in real time to make better decisions.

The objective of this project was to create a mobile application on Android open source platform to assist network managers in managing their wireless networks. The application stores and display basic information about the access points and display their locations on Google maps.

SNMP protocol which provides a means to analyze the network device logs and provide statistics regarding from the access points (APs ) point-of-view. However, this data is either aggregated or instantaneous information that is dependent upon the SNMP polling interval.

(19)

5

The application is used to conduct a measurement study and collected data is used for reporting and visualizing the congestion profile of the campus wireless network.

The advantage of this project is the use of the information of access points to monitor the wireless networks and show distribution and development wireless access points in the Eastern Mediterranean University (EMU).

1.4 Thesis Organization

Chapter 1 presents a literature review, defines the objective and describes the thesis organization. Chapter 2 describes the project tools, Android platform, Android application components, the development environment and the SNMP. Chapter 3 presents the design and implementation, system architecture, flow diagram and class diagram of the management system. Chapter 4 presents a case study with EMUWiFiManager and Chapter 5 concludes the thesis.

(20)

6

Chapter 2

2

PROJECT TOOLS

2.1 Introduction

Smart phones are used as a primary platform for information access. A very large community of people use their smart phones as one of their main communication access tools. Users are increasingly carrying their mobile devices with them almost everywhere. Mobile devices fit perfectly into an ideal environment for realizing ubiquitous computing. A main aspect of ubiquitous computing is context-aware applications where the applications collect information about the environment that the user is in and use this information to achieve their goals or improve performance [10].

This chapter describes the main project tools to create Android applications.

2.2 Android Platform

The Google Android software development kit (SDK) was released by The Open Handset Alliance in November 2007. The aim of the Android operating system is bringing more developers in mobile applications. Android is a collection of layers of programs for Android devices, containing a software system, libraries and applications. The SDK contains tools and APIs to build applications on the Android systems by using the Java programming language. Android OS is an open source platform, with adaptable development and debugging environment, which also

(21)

7

supports a diversity of scalable user experience, which has graphics systems, multimedia support and a browser. Android enables reprocess of components and an database and reuse wireless communication tools. Android uses a Dalvik virtual machine (DVM) for Android mobile devices. On the other hand, it also supports Video, Camera, GPS, 3D applications, compass, APIs for location and map means. Developers can simply access, manage and process the free Google maps and execute on his mobile systems [11].

2.3 Android Platform Architecture

Android operating system is a stack of software components which is divided into five sections and four main layers as shown below in Figure 2.1 and Figure 2.2 [12].

(22)

8

Figure 2.2. Android architecture [13]

Below, we simply describe these layers in more details.

Applications: The first top level layer in the framework, including as example a browser, an SMS application, a calendar, a Google map application, and contacts application. All software is Programmed using the Java language.

Application Framework: Programmers have full access to the same APIs in the application framework layer that are used by the core applications. The application architecture is designed by reusing of components. This mechanism allows every component to be replaced by the programmers. Android Application is a set of systems and services, containing a set of Activities Views to build an application, containing buttons, text views, lists, spinners, editTexts, grids, browser and even a map view which can be put into the application within some lines of code.

(23)

9

Libraries: Various components of the Android system use different types of libraries (as in Figure 2.2 above). These libraries are exposed to developers through the Android application.

Android Runtime: These layer containing the Dalvik Virtual Machine. Dalvik runs "dex" files, which are coverted at compile time from standard class and jar files. as shown in Figure 2.3 [13].

Linux Kernel:Android using Linux 2.6 as OS services such as process management, memory management, security, network stack, and driver model and it is a layer between the applications and all the hardware..

Figure 2.3. Compilation porcess for Dalvik VM applications [13]

2.4 Android Application Components

Application components are the essential building blocks of an Android application. These components are loosely coupled by the application manifest file Andro- idManifest.xml that describes each component of the application and how they interact. There are following four main components

(24)

10

that can be used within an Android application [13].

Activities: An activity is a screen with a user interface. For example, an email software might have one activity that views a list of sending emails, another activity to send an email, and another activity for showing emails. If an application has more than one activity, then one of them should be marked as the activity that is viewed when the application is launched [13].

The Android system defines a lifecycle for activities via predefined methods. The most important methods are shown in Table 2.1 [14].

Table 2.1. Important Activity lifecycle methods [14]

Method Purpose

onCreate() Called and startup initializations when an activity is created. onResume() Called when activity visible again.

onPause() Called when activity gets into the foreground.. Used to release resources or save application data.

onStop() Called when the activity is not visible to the user.

The life cycle of an activity with its most important methods is displayed in the Figure 2.4. Android has more life cycle methods but not all of these methods are guaranteed to be called. In short , Activity is a user interface that can be seen, mainly for the processing of the application as a whole works [14].

(25)

11

Figure 2.4. Life cycle of Android activity [14]

Services: A service is a component that runs in the background to perform long running operations

without direct interaction with the user. For example, a service might run application in the background while the user is in a different application, or it might send or receive data over the network.

A service has lifecycle callback methods that it can implement to monitor changes in the service's state and it can perform work at the appropriate stage. The following diagram (Figure 2.5) on the left shows the lifecycle when the service is created with startService() and on the right shows the lifecycle when the service is created with bindService() [13].

(26)

12

Figure 2.5. Lifecycle of an Android service [13]

Broadcast Receivers: Broadcast Receivers simply respond to broadcast messages from other applications or from the system itself. For example, system will send broadcast receiver when new SMS arrives or booting is done, so this is broadcast receiver who will intercept this communication and will initiate appropriate action.

Content Providers:A content provider component allows applications to access data on request. It is typically used to share data with other application. The data may be stored in the file system, the database or somewhere else entirely [13].

Additional Components: There are other components which will be used in the construction of above components. These components are [13]:

(27)

13

Fragments:Represents a behavior of user interface that can be placed in an Activity.

Views:UI elements that are drawn on screen including forms, lists buttons etc.

Layouts:View hierarchies that control or arranging the UI format and appearance in an activity.

Intents: Asynchronous messages which allow application components to request functionality from other components.

Resources:External elements, such as user interface strings, colors and bitmaps .

Manifest:Represents configuration file for the Android application.

2.5 Android Versions

The version history of the Android mobile OS began with the release of the Android beta in November 2007. The primary version, Android 1.0, was released in September 2008. Android is in progress development by Google and the Open Handset Alliance (OHA), and has seen a variety of updates to its base OS since its initial version [15].

Since April 2009, Android versions have been developed under a confectionery-themed code name and released consistent with alphabetical order: Cupcake (1.5), Donut (1.6), Eclair (2.0–2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6), Ice Cream Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), and KitKat (4.4). On 3 September 2013, Google announced that one billion activated

(28)

14

devices now use the Android OS worldwide. The most recent major Android update was KitKat 4.4, which was released to commercial devices on 22 November 2013, via an over the air (OTA) update as show in Figure 2.6 [16].

Figure 2.6. Android versions distributions April 1, 2014 [17]

2.6 The Development Environment

Android SDK makes use of Java programming language, similar to Java Standard Edition (J2SE), called Java Android Library. This is an advantage to programmers familiar with programming languages originating from the programming language family C. The syntax is the same as Java in terms of operands, selections, iterations, file handling. The specific Android classes and packages use different names that are not similar to Java editions, such as the View Class and the Activity Class. To develop an Android application, programmers need to make sure that the development environment has a Java version 5 or above. Java is OS independent, developer could choose developing environment OS freely [16].

(29)

15

2.7 Android SDK

An Android application can be developed using an Android SDK and a compatible software development environment. The Android SDK provides developers with the necessary set of tools and libraries needed to create, test and debug applications on the Android platform [17]. It is available for download on the Android official website (http://developer.android.com/sdk/index.html?hl=sk).

Although the SDK can be used to write Android programs in the command prompt, the most common method is by using an integrated development environment (IDE). The recommended IDE is Eclipse with the Android Development Tools (ADT) plug-in [17].

The Android SDK Manager shows the SDK packages that are available, installed, or which available for update as shown in Figure 2.7 [17].

(30)

16

Figure 2.7. Android SDK Manager

2.8 Android Emulator

Android emulator provided by the Android SDK, is a virtual mobile device that runs on the computer and enables the user to test and debug applications without a physical device as shown in Figure 2.8. The features of the emulator is defined and can be edited by the programmer using the Android Virtual Device (AVD) Manager as show in Figure 2.9 , which is a graphical UI used to configure and manage AVDs.

(31)

17

Figure 2.8. Android Emulator

(32)

18

2.9 Google Play services

Google offers the Google Play service, a marketplace in which programmers can offer their Android applications to Android customers. Customers use the Google Play application which allows them to buy applications from the Google Play service [17].

Google Play services also provides an update service. If a programmer uploads a new version of his application to Google Play, this service notifies users that an update is available and allows them to install the update [17].

Google Play provides access to libraries for Android application programmers. For example, it provides a library to use and display Google Maps and another to synchronize the application state between different Android installations. These services have the advantage that they are available for older Android versions and can be updated by Google without the need for an update of the Android version on the smart phone [17].

2.10 Eclipse

In computer programming, Eclipse is an integrated development environment (IDE). It contains a base workspace and an extensible plug-in system for customizing the environment. Written mostly in Java, Eclipse can be used to develop applications. By means of various plug-ins, Eclipse may also be used to develop applications in other programming languages C, Ada , C++, Fortran, COBOL, Haskell, JavaScript , Perl, Lasso, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Scheme, Groovy, and Erlang. It can also be used to develop packages for the software Mathematica. Development environments include

(33)

19

the Eclipse CDT for C/C++, the Eclipse Java development tools (JDT) for Java and Scala, and Eclipse PDT for PHP, among others. The initial codebase was released by IBM . The Eclipse SDK, which includes the Java development tools, is meant for Java programmers. Users can extend its abilities by installing plug-in development toolkits written for the Eclipse Platform and can write and contribute their own plug-in modules [18].

2.11 Java

Java is a class-based computer programming language. It is general-purpose, structured and generic. Android applications are written in the Java Programming language. An Android application is highly based on Java fundamentals. Java incorporates with several powerful features and libraries of many powerful programming languages like C, C++. The reasons for picking Java as a basic programming language for Android application are [19]:

1. It is easy to learn 2. It is independent of OS

3. It is an object oriented programming language

4. Java line code is compiled and run by Virtual Machine

2.12 Extensible Markup Language (XML)

XML is a markup language. It contains some of the very simple, scalable, and flexible text format that is both machine-readable and human-readable. It Defines documents with a standard format that can be read by any XML-compatible application. XML is a commonly used data format on the Internet. XML is easy to compile and manipulate programmatically. Android resources preprocess the XML

(34)

20

into the compressed binary format and stores it on the device. Most of the UI layout, screen contents are declared in XML files [20].

2.13 SQLite Database

SQLite is an in-process library that implements a serverless, self-contained, transactional database engine and zero-configuration. It is free to use for any purpose. It is compact and lightweight hence it is easily deployable to any system. It is supported by the many Linux and Windows operating systems and can be ported easily to other systems. The data types supported are TEXT (to hold string values), INTEGER (to hold integer values) and REAL (to hold precision floating-point values). Android provides the SQLite database to allow for data storage in an application. An application in the Android system may have a private database and this can only be accessed and managed within the application code [21].

2.14 Wi-Fi APIs

The Wi-Fi APIs provide classes by which applications can communicate with the hardware wireless stack that provides Wi-Fi network access. Almost all information from the device is available, including the negotiation state, link speed, IP address and more, plus information about other networks that are available. Some other API means include the ability to initiate Wi-Fi, scan, save, add and terminate connections [22].

2.15 Google Maps Android API

Google Maps is a Web-based service that provides information about sites around the world and geographical regions. Besides conventional road maps, Google Maps provides satellite views and aerial of many places.

(35)

21

The Google Maps APIs make it possible for Web site administrators to put Google Maps into a custom site such as a community service page.

Google Maps for Mobile provides a location service that utilizes the Global Positioning System (GPS) location of the mobile device along with data from cellular networks and wireless LANs [23].

2.16 Google Locations Services API

Most Android devices allow to determine the current GPS. This can be done via a GPS module, via cell tower triangulation or via wireless LANs [23].

The Google Location Services API, part of Google Play Services, offers a powerful tools, high-level framework such as location provider choice and power management. Location Services also offers new tools such as activity detection that aren't available in the framework API. Programmers who are using the framework API, as well as programmers who are just now adding location-awareness to their applications, should firmly consider using the Location Services API [23].

2.17 SNMP

Simple Network Management Protocol (SNMP) is used in network management systems to monitor network devices for cases that require administrate. SNMP gives management data in the form of variables on the managed systems. These variables may then be queried or set by managing applications. SNMP itself does not define which variables are reachable. Alternatively, SNMP uses an extensible design, where the available information is defined by Management Information Bases (MIBs) that are often owned by individual vendors. MIBs describe the structure of the

(36)

22

management data of a device subsystem in a hierarchical namespace containing Object Identifiers (OID). Each OID identifies a variable that can be read or set via SNMP [24].

SNMP was introduced in 1988 to meet the growing need for a standard for managing Internet Protocol (IP) devices. The main core of SNMP is a simple set of operations that provides the ability to query and set the state of some devices to network administrators. Although SNMP is capable of managing a wide variety of network devices such as printers, personal computers, servers, power supplies, etc., it is typically associated with routers and other network devices. Just as with other protocols, SNMP is defined by The Internet Engineering Task Force (IETF) using Request for Comments (RFC) specifications. Currently [24], SNMP is composed of:

1. SNMP Manager 2. SNMP agent.

3. Managed network devices and 4. Database of MIB.

2.17.1 SNMP Manager

SNMP manager or management interacts with SNMP agents that are active in the network devicess. It is a computer to run one or more SNMP manager. The main functions of SNMP Manager are to:

1. Query agents

2. Get requested values from agents 3. Change values of variables in the agents

(37)

23

2.17.2 Managed Network Devices

A managed network devices as shown in Figure 2.10 such as routers, switches, access points, servers, workstations, printers requires some form of monitoring and management [25].

Figure 2.10. SNMP manager and agents [25]

2.17.3 SNMP Agents

SNMP agent is a software installed in the network device. It collects the information from the device and give it to the SNMP manager. These agents can be general such as Net-SNMP or vendor specific such as HP insight [25]. The main functions of SNMP agent are:

1. Collects data for its local environment

2. Retrieves and stores data as defined in the MIB. 3. Sends an occurrence to the manager.

SNMP agent perpetuates a management data describing the managed system parameters. It exposes an information database in the form of variables on the

(38)

24

managed systems, which describe the system configuration on the agent. These variables can then be queried (and sometimes set) by managing applications [25].

2.17.4 Management Information Base and Object ID

SNMP uses an extensible design, where the available information is defined by management information bases (MIBs). MIBs describe the structure of the management data of a device subsystem; they use a hierarchical namespace containing object identifiers (OID). Each OID is unique and identifies a variable that can be read or set via SNMP [25].

MIBs is divided into two types:

Scalar: defines a single object instance, the result can be only one.

Tabular: objects define multiple related object instances grouped in MIB tables..

Absolute OIDs specify a path to an attribute from the root of the OID tree. Absolute OID names always begin with a dot and must specify every node of the OID tree from the top-most node to the specific managed object. For example, "sysDescr" is .1.3.6.1.2.1.1.1 as shown in Figure 2.11 [25].

(39)

25

Figure 2.11. MIB Tree Diagram [24]

2.17.5 SNMP Communication

Figure 2.12 shows the TCP/IP protocol suite, which is the basis for all TCP/IP communication. Any device that wishes to communicate on the Internet (e.g., Windows systems, Unix servers, Cisco routers, etc.) must use this protocol suite. This model is often referred to as a protocol stack since each layer uses the

(40)

26

information from the layer directly below it and provides a service to the layer directly above it [24].

Figure 2.12. TCP/IP communication model and SNMP [24]

2.17.6 Versions of SNMP

SNMP has gone through important updates. Nonetheless SNMP v1 and v2c are the most implemented versions of SNMP. SNMP v3 has recently started and it is more secure [24].

(41)

27

SNMP version 1:the first version of the protocol, easy to set up – only requires a plaintext community.

SNMP version 2c:This is the update protocol, which includes improvements of SNMP version 1 in the protocol packet types, transport mappings and MIB structure elements.

SNMP version3:The evolution of SNMP version 3 was based on the security issues. SNMPv3 facilitates remote configuration of the SNMP entities.

Nonetheless each version had developed towards rich functionalities;the security aspect on each update was given as additional emphasis. Table 2.2 shows security aspect for each editions [24].

Table 2.2. SNMP security aspect [24]

SNMP Version Security Aspect

v1 Community security

v2c Community security

v2u User security

v2 Party security

(42)

28

Chapter 3

3

SOFTWARE DESIGN AND IMPLEMENTATION

This chapter presents the design of the mobile application whose purpose is to meet the objective defined in Chapter 1.

3.1 Requirements

The aim of this project was to create a mobile application to assist network managers for reporting and visualizing the congestion profile of their campus wireless network. So the main requirements are:

1.Storing the information of APs for selected site on mobile. 2.Putting the locations of these APs on Google Maps.

3. Using SNMP to analyze the network device logs.

3.2 Design Methodology

3.2.1 System Architecture

The system architecture has been illustrated in Figure 3.1. An Android device (not necessarily a smartphone, it could be a tablet) with the EMUWiFiManager application already installed communicates with the SNMP of AP that uses a special SNMP API .

(43)

29

Figure 3.1. System Architecture

On the other hand, the application uses all available techniques (satellite, cell towers, Wi-Fi) to inquire about the current location and displays it on Google Maps.

3.2.2 Flow Diagram

A flow diagram showing how users can run this project is shown in Figure 3.2 below.

(44)

30

Figure 3.2. Flow Diagram

3.2.3 Data Flow diagram

The data flow diagram, is a simple graphical design that shows the flow of information that can be used in the system in terms of the inputs data and the outputs.

The figure below (Figure 3.3) shows the data flow diagram for user module. The data flow starts with adding new site by scanning for available APs to that site and

Select the Wi-Fi APs Start

Stop

Touch the icon of application EMUWiFiManager

Select the GPS and write site name

Show APs on Google Maps

Touch icon wireless on Google map to view APs information for that site

(45)

31

retrieving location point, site name, select APs and then adding all these information to SQLite database. User can list sites and delete any AP from site and view this AP on Google Maps and view SNMP tree. Finally, user can exit from application.

Figure 3.3. Data Flow Diagram

By using the SQLite class, we created a database "myDB1" and table "Accesspoints" in this database to store information about APs. The structure of this table is shown in the Table 3.1.

Table 3.1. Accespoints Database Table Structure

Field Type Key

apid INTEGER PRIMARY

Ssid VARCHAR Mac VARCHAR Wep VARCHAR Lat VARCHAR Lng VARCHAR Dep VARCHAR Dept VARCHAR Apdate VARCHAR Snr VARCHAR IP VARCHAR

(46)

32

3.3 Development Overview And Components

The mobile application was developed in the Eclipse environment using the Android software development kit. This project (EMUWiFiManager) uses google-play-services_lib which contain all API-related library for Google maps.

The allclassess.emuwifimanager package contains all the interface-related classes. Figure 3.4 below shows the structure of the project in the Eclipse software.

(47)

33

The application is configured to a minimum API level of 8 and declares permissions to use the maps, Wi-Fi, internet, storage, location and network functionalities of the Android system. Figure 3.5 below shows the configuration of the AndroidManifest.xml file.

Figure 3.5. AndroidManifest.xml file

3.4 Class Diagrams and Activities

In this part , we will briefly describe the class diagrams overview and its activities in the software implementation in Eclipse and execution on Android. The class and its relationships described by Unified Modeling Language (UML) as shown in Figure 3.6.

3.4.1 Mainmenu Class Activity

Figure 3.7 shows us the GUI activity which provides main options to user to interact with project, and the code of class is included in appendix A.

(48)

34

(49)

35

Figure 3.7. Mainmenu Activity

3.4.2 ScanOfAPs Class Activity

ScanOfAPs activity is designed to scan and view all APs in the range. Also this activity can enable Wi-Fi on Android device if it is disabled.

As shown in sequence diagram (Figure 3.8), a user starts the scanning process by touching the Wi-Fi button which initiates the ScanOfAPs class.

Finally, the user must enter the site name and select the APs related to this site and then touch on Add APs button to store this AP in the SQLite database of Android device as shown in Figure 3.9 and the code of class is included in Appendix B.

(50)

36

Figure 3.8. Sequence Diagram of ScanOfAPs activity

(51)

37

3.4.3 EMUMap Class Activity

This activity is designed to view icons of wireless tower markers on Google Maps for the sites selected ot EMU. As shown in sequences diagram (Figure 3.10) we can change the map into three types : normal , hybrid and satellite as shown in Figures 3.11 , 3.12 and 3.13 respectively below. By touching this icon, the ListOfApsInSite activity well display the list of APs in that site as shown in Figure 3.14 and the code of class is included in Appendix C.

(52)

38

Figure 3.11. Noraml map

(53)

39

Figure 3.13. Hybrid map

(54)

40

3.4.4 SiteSearching Class Activity

The SiteSearching activity adds search functionality to the application which can filter the list sites names with a matching string, hence it provides user an easy way to find the information he needs as shown in sequence (Figure 3.15).The SiteSearching activity (Figure 3.16) and the code of class is included in Appendix D.

3.4.5 ListOfApsInSite Class Activity

As we show in Figure 3.14, the ListOfApsInSite activity can return us to EmuMap activity to show the site map with some zooming by clicking on (view on map) button as shown in Figure 3.17.

On the other hand, the ListOfApsInSite activity can going us to SnmpSetting activity by touching the IP address in front of AP and the code of class is included in Appendix E.

(55)

41

Figure 3.16. SiteSearching activity

(56)

42

3.4.6 SnmpSetting Class Activity

SnmpSetting activity is designed to setting up SNMP protocol .The user (as shown in sequence diagram Figure 3.18) must enter the parameters (mib file name,ip,port, version,community and time out) as shown in Figure 3.19.By touching on MIB file default name, the dialog (Figure 3.20) is shown and we can select another MIB file and the code of class is included in Appendix F.

Figure 3.18. Sequence Diagram of SnmpSetting activity

Furthermore, the SnmpSetting activity can call SnmpTreeMake activity to build tree of MIB file by clicking on (MIB tree) button as shown in Figure 3.21.

Also, the SnmpSetting activity can call NetworkUtilization activity to calculate output utilization of wireless interface of the access point as shown in Figure 3.22.

(57)

43

Figure 3.19. SnmpSetting activity

(58)

44

Figure 3. 21. SnmpTreeMake activity

(59)

45

3.5 Comparison and Verification

We conducted an experiment to verify the implemented project and run EMUWiFiManager on Android device version 4.1.2 with MibBrowser desktop application on Windows 7. We chose the CMPE Library and connected to AP type Cisco AP C1240 with SSID CMPE LIBRARY WIFI. We obtained similar results in two applications as shown in Figure 3.23 and Figure 3.24.

(60)

46

Figure 3.24. Mib Tree on MibBroser Windos 7 Application

3.6 Application Testing Framework

The Android application testing framework, an integral part of the development environment, gives an architecture and powerful tools that test every aspect of application.

Automated testing of Android application is important because of the large variety of available devices. As it is not practical to test Android application on all possible device configurations, it is common practice to run Android test on typical device configurations.

Having a practical test coverage for Android application helps us to enhance and maintain the Android application.

(61)

47

The user interface application tester Monkey [26], usually called "monkey", is a program that runs on emulator or device and generatesis pseudo-random streams as a command-line tool of keystrokes, touches, and gestures to a device. It returns a report back with errors and is run by Debug Bridge (adb) tool.

The following monkey testing sends 500 random events to the application with the allclasess.emuwifimanager package as shown in Figure 3.25.The final testing report is included in Appendix G.

adb shell monkey -p allclasess.emuwifimanager -v 500

where

adb – tool used to send command from a desktop or laptop computer to emulator or Android device.

shell - translates commands to OS commands. monkey - testing tool.

-p -as allowed-package-name.

v - stands for increment the verbosity level.

500- random number of event to be sent for testing application.

(62)

48

Figure 3.25. Monkey Testing Results

Table 3.2. The Event percentages Monkey Testing

Event code Event name Percentage%

0 touch 15 1 motion 10 2 Trackball 2 3 Sys keys 15 4 navigation 0 5 Major nav 25 6 App switch 15 7 flip 2 8 Any event 2 9 Any event 1 10 Any event 13

(63)

49

Chapter 4

4

A CASE STUDY WITH EMUWIFIMANAGER

We conducted an experiment to test the performance of the implemented project and run EMUWiFiManager on Android device version 4.1.2. We chose one of the EMU library’s AP type Cisco AP 1200 with ssid EMU Guest (Figure 4.1) and setup SNMP with parameters as shown in Figure 4.2 and then MIB tree in Figure 4.3.

(64)

50

Figure 4.2. Setup SNMP

(65)

51

4.1 Experiment Results

Our experiments focused on how to calculate network utilization and throughput by using Simple Network Management Protocol (SNMP).

4.1.1 Network Utilization

Network utilization is the amount of traffic on the network compared to the peak amount that the network can support. This is generally specified as a percentage. By using MIB tree and then ifEntry (wireless interface table of AP) and then read values of ifSpeed (bandwidth Mbps) and ifOutOctets (output bytes) as shown in Figure 4.4.

ifSpeed is the maximum speed of wireless interface in that AP (54Mbps).

ifOutOctets are counts of the number of bytes output by the interface.

Utilization is calculated by the formula:

Network utilization % = (data bits * 100) / (bandwidth Mbps * interval in sec)

and then:

Output utilization= ( ) ( )

where

∆ifOutOctets is the difference between two reading of the ifOutOctets object, which represents outbound octets of network traffic.

(66)

52

Figure 4.4. Mib tree (ifEntry)

Here, we measured by reading from ifOutOctets (interface wireless output) OID every 5 min .

The first measurement was on 7/4/2014 from 11:00 AM to 11:40 AM and is given in Table 4.1 and presented in Figure 4.5.The measurement from 3:00 PM to 3:40 PM is given in Table 4.2 and presented in Figure 4.6.

The second measurement was on 8/4/2014 from 10:00 AM to 10:40 AM and is given in Table 4.3 and presented in Figure 4.7. The measurement from 2:00 PM to 2:40 PM is given in Table 4.4 and presented in Figure 4.8.

(67)

53

The third measurement was on 9/4/2014 from 10:00 AM to 10:40 AM and is given in Table 4.5 and presented in Figure 4.9.The measurement from 2:00 PM to 2:40 PM is given in Table 4.6 and presented in Figure 4.10.

The measurement outcomes show that the network utilization of this AP ( Cisco AP 1200 with ssid EMU Guest ) is low becuse not all students are using this AP in EMU library.

Table 4.1. ifOutOctets OID every 5 min date:7/4/2014 11:00AM

Date 7/4/2014

time

11:00 AM

first reading (Bytes) next reading (Bytes) time Output utilization%

374632114 555732231 11:00 8.943215654

657338837 879348821 11:10 10.963456

997900877 1188500654 11:20 9.412334667

1188500654 1291788200 11:30 5.100619556

1350100321 1467991089 11:40 5.821766321

Figure 4.5. Network utilization at date 7/4/2014 11:00AM 0 2 4 6 8 10 12 11:00 11:10 11:20 11:30 11:40 Ne tw o rk U tiliza tio n % Time

(68)

54

Table 4.2. ifOutOctets OID every 5 min date:7/4/2014 3:00PM

Date 7/4/2014

time

3:00 PM

first reading (Bytes) next reading (Bytes) time Output utilization%

4280076999 4380099925 3:00 4.939403753

4390099122 4498765430 3:10 5.366237432

4607314111 4707431749 3:20 4.944080889

4807463155 4899500999 3:30 4.545078716

4999555405 5087908321 3:40 4.363106963

Figure 4.6. Network utilization at date 7/4/2014 3:00PM

0 1 2 3 4 5 6 03:00 03:10 03:20 03:30 03:40 Netw o rk Utilizatio n % Time

(69)

55

Table 4.3. ifOutOctets OID every 5 min date:8/4/2014 0:00AM

Date 8/4/2014

time

10:00 AM

first reading (Bytes) next reading (Bytes) time Output utilization%

7270481898 7399481221 10:00 6.370336938

7528480544 7650870534 10:10 6.043950123

7788290567 7911300435 10:20 6.074561383

8043690425 8190300666 10:30 7.240011901

8400780786 8577911899 10:40 8.747215457

Figure 4.7. Network utilization at date 8/4/2014 10:00AM 0 1 2 3 4 5 6 7 8 9 10:00 10:10 10:20 10:30 10:40 Netw o rk Utilizatio n % Time

(70)

56

Table 4.4. ifOutOctets OID every 5 min date:8/4/2014 2:00PM

date 8/4/2014

time

2:00 PM

first reading (Bytes) next reading (Bytes) time Output utilization%

11225711699 11366644345 2:00 6.95963684

11607576991 11740511000 2:10 6.56464242

11893445009 11991006753 2:20 4.817863901

12088568497 12110787191 2:30 1.097219457

12133005885 12156321117 2:40 1.151369481

Figure 4.8. Network utilization at date 8/4/2014 2:00PM 0 1 2 3 4 5 6 7 02:00 02:10 02:20 02:30 02:40 Ne tw o rk Util iza tio n % Time

(71)

57

Table 4.5. ifOutOctets OID every 5 min date:9/4/2014 10:00AM

Date 9/4/2014

time

10:00 AM

first reading (Bytes) next reading (Bytes) time Output utilization%

189150558 311240988 10:00 6.029157037

433355418 571455399 10:10 6.819752148

709599380 859423001 10:20 7.398697333

1009456785 1210588632 10:30 9.932436889

1500720479 1699427917 10:40 9.812712988

Figure 4.9. Network utilization at date 9/4/2014 10:00AM 0 2 4 6 8 10 10:00 10:10 10:20 10:30 10:40 Netw o rk Utilizatio n % Time

(72)

58

Table 4.6. ifOutOctets OID every 5 min date:9/4/2014 2:00PM

date 9/4/2014

time

2:00 PM

first reading (Bytes) next reading (Bytes) time Output utilization%

4530832077 4644391102 2:00 5.607853086

4757950127 4855876372 2:10 4.835863951

4953802617 5067711300 2:20 5.625120148

5181719983 5290726010 2:30 5.383013679

5400732037 5511901088 2:40 5.489829679

Figure 4.10. Output network utilization at date 9/4/2014 and time 2:00PM

4.1.2 Throughput

Network throughput is the rate of successful message delivery over a communication channel. The throughput is usually measured in bits per time unit, and sometimes in data packets per time unit or data packets per time slot.

From the MIB, we read values of ipOutRequests OID (packets count) (Figure 4.11). 4,4 4,6 4,8 5 5,2 5,4 5,6 5,8 02:00 02:10 02:20 02:30 02:40 Netw o rk Utilizatio n % Time

(73)

59

Figure 4.11. Mib tree (IP)

The measurements were taken on 20/6/2014 from 10:00 AM to 10:40 AM and are given in Table 4.7 and presented in Figure 4.12.The measurements from 2:00 PM to 2:40 PM are given in Table 4.8 and presented in Figure 4.13.

(74)

60

Table 4.7. ipOutRequests OID every 5 min date:20/6/2014 10:00AM

Date 20/6/2014 IP

time

10:00 AM

packets packets time IP throughput (packets/min)

308478 309586 10:00 277

309952 310990 10:10 259

311792 312712 10:20 230

312942 313992 10:30 262

314400 315358 10:40 239

Figure 4.12. ipOutRequests OID at date 20/6/2014 and time 10:00AM 0 50 100 150 200 250 300 10:00 10:10 10:20 10:30 10:40 IP o utp ut thr o ug h tp ut (p ac k e ts/min ) Time

(75)

61

Table 4.8. ipOutRequests OID every 5 min date:20/6/2014 2:00PM

date 20/6/2014

time

2:00 PM

packets packets time

IP throughput (packets/min) 308478 309586 2:00 221 309952 310990 2:10 207 311792 312712 2:20 184 312942 313792 2:30 170 314400 315358 2:40 191

Figure 4.13 ipOutRequests OID at date 20/6/2014 and time 2:00AM 0 50 100 150 200 250 02:00 02:10 02:20 02:30 02:40 IP o utp ut thr o ug h tp ut (pac ke ts /min) Time

(76)

62

By using MIB, we read the values of udpOutDatagrams OID (datagram count) (Figure 4.14).

Figure 4.14. Mib tree (udp)

The measurements were taken on 20/6/2014 from 10:00 AM to 10:40 AM and are given in Table 4.9 and presented in Figure 4.15. The measurements from 2:00 PM to 2:40 PM are given in Table 4.10 and presented in Figure 4.16.

(77)

63

Table 4.9. udpOutDatagrams OID every 5 min date:20/6/2014 10:00AM

Figure 4.15. udpOutDatagrams OID at date 20/6/2014 and time 10:00AM

0 50 100 150 200 10:00 10:10 10:20 10:30 10:40 U D P o u tpu t thro u ght pu t(d at ag ram /min) Time

(78)

64

Table 4.10. udpOutDatagrams OID every 5 min date:20/6/2014 2:00PM

Date 20/6/2014

time

2:00 PM

datagrams datagrams time

UDP Output throughput (datagrams/min) 200184 200831 2:00 129 232378 233109 2:10 146 311686 312114 2:20 85 187646 188081 2:30 87 235698 236209 2:40 102

Figure 4.16. udpOutDatagrams OID at date 20/6/2014 and time 2:00PM 0 20 40 60 80 100 120 140 160 02:00 02:10 02:20 02:30 02:40 U D P o utp ut thr o ug h tp ut( d ata g ra m/m in ) Time

(79)

65

4.1.3 Number of Active Wireless clients

By using MIB tree and then cDot11ActiveDevicesEntry, we read values of cDot11ActiveWirelessClients OID (devices count) (Figure 4.17).

Figure 4.17. Mib tree (cDot11ActiveDevicesEntry)

The measurements were taken on 20/6/2014 from 10:00 AM to 10:40 AM and are given in Table 4.11. The measurement from 2:00 PM to 2:40 PM is given in Table 4.12.

(80)

66

Table 4.11. cDot11ActiveWirelessClients every 5 min date:20/6/2014 10:00AM

Date 20/6/2014

time

10:00 AM

Active Devices (beginning of interval) Active Devices(end of interval) time

12 10 10:00

6 8 10:10

8 8 10:20

10 9 10:30

10 10 10:40

Table 4.12. cDot11ActiveWirelessClients every 5 min date:20/6/2014 2:00PM

date 20/6/2014

time

2:00 PM

Active Devices(beginning of interval) Active Devices(end of interval) time

6 5 2:00 6 5 2:10 7 6 2:20 9 9 2:30 8 8 2:40

4.2 Discussion of Results

Prior to the installation of any wireless devices, administrators can review the usage requirements for the area in question to determine the optimum number of wireless access points needed to efficiently support all users in the area simultaneously. The EMUWiFiManager application used to site survey EMU library area revealed useful data for planning of WiFi access points and requirements, if any, for expansion.

Utilization measurements conducted on different times on different days showed us that the access point under consideration was not heavily utilized: The utilization varied between 1% and 11%. These results may imply that the number of access points installed in the library for the number of users is currently sufficient.

(81)

67

To verify the utilization measurements, the number of IP packets sent out by the device was also recorded and it was found that the number of packets per minute was indeed low. Furthermore, roughly half or more of these packets were UDP packets. Most of these UDP packets may be associated with DNS queries. To have a more accurate picture of composition of traffic, more sophisticated network monitoring tools may be necessary.

The number of wireless clients attached to the access point varied between 5 and 12. This may indicate that the number of people using WiFi in the library is not that high. To have a more accurate picture, permission to monitor all access points must be obtained and, if possible, users may be surveyed to find out what kind of Internet connection they prefer when they connect to the Internet (WiFi or 3G).

(82)

68

Chapter 5

5

CONCLUSION

A main aspect of ubiquitous computing is context-aware applications where the applications collect information about the environment that the user is in and use this information to achieve their goals or improve performance.

The solution presented in this project is useful enough to assist network managers in managing their wireless networks. However, it may appear cumbersome for many network managers to store information about their wireless networks manually into the application.

At the time of writing, there was no standard mobile application to visualize and manage all Wi-Fi access points at EMU that gives the network managers the information of both the locations of the Wi-Fi access points, as well as its congestion profiles. The viable improvement would be get all information and locations of Wi-Fi access points by entering a few of parameters and touching on screens of Android mobile application (EMUWiFiManager).

The most important tools in the construction of this project is to show the access points on Google Maps and then get access point information using the SNMP protocol. Hence, we used many of API libraries that can runs on Android mobile system.

(83)

69

To illustrate the benefit of the use of this project, we conducted a number of measurements for network utilization and throughput near the EMU library. Wireless access service can be provided on the basis of anticipated utilization data gathered during initial site surveys conducted by administrators. As the number of users increases, site surveys can be repeated to have an up-to-date information about the network.

For further work, we recommend more focus on SNMP protocol to manage all devices of the network. In addition, further work is needed not only retrieve data but to change parameters for these devices according to its environment.

This application code can be improved in three aspects:

1. Improving the efficiency of threading 2. Optimizing device battery life

3. Minimizing memory use in the UI

It is also desible to port the application to other mobile platforms such as iOS and Windows Phone. Doing so will provide access to this application to a wider range of users.

Finally, possibility of adding extra features to this application should be investigated. In particular, signal strength measurement facility can be integrated to the application.

Referanslar

Benzer Belgeler

Keywords: sanctions, import substitution of food, food safety indices, trademark (brand), reputation assets, domestic food brands, business reputation, economic

IOSS sisteminde sağlanan kolaylıklardan faydalanabilmek için IOSS KDV kimlik numarasını, IOSS sistemi için oluşturulan azaltılmış ve basitleştirilmiş gümrük

Misugi Overhead Þut Top Kapma (Japonya Gri Kostümlü) 114.. Nitta Falcon Þut (Japonya

Bu çalışmada, nadir görülen import sıtma olgularında giderek artan oranlarda görülmeye başlayan ve diğer Plasmodium türlerine nazaran daha ağır klinik tablo sergileyen

Seyahat öy- küsü nedeniyle periferik yayması yapılan ve sıtma tanısı konulan hastanın hastaneye yattığı gün ateş ve titremesi oldu.. Erken tanı alan ve tedavi edilen

Sıtma açısından dünyada tropical, subtropical ülkelere, ülkemiz için Güneydoğu Anadolu ve Çukurova gibi endemik bölgelere seyahat öyküsü olan her ateşli olguda önce

Solmaz Gümrük Müşavirliği A.Ş., Türkiye Demiryolu taşımacılığı alanında uzman Sn.

Buradaki –d seçkisi (option) c:jprog dizini içinde paket01 adlı bir alt-dizin yaratır ve paket içindeki sınıfların derlenmiş kodlarını (bytecode, .class uzantılı dosyalar)