ANDROID PACKET MONITOR



Similar documents
platforms Android BlackBerry OS ios Windows Phone NOTE: apps But not all apps are safe! malware essential

Are free Android virus scanners any good?

Mobile Testing That s Just a Smaller Screen, Right?

Conducting Virtual Meetings

Wzzard Sensing Platform Bluetooth App User Manual

6 Steps To Success With Your Web Agent Solutions Website

Challenges in Android Application Development: A Case Study

This guide describes features that are common to most models. Some features may not be available on your tablet.

FAQ - Frequently Asked Questions Sections of Questions

DEVELOPING A SOCIAL MEDIA STRATEGY

MOBILE MARKETING. A guide to how you can market your business to mobile phone users. 2 April 2012 Version 1.0

RingCentral from AT&T Desktop App for Windows & Mac. User Guide

Remote Network Accelerator

Satellite Broadband FAQs

SwannSecure Wi-Fi Monitoring System

Google Lead Generation for Attorneys

The 5-Minute Guide to Customer Support

Apple Deployment Programs Apple ID for Students: Parent Guide

Google Lead Generation For Attorneys - Leverage The Power Of Adwords To Grow Your Law Business FAST. The Foundation of Google AdWords

Quick Start Guide Vodafone Mobile Connect USB Stick. Designed for Vodafone

Live Maps. for System Center Operations Manager 2007 R2 v Installation Guide

About Kobo Desktop Downloading and installing Kobo Desktop Installing Kobo Desktop for Windows... 5 Installing Kobo Desktop for Mac...

Point of View ProTab 3XXL IPS - Android 4.0 Tablet PC. Contents... 1 General notices for use... 2 Disclaimer... 2 Box Contents...

4 ways to grow your small business with Salesforce CRM

Phone Pal: Remote Mobile Access through Short Message Service Prof. Mitul K. Patel 1 Gadhiya Janki D. 2

ANDRA ZAHARIA MARCOM MANAGER

Resco CRM Guide. Get to know Resco CRM

How to Configure Outlook 2013 to connect to Exchange 2010

USER MANUAL ITV101E v.1.0. PlayXtreme INTERNET TV HUB

Quick Start Guide Vodafone Mobile Connect USB Stick. Designed for Vodafone

HPUG_1014. Shaw Home Phone. User Guide

Hello. Quick Start Guide

Your Digital Dollars Online & Mobile Banking

Vodafone Plus. User Guide for Windows Mobile

How To Get More Data From Airtel For Free

Contents. Introduction. What is the Cloud? How does it work? Types of Cloud Service. Cloud Service Providers. Summary

SAP Digital CRM. Getting Started Guide. All-in-one customer engagement built for teams. Run Simple

Hacking your Droid ADITYA GUPTA

Data Storage on Mobile Devices Introduction to Computer Security Final Project

BlackBerry Link for Windows. Version: User Guide

Using NetBooting on the Mac OS X Server for delivery of mass client deployment

How to Configure Outlook 2007 to connect to Exchange 2010

WELCOME! LETS BEGIN. James Marchant Founder of Diligence Digital

PCI vs. PCI Express vs. AGP

Installation Guide. Live Maps 7.4 for System Center 2012

This session was presented by Jim Stickley of TraceSecurity on Wednesday, October 23 rd at the Cyber Security Summit.

Welcome to the Most. Personalized TV Experience

The Internet. Main Goal: Students will learn how the Internet works, as it relates to URL addresses and web pages. OVERVIEW: VOCABULARY: OBJECTIVE:

How to Scale out SharePoint Server 2007 from a single server farm to a 3 server farm with Microsoft Network Load Balancing on the Web servers.

Systems Manager Cloud Based Mobile Device Management

FAMILY GUIDE TO. Mobile Safety. How to keep your children safe and connected in today s mobile world SPONSORED BY:

Excel macros made easy

This guide describes features that are common to most models. Some features may not be available on your tablet.

Testing & Assuring Mobile End User Experience Before Production. Neotys

Travel agents guide to SMS messaging. How to use SMS messaging for marketing, booking, and customer support

PloneSurvey User Guide (draft 3)

Samsung Xchange for Mac User Guide. Winter 2013 v2.3

Quick Start Guide Vodafone Mobile Broadband USB Stick. Designed for Vodafone

Guide for wireless environments

Store & Share Quick Start

Why You Need to Follow Up with Your Customers

Contents. Preparation/SetUp...2

Connecting Software Connect Bridge - Mobile CRM Android User Manual

Chapter 12 - Software. Unit 1 Role and function of application software

An introduction to Hosted SQL database applications

AVG AntiVirus. How does this benefit you?

WorkTime UC Mobile Admin Guide

How To Save Money On Voice And Data For Your Business

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

Introduction to Cloud Services

MASSIVE Differences to Sales Revenues in their Specific Markets GUARANTEED!

1. Where do I obtain isourcemortgages? Please search for isourcemortgages in the Apple App Store where you can then download it.

Verizon Remote Access User Guide

BlackBerry Link for Windows. Version: User Guide

Cloud computing is a marketing term that means different things to different people. In this presentation, we look at the pros and cons of using

Using Your Smartphone for Everything! Pt. II. It s a Remote Control


MOBILE APPS. QA Testing for mobile applications

What is PC Matic?...4. System Requirements...4. Launching PC Matic.5. How to Purchase a PC Matic Subscription..6. Additional Installations.

The following pages describe the installation and configuration process of GPmicro s dinkum Backup Software.

COMEAU WEB COPY. by Brett Comeau. Comeau Web Copy. lead marketing. e: o: 1(888) c: 1(310)

How To Set Up Dataprotect

Getting Started with Turbo Your PC

Kaspersky Password Manager

Choose your mobile device carefully. The wrong platform could leave you without key functionality.

for Android Windows Desktop and Conduit Quick Start Guide

Driver Updater Manual

How To Make Money From A Network Connection

How to register and use our Chat System

This document is provided "as-is". Information and views expressed in this document, including URLs and other Internet Web site references, may

Freshservice Discovery Probe User Guide

Transcription:

University of the western cape ANDROID PACKET MONITOR BACK END CHISHA MALAMA 3/27/2012

2 Contents INTRODUCTION... 3 USER REQUIREMENTS... 4 REQUIREMENTS ANALYSIS... 4 Android touch screen phone... 7 Application loads on startup... 7 Application can be shut down on user request... 8 Application must use Database SQLite... 8 Application must use Less Memory... 8 Application must use less Processing power... 9 Application must not slow down other applications... 10 GLOSSARY... 13 References... 14

3 INTRODUCTION Mobile phones in recent years have become very smart in terms of internet connectivity. Mobile phones have now got the ability to access the internet either through 3g data using mobile service provider or through Wi-Fi connectivity. With the continuous use of internet through mobile phones, users have become un aware of the real cost behind the their internet usage especially with the many different phone applications that all want internet access like Facebook or Twitter Apps which falls under the most used apps on the internet. The user would like to know somehow what the hidden costs of internet usage are in a more quantifiable manner that could help them plan better internet usage.

4 USER REQUIREMENTS Store packet information entering and leaving the phone i.e. bytes Keep track of each application sending and receiving data Save all information on the different byte sizes entering and leaving the phone Save data accumulatively Save all information in an easily accessible way Save all information including which application is sending and receiving data. Keep dates of when data is sent or received Separate the stored data in categories mainly data transmitted/received through WIFI or through 3g data REQUIREMENTS ANALYSIS Android touch screen phone. Application loads on phone start up Application runs in the background Application can be shut down on user request Application must use Database SQLite Application must be light on memory usage Application must not slow down other application Use Threads where possible Must be able to store data with dates Must be able to integrate seamlessly with the front end app

5 User Scenario Suppose there is a lawyer who requires internet access on the move. He needs to be connected to the internet every minute. He needs immediate access to his emails and other online materials. He buys an android phone on contract which comes with 50mbs free data a month and R200 air time of which he pays R350 for the contract per month for the next 24 months. At his office he has Wi-Fi connectivity provided by his company of which the phone can connect to but he is never at his office for long hours because he is on the move in and out of court. Whenever the phone is not connected to Wi-Fi it uses his 3g data for internet access. By default an android phone is set for updates and all other internet demanding application being used by the operating system itself. The Android OS also has by default a twitter, Facebook and Gmail application installed. The Lawyer decides to configure the Gmail application to sync with his Gmail account every few seconds and then also configures the Twitter and Facebook application so that it can notify him of status updates and that he himself can send/receive emails and Facebook without opening a web browser. In the first week he discovers the Market application on the phone which can allow him to download other applications like games and install them. He decides to install online games which like chess where he can play with his colleagues without being in the same place, he also installs many other applications like Weather application which can tell him to dress warmer if it cold, etc. He finally installs a news application which reads news from many different sites and puts them together in one space. At this point the lawyer is quite happy because he basically has everything he needs at his fingertips, he can receive and send his emails instantly, he can browse the internet, read the news, etc. In the third week of his phone use he discovers that when he is not connected to the Wi-Fi at his work he is no longer able to receive his emails or Facebook status updates, no news no nothing relating to the internet. He decides to check his balance and discovers that all his 50mb 3g data is finished and not only that but also his air time has run out. The lawyer now begins to wonder what he did wrong to lose all the 50mb 3g data plus his air time but he could not find an answer for himself. He then decides to call his service providing to inquire about his account because in his eyes the air time and data has just disappeared. The service provider tells him that his current balance is what it s supposed to be. The Lawyer is no longer happy as he cannot recall how he spent all his 3g data and air time to such an extent in a short period of time.

6 As he does not have a networking or computing background he does not really understand how big or small 50mb of data is or how his air time when converted to 3g data would cost. He has now found himself in a problem which is not being able to tell how his 3g data is being used and how much it is costing him. He then hears from his friend of how he can manage to know how much the data usage really cost. His friend tells him of how this application can help him with better managing of his data usage and also give him costs. In the next month he decides to download the application and install it. It shows an interface where he can choose to see per day, week or month how his internet is being used. It also shows him the costs attached to that kind of usage and shows him which applications are using the most of his 3g data. Using the list he is able to decide which applications he must shutdown so as to save his 3g data from being finished without his knowledge. Once again he is a happy mobile phone user.

7 Requirements Analysis Detail In order to achieve this project there is need for a touch screen android phone. At this point we cannot specify which version of the android operating system should the phone have but I think this project can target the very basic android version. The phone should at least have basic 3g data connectivity. This application can also work on basic Wi-Fi connection, the only problems so far is Wi-Fi connectivity under proxy that is one thing that the android operating system has not yet sorted out and there is no they are to produce a new operating system if it is to have Wi-Fi connectivity under a proxy, but if it would be wise for them to add proxy connection through Wi-Fi. At this point of the project Wi-Fi under proxy connection is not possible. This is a joint project where I Chisha Malama shall do the back end application while Mr Josue Martins shall do the front end application Android touch screen phone This application is targeted for touch screen phones that operate on the android OS. Not all touch screens operate the same hence each have to programmed accordingly so for this project alone we shall be focusing on the android OS. Application loads on startup The application should be able to load when the phone starts up. The main purpose of this application is to monitor it must not miss anything hence it would be wise to have it loading on startup. Software that does mostly monitoring like Anti viruses, Firewalls have to load on start up. If they are left to manual start, the user might forget to start it and hence rendering the application useless as it will not work while it is in its off state there by not doing any monitoring at all. The best option here is to make the application be loaded on startup of the phone. The only drawback is if the user stops the application manually then the application will have no way of switching itself back on.

8 Application can be shut down on user request The user has the control to stop the application if need be. Every application has to give back the user the option to shut it down if the user wishes for whatever reason. Sometimes applications can have a malfunction that means in those situations the user would require switching off the application to maybe free up some memory or processing power hence the need to give the control back to the user in case of emergency. Application must use Database SQLite The app must be able to somehow store the data that it collects for future use. It cannot be confirmed if they are many different ways to store data but at this point they are two ways data can be stored. Data can be stored using text files that can be accessed and changed at any time thought this would be the easiest way of storing data it might not be the most effective way because more functions have to be put into place to read and write the data there by making text files in effective as they are usually used for single access at once and data might be recorded poorly e.g. two methods A and method B both want to update a number in a text method A wants to add 10 to the number it finds while method B wants to add to the number it finds. Before they can both add and update the number they must first read what is the current number inside so they both attempt to read the file at once and they find 7 inside so method A does its calculation and adds 10(7+10 = 17) then puts 17 now while at the same time method B adds 3(7+3= 10) and it puts 10 inside. What has happened here is that method B has updated the text file wrongly. The correct way should have been 7 + 10 = 17 then method B must now read 17 and add 3 to it then 17 + 3 = 20 should be what exists in the file. This means other methods must be created in order to prevent such kind of overrides. Creating more methods to prevent such kind of problems would be time consuming. The best option is using a database called SQLite which would be not so easy to use as a text file but it would be the most efficient as it is a database and would provide all the advantages that a database brings therefore using SQL Lite is the best option. Application must use Less Memory Since this application is going to run in the background it must not consume a lot of the cell phone s resources as in doing so it might deter from what the application is meant to do. The application must be installed once and hopefully without the user s intervention run for as long as it is needed. The application must work in the background almost unnoticed as it does its packet monitoring. To achieve this the application must not consume too much of the phones resources hence extreme programming techniques have to be employed such as using threads where possible and avoiding use multiple while loops inside other while loops.

9 If the application uses too much memory it can cause the phone to slow down when the user is doing his/her day to day activities. This can cause the user to uninstall or stop the application Any application must have efficient memory usage as any wastage of memory can make the application ineffective or be seen as very annoying and not enjoyable to use. Quality is the ultimate goal of software engineering hence proper planning must be put into effect to avoid any over use of memory meaning any classes or modules/functions or anything that together forms part of the application must fall under a criteria that each of them shall individually be tested to prove that it in itself does not exceed the maximum memory usage allowed to it. This will make it easier because once every piece is put together we could conclude that the whole unit or product is at least maximizing memory usage. Memory efficiency combined with processor efficiency can make the final product work smoothly in the background without even the user ever noticing that it is there. Application must use less Processing power As said earlier that the main responsibility of this application is to run in the background and at the most go unnoticed by the user and the only way that is achieved this is for the application not use too much processing power or to do one too many calculations. Too many operations might slow the phone down and cause the user to notice the application in its demanding state and decide to delete the application there by defeating its purpose. To achieve a low processing demand application we must make sure that the functions or classes that form part of the system much each meet the criteria of low processor usage in their own setup then also in as a joint set up. We must also use of features such threads in the programming so as not to waste processor time and at the same we must not add too much computations where not needed. The phone model itself can also be a problem as has already been proven by the Vodaphone V85 which runs an android operating system but is just too slow to even run its own operating system utilities like making a call or opening up messages hence there might be a need to set the minimum processing power that this application can run on. The phone processor and memory do have a very huge role to play in terms of how the application performs the smaller the memory and slower the processor speed then the miss timed operation of the application. The application works as a packet monitor which means that it must always monitor packets that are leaving and entering the phone at all times but if the processor issues a busy state to the application or the phone blacks out for some seconds it means that some packets might go unnoticed by the application there for the application might calculate a small rate of packets sent/received but in actual facts many packets passed while the phone itself was busy blacking out. It is difficult at this time

10 to know what processing priorities come first in the cell phone environment maybe there would be need to research further into that. Application must not slow down other applications When the application is running it must only monitor and not interfere with what the other applications are doing i.e. if there is an application that is accessing the internet the packet monitor must not delay the transmission of data by trying to do too many things or send other information before the real information is sent. In short the application must at always exhibit efficiency and use memory and processor efficiently

Project plan Below is a Gnatt chart represented in weeks of the year 2012:

12 A USE CASE DIAGRAM REPRESENTING THE SYSTEM

GLOSSARY Wi-Fi: sometimes spelled Wi-Fi or Wi-Fi) is a popular technology that allows an electronic device to exchange data wirelessly (using radio waves) over a computer network, including high-speed Internet connections (Wiki) 3g: 3rd generation mobile telecommunications is a generation of standards for mobile phones and mobile telecommunication services fulfilling the International Mobile Telecommunications-2000 (IMT- 2000) specifications by the International Telecommunication Union.[1] Application services include wide-area wireless voice telephone, mobile Internet access, video calls and mobile TV, all in a mobile environment.(wiki) 3g data: Internet access through 3g Application: a computer program that performs one or more functions App: Short for Application Install: the process of putting an application on a phone/machine so as to be used OS: An operating system (OS) is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is a vital component of the system software in a computer system. Application programs require an operating system which are usually separate programs, but can be combined in simple systems (Wiki) Memory: refers to computer components and recording media that retain digital data. Data storage is a core function and fundamental component of computers. Processor: The hardware that makes all the computations

14 References Getting the Current Application's Memory Usage by Richard Carr, published at http://www.blackwasp.co.uk/appmemoryusage.aspx The Developer's Guide http://developer.android.com/guide/index.html Canadian Information Processing Society. "I.S.P. Designation". Retrieved 2007-03-15. Randell, Brian (10 August 2001). "The 1968/69 NATO Software Engineering Reports". Brian Randell's University Homepage. The School of the Computer Sciences, Newcastle University. Retrieved 2008-10- 11. "The idea for the first NATO Software Engineering Conference, and in particular that of adopting the then practically unknown term "software engineering" as its (deliberately provocative) title, I believe came originally from Professor Fritz Bauer. "Internet, n.". Oxford English Dictionary (Draft ed.). March 2009. Retrieved 2010-10-26. "Shortened < INTERNETWORK n., perhaps influenced by similar words in -net" Internet users graphs, Market Information and Statistics, International Telecommunications Union Heeks, Richard (2008). "Meet Marty Cooper the inventor of the mobile phone". BBC 41 (6): 26 33. doi:10.1109/mc.2008.192. Clint Smith, Daniel Collins. "3G Wireless Networks", page 136. 2000. Mobile Game and App Programming Tutorials DrMop Mobile Application Development http://www.webmapsolutions.com/mobile-arcgis-paper-gps-datacollection