Mobile Computing. FINAL EXAM Due date: Dec. 23, 2018 NOTE: WRITE YOUR ANSWERS IN ENGLISH. ID#: Name: (Kor.) (Eng.)

Similar documents
Choose OS and click on it

Mobile Ad-hoc and Sensor Networks Lesson 04 Mobile Ad-hoc Network (MANET) Routing Algorithms Part 1

Assistant Professor Computer Science. Introduction to Human-Computer Interaction

Outline. CS5984 Mobile Computing. Taxonomy of Routing Protocols AODV 1/2. Dr. Ayman Abdel-Hamid. Routing Protocols in MANETs Part I

(Refer Slide Time: 1:12)

Ionic Tutorial. For Cross Platform Mobile Software Development

LECTURE 9. Ad hoc Networks and Routing

WA2535 Apache Cordova From the Ground Up. Classroom Setup Guide. Web Age Solutions Inc.

Android InsecureBankv2 Usage Guide. InsecureBankv2

If you don t have the JDK, you will need to install it. 1. Go to

Android Studio is google's official IDE(Integrated Development Environment) for Android Developers.

Quiz 5 Answers. CS 441 Spring 2017

Considerable Detection of Black Hole Attack and Analyzing its Performance on AODV Routing Protocol in MANET (Mobile Ad Hoc Network)

Content. 1. Introduction. 2. The Ad-hoc On-Demand Distance Vector Algorithm. 3. Simulation and Results. 4. Future Work. 5.

GCSE Computer Science

Routing Protocols in MANETs

CS 374 Fall 2014 Homework 2 Due Tuesday, September 16, 2014 at noon

(Refer Slide Time: 0:48)

Ad-hoc and Infrastructured Networks Interconnection

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise

SEEM4570 System Design and Implementation. Lecture 0 Introduction

CMPE 257: Wireless and Mobile Networking

White Paper. Mobile Ad hoc Networking (MANET) with AODV. Revision 1.0

Lab Android Development Environment

Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project

Developing Android applications in Windows

Café Soylent Green Chapter 12

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 05 May p-issn:

Lecture 13: Routing in multihop wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 3, Monday

Software Engineering Large Practical (Android version) 2013/2014

CS 268 Lab 6 Eclipse Test Server and JSPs

MAY CANVAS UPDATES FOR TEACHERS

Blackboard Portfolio Quick Reference Guide for Students

MN Studio Website - User Guide

LEARN TO DEVELOP A LIVE PROJECT AS PER IT STANDARDS. Module 1: What we are going to Learn. Prerequisites

Routing in Ad Hoc Wireless Networks PROF. MICHAEL TSAI / DR. KATE LIN 2014/05/14

Family Map Server Specification

An Efficient Scheme for Detecting Malicious Nodes in Mobile ad Hoc Networks

HOW TO USE MOODLE. Welcome to BFI Wien! QUICK GUIDE

Edmodo Student Guide.

MIDTERM EXAMINATION - CS130 - Spring 2003

Introduction to Dropbox Management Add a Category Add a Folder Set Availability for Dropbox Folders Add Special Access...

Assignment 1. Application Development

Silk Test Testing Mobile Applications

uachieve Guide for Advising

Virtual Hierarchical Architecture Integrating Mobile IPv6 and MANETs for Internet Connectivity

A COMPARISON OF REACTIVE ROUTING PROTOCOLS DSR, AODV AND TORA IN MANET

opensap Developing Mobile Apps with SAP HANA Cloud Platform Setting Up Your Development Environment

Sample Spark Web-App. Overview. Prerequisites

Getting Started with Eclipse/Java

Routing protocols in Mobile Ad Hoc Network

GoLive will first ask you if your new site will be for one individual or a work group; select for a Single User, and click Next.

Click the Options link in the upper right corner of the Outlook Web Access window (see illustration below).

CAL 9-2: Café Soylent Green Chapter 12

MOODLE MANUAL TABLE OF CONTENTS

Assignment Mobile Android application

Content Collection. How to Access Content Collection. From the homepage: From a course:

IP Routing Lab Assignment Configuring Basic Aspects of IP IGP Routing Protocols

CS 2110 Fall Instructions. 1 Installing the code. Homework 4 Paint Program. 0.1 Grading, Partners, Academic Integrity, Help

IBM Skills Academy. For <<Academy>> Career-based Education

Android project proposals

Extending Global IP Connectivity for Ad Hoc Networks 1

Red Hat Application Migration Toolkit 4.2

Android Studio for Windows

Google Classroom Help Sheet

SIGNATUS USER MANUAL VERSION 3.7

Homework 3 Discussion

Computer Science Department

Developing Android Applications Introduction to Software Engineering Fall Updated 1st November 2015

Section 1. How to use Brackets to develop JavaScript applications

HTML5 Creatives. MediaMath now supports HTML5 Creatives. Each T1AS HTML5 Creative must be uploaded with the following 2 components:

PBWORKS - Student User Guide

Chapter 2 Welcome App

SD Module-1 Android Dvelopment

Homework 9: Stock Search Android App with Facebook Post A Mobile Phone Exercise

Canvas Student Guide. The Office of Online Learning Massasoit Community College

EUSurvey Installation Guide

Site Owners: Cascade Basics. May 2017

CS 344/444 Spring 2008 Project 2 A simple P2P file sharing system April 3, 2008 V0.2

The Assignment is divided into preparation, practical part, and documentation.

Getting Started with Android Development Zebra Android Link-OS SDK Android Studio

SIGNATUS USER MANUAL VERSION 2.5

Google Classroom Help Sheet

EECE.2160: ECE Application Programming

CSCI 1060U Programming Workshop

Nasuni Mobile Access User Guide

Tutorial on Basic Android Setup

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1

Mobile Ad Hoc Networking Working Group

Varying Overhead Ad Hoc on Demand Vector Routing in Highly Mobile Ad Hoc Network

Perch Documentation. U of M - Department of Computer Science. Written as a COMP 3040 Assignment by Cameron McKay, Marko Kalic, Riley Draward

eclass Grades Classroom Teacher Guide Windows CSL

Assignment 1 Mobile client application

Customise your module structure

Mobile Ad-hoc Networks (MANET)

Gradebook - Grades Tab Create Assignment

CS 1102, A05 Final Exam

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

PL/SQL Developer 7.0 New Features. December 2005

PMIPv6 PROXY MOBILE IPV6 OVERVIEW OF PMIPV6, A PROXY-BASED MOBILITY PROTOCOL FOR IPV6 HOSTS. Proxy Mobile IPv6. Peter R. Egli INDIGOO.COM. indigoo.

Transcription:

Mobile Computing FINAL EXAM Due date: Dec. 23, 2018 NOTE: WRITE YOUR ANSWERS IN ENGLISH. ID#: Name: (Kor.) (Eng.) Problem #1 (10 pts). Answer the followings statements on DSR with TRUE of FALSE. 1. RREQ is a broadcast message. 2. RREP is a broadcast message. 3. RERR is a broadcast message. 4. Destination node may receive more than one RREQ messages. 5. Source node may receive more than one RREP messages for a RREQ initiated by it. 6. Source node may not receive a single RREP message. 7. The maximum number of RREP messages that a source can receive for a RREQ is the same as the number of immediate neighbors of the destination. 8. Assume S-A-B-C-D is the path found between source (S) and destination (D). When a link error occurs between B-C during delivering a packet, node B will send a RERR to S via A. 9. The first RREQ message is sent with TTL=1. This is based on the hope that the destination is one of direct neighbors of the source. 10. Route cache often degrades performance by providing stale information. Problem 2 (15 pts). Given the following network topology, node s wants to discover the route to node d using AODV routing protocol. Describe the RREQ and RREP message exchange step-by-step. The links between nodes are indicated by solid lines as in Figure 1. **Note: for better explanation, please use different figures for each step. For example, in step 1, node s broadcast RREQ to node a, with an arrow pointing out the direction of the message. Problem #3 (15 pts). Answer the following questions about MIPv6/PMIPv6 lectures: 1. What are network layer (layer-3) movement detection and link layer (layer-2) movement detection? 2. When a MN moves from one access router to another access router, handover procedure must be performed. Which of the following procedures are required for MIPv6 scheme, and which are required

for PMIPv6 scheme: link layer movement detection, network layer movement detection, IP reconfiguration, binding update/acknowledgement exchange? 3. What is the role of Home Network Prefix in PMIPv6? Is it changed while the MN moves? Problem #4 (20 pts). In SDN, when an ingress switch receives a packet for which it does not have a matching flow entry, it forwards that packet to the controller. Through some routing protocol the controller has to control the forwarding of the packet in the network. Generally, there are two types of forwarding mechanism: reactive and proactive. Give brief explanation to below questions regarding reactive and proactive forwarding. (a) Describe the difference between reactive and proactive forwarding mechanisms in SDN by discussing their mechanism. (b) For the following topology, a flow initiates at H1 and is destined at H2 and the routing/forwarding algorithm has selected the route S1 > S2 > S4 > S3 for the flow. How many control messages are generated for the first and last packets of the flow to reach to H2 when reactive forwarding is used? Answer the same for proactive forwarding as well. Problem #5 (40 pts). Using Cordova's local storage or File Plugin, make a mobile MEMO Application to keep typed-in contents after storing. The application must have User Interface as in the figure, and must contain the following functions: 1. When click the + button on the top left corner, you are able to compose a new memo 2. MEMO App displays a list of memos as in the figure below: show the preview of the memo (by displaying some text in one line, left-aligned) and the date of creating (right-aligned) 3. When you select a memo in the list, it shows the memo contents. 4. You should be able to modify the contents of the page for the memo (by clicking Modify button) 5. If you swipe to the left of the memo list, you should be able to delete it.

Hints: The following hints are made under Windows 10 environment: 1. Install Nodejs, Cordova, Java SDK (JDK- not JRE) and Android Studio as instructed in Mobile programming Lecture Week #12: Apache Cordova Framework. The installation is straightforward and can be done with no effort. 2. Configure your environment as guided in here 3. An easy way to do Problem#5 is to utilize the code in the project sharecontacts come with the lecture. a. Build and run the project with Android Studio. If you cannot build the sharecontacts project, then try to open the Android Studio with administrator privilege, and open the cmd and run the following commands: Commands - Remove the preinstalled target platforms if any: #cordova platforms remove android - Then add the new platform: #cordova platforms add android - Then try to build and emulate: #cordova build #cordova emulate android b. For seeing the effect during your development faster, just use the Android Virtual Device Manager to create a virtual device. Note that you should enable the Virtualization Technology in BIOS before you can run the virtual device. Details about creating a virtual device can be found here. Recent Android Studio hides the AVD manager menu, to access this menu, do as follows: - Open any project (or create a blank project) and press Ctrl+Shift+A - Search for "AVD Manager" to create virtual device

c. You can keep the code inside <head> </head> in the www/index.html the same, but rewrite the <body> </body> in index.html and functions in index.js to match with the tasks required for the program. d. If you use the cordova-file-plugin to save memo to a file, and later on read memo from file. Detailed instructions about cordova-file-plugin can be found here (including installation and API guidelines). You can create, write, and read file easily. If you have your file name (a string) and want to perform read/write operations to that file, you must convert the file name string to the fileentry structure which can be input into the APIs. Use window.resolvelocalfilesystemurl()for the conversion. You can name your memo files with same extension (e.g. *.memo) for later filtering the files, or create your own folder. Your memo files can be stored in cordova.file.datadirectory, or a sub-directory you create inside this directory. e. If you use local storage to store memo, together with your own search, here is one reference store data using local storage and JSON: https://thejackalofjavascript.com/storing-objects-html5- local-storage/,

Submission Guidelines Use the provided word template file to fill in your solution Make a folder named FINAL_ID_NAME including all the files you need to submit, then compress your folder to be FINAL_ID_NAME.zip and submit the compressed file via icampus. Your folder must consist of: o A.doc file containing solutions for problem #1~4, and a report of problem #5 o For problem#5, the following additional files are required: The whole executable source code of your program The executable file of the application (.apk) Configuration files and related files, if any o A report of problem#5 must explain how you implement your MEMO application. Important functions must be explained in brief with source code quote. Don t put the whole source code of your program in the report! Here is an example of the required way to quote the important function source: (the green texts are required comments) Function: fnmodifymemo() function fnmodifymemo(memo_idx){ fnstate = 'fnmove'; selectedmemoidx = memo_idx; var memo = memo_list[memo_idx]; if(memo.locked) { // if memo is locked $("#check_password").val(''); // set empty string to input $("#checkpassword").popup("open"); // show password popup } else { $("#memo_modify_nm").val(memo.content); // set memo content to input $.mobile.changepage("#memo_modify"); // go to modify page } } Grading policies: o Your solutions and program must be done in ENGLISH o Partial credit will exist, and significant credit is available to those who demonstrate a functioning program that fulfills the requirements listed. Clean code, good commenting, and intelligent/descriptive error handling combined are important components of making the project manageable- and important components of your grade. o The report of problem #5 must: Introduce your application: what is your application and its purpose, and some highlights of the application that could impress the examiner Declare your development environment (platform and compiler);, and how to COMPILE/BUILD and RUN your applications step by step Declare the folder structure of the source code and the meaning of each file inside Declare how to set up and how to use extra non-standard applications/ components you have used for your implementation, if any Describe in detail about your implementation of functionalities that are considered very important (based on your perspective)

o o o NOT to include the whole source code in the report Show two or three screenshots along with explanation for each of functionalities you have implemented Bonus: Bonus points will be awarded for extra idea and implementation for the MEMO application There will be points off for inappropriate submission style! If you are found copying each other, both will get 0 points for the copied parts. For students from KyungHee University, please submit your solution (as described above) by email, to choo.hw.skku@gmail.com and cc ntdung@skku.edu.