Diploma Thesis Collaborative Data Processing on Mobile Handsets Jan Kettner. Examiner: Prof. Dr. Mesut Günes Tutor: Georg Wittenburg, M. Sc.

Similar documents
Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Telematics Chapter 9: Peer-to-Peer Networks

Developer s overview of the Android platform

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Android App Development

CS260 Intro to Java & Android 04.Android Intro

Mobile Computing. Juha-Matti Liukkonen, Nov 17, 2010

Android Overview. Francesco Mercaldo, PhD

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

Mobile Computing Meets Research Data

Android Overview. Most of the material in this section comes from

Introduction To Android

Introduction to Peer-to-Peer Systems

Structure of OS. After knowing a bit of OS Review of different computing environment

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Distributed Hash Tables

Android. (XKE Mars 2009) Erwan Alliaume.

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Anthony Hand, M.S.I. Mobile User Experience Designer, Hand Interactive Presented at:

Slides for Chapter 10: Peer-to-Peer Systems

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Android - open source mobile platform

IJRDTM Kailash ISBN No Vol.17 Issue

Peer to Peer Networks

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

Chapter 10: Peer-to-Peer Systems

08 Distributed Hash Tables

Peer-to-Peer Systems. Chapter General Characteristics

Android In Industrial Applications. A Field Report

Mobile Application Development

FutureWalker

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Peer- Peer to -peer Systems

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

Android Software Development Kit (Part I)

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Ahmed Ali Big fan of Android

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

The World of Android Development

An overview of mobile and embedded platforms

Comparative Analysis of Smartphone Operating system Android Apple ios and Windows

Mobile Handset Population in Finland

Athens University of Economics and Business. Dept. of Informatics

Making Gnutella-like P2P Systems Scalable

Distributed Systems Introduction. Matthias Kovatsch Distributed Systems Group

Introduction to Android

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Peer-to-Peer Systems. Internet Computing Workshop Tom Chothia

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?

Content Overlays. Nick Feamster CS 7260 March 12, 2007

internet technologies and standards

Android & iphone. A Comparison. Stefan Tramm JUGS, Jahresevent

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Chapter 2: Operating-System Structures

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Peer-to-Peer Networks

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

SHWETANK KUMAR GUPTA Only For Education Purpose

Modern Technology of Internet

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Introduction to Android

Slides for Chapter 10: Peer-to-Peer Systems. From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Introduction to Android development

Module SDS: Scalable Distributed Systems. Gabriel Antoniu, KERDATA & Davide Frey, ASAP INRIA

Motivation for peer-to-peer

Outline A Hierarchical P2P Architecture and an Efficient Flooding Algorithm

17655: Discussion: The New z/os Interface for the Touch Generation

Chapter 2. Operating-System Structures

A STUDY OF ANDROID OPERATING SYSTEM WITH RESPECT WITH USERS SATISFACTION

Debunking some myths about structured and unstructured overlays

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Advanced Computer Networks

COSC 3P97 Mobile Computing

Xamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS?

Structured Peer-to-Peer Search to build a Bibliographic Paper Recommendation System

Peer to Peer Networks

Architectures for Distributed Systems

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Android App Development

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

Chapter 2: System Structures

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger

Peer-to-Peer Internet Applications: A Review

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Mobile development initiation

CPSC 536N: Randomized Algorithms Term 2. Lecture 4

Handling Churn in a DHT

Mobile OS Landscape. Agenda. October Competitive Landscape Operating Systems. iphone BlackBerry Windows Mobile Android Symbian

Nokia for developers. Alexey Kokin. Developer Relations

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Introduction to Android

Brief Intro on Mobile Platforms and Dev. Tools

Mobile Application Development - Android

Today. Architectural Styles

Lecture 2: January 24

Transcription:

Diploma Thesis Collaborative Data Processing on Mobile Handsets Jan Kettner Examiner: Prof. Dr. Mesut Günes Tutor: Georg Wittenburg, M. Sc. 04.10.2010

Overview Motivation Smartphone OS (Android) Peer-to-Peer Networks (Pastry) MobP2P Base System MobP2P Example Application Software Demonstration Future Work 2

Motivation Thesis is combination of 2 developments: Peer-to-Peer and mobile based on patent application by Georg Wittenburg Modern smartphones have capable processing units (Nexus One: 1GHZ CPU) and provide high speed internet access (HSDPA) Mobile operators offer affordable mobile data plans always connected to the internet Devices can be Mobile devices can be used to create and store data (Music, Images). Sharing that data is next logical step (Flickr) But: Existing applications for mobile devices are built on client- server architecture. Peer-to-Peer technologies offer an efficient alternative Goal: Develop a software for a mobile platform that uses Peer-to-Peer technology for shared data processing 3

Smartphone OS Gartner predicts by 2013 more smartphones than pcs (1.82 billion) Smartphones available since mid 90s (Nokia Communicator Series) Smartphone market changed in 2007: Introduction of the Apple iphone (capacitive touchscreen, multitouch, used with fingers instead of stylus) and the Android platform Today wide selection of smartphone operating systems available (iphone OS, Windows Phone 7, Web OS, Meego, Bada, Symbian) Most smarphone operating systems are based on the Linux kernel User Interfaces controlled by touch gestures In device distribution of applications SDK for third party developers available Programming contests (ADC) 4

Android Motivation: radical increase in mobile search queries in 2007 Open Handset Alliance (Google, Intel, ARM, Samsung, HTC, T-Mobile etc. Currently 71 members) released Android platform in October 2008 Android is open source, based on the Linux 2.6 kernel using the Java based Dalvik VM. Dalvik VM is register based and optimized for low memory scenarios No licensing fees for Android Today 17.7 % marketshare of smartphone os worldwide Android SDK, freely available for Windows, Mac and Linux OS Android Developer Challenge (ADC 1, 2008, 1778 entries, 5M $) Android Market: Currently 120.000 applications 5

Android Tools ADT Eclipse plug-in for Android application development Android applications consist of source code and XML data and are signed Android Manifest declares application components & determines its rights Compiler creates an Android Package Deployed application packages are converted (optimization) into Dalvik executable files (.dex) 6

Android Application Components Activity User interface component. Applications may have multiple independent Activities drawn in their own windows. Activities have multiple entry points (no main() method) Intent Activates other application components. Directed and undirected Intents. Intent may transport data bundles. Services Services run indefinitely and independently in the background (e.g. waiting for a network event) and may activate Activities with Intents Broadcast Receivers Broadcast Receivers respond to broadcast announcements mostly originating in system code Content Providers Content Providers can be used to make application data available to other applications. 7

Peer-to-Peer P2P technologies responsible for 45% to 82% of worldwide internet traffic. P2P mostly known for its use in file sharing application but there are many other possible applications (Diaspora, Skype, IM, IPTV) Peer-to-Peer Systems are defined as a system of self-organizing equal and autonomous units, peers, that without using centralized services operate on an existing network with the goal of sharing resources First generation (unstructured) Peer-to-Peer networks (Gnutella, Kazaa) made no implications on network structure. Nodes connected randomly. To send messages Flooding. Solution were hybrid systems (Napster). Second generation networks (Chord, CAN, Pastry) introduced DHT that partitioned the namespace of the network. Messages are forwarded to that entry in DHT corresponding to the target Node ID 8

Pastry Pastry is a second generation Peer-to-Peer protocol. Basic Idea: Forward messages to that node sharing a longer prefix with the target node Id than the present node To each node a 128 bit identifier is assigned (Node Id). Nodes maintain 3 types of state tables (Leaf Set, Routing Table, Neighborhood Set) The Leaf Set holds those node Ids that are numerically closest. Neighborhood Set holds those node Ids that are closest according to the proximity metric (Authors propose GPS data or internet hop count). Row n of Routing Table holds those Node Ids that share an n-digit prefix. Column m of RT holds those Node Ids where the n+1 digit is m Pastry can route a message to the numerically closest node in Steps. Delivery is guaranteed unless simultaneously L /2 adjacent nodes fail log 2 b N 9

Pastry Node Join and Departure Pastry JOIN: New node sends JOIN message to known Pastry node The known Pastry node routes the JOIN message The message is routed to the numerically closest NodeId Each node the message passes sends state table info to new node Pastry Node Departure: No hand-off procedure. Node failure must be detected by neighbors Nodes must periodically contact nodes in Neighborhood Set When failure detected node X contacts Neighborhood Set nodes Neighborhood Set nodes send state tables to X Node X repairs state table with new information 10

Pastry Routing Algorithm 1) Target NodeID LeafSet Forward to Closest NodeID else 2) Check if appropriate entry ex. in Routing Table Forward To else 3) Forward to numerically closest node in all tables BSP: 10233020, 10232100, 10233301 11

MobP2P Overview Goal: Develop a software for the Android platform based on Pastry for shared data processing Function: Users can create data items that are automatically synchronized on authorized remote devices Design Goals Reusability (Extensibility): System consists of two parts: Base System and Example Application Portability: fixed set of message types and structure to enable porting to multiple platforms Redundancy: Data items are stored on external nodes, from where they can be retrieved by authorized nodes 12

MobP2P Base System Architecture Base System SyncService: Data item management PushService: Creation and processing of Pastry and Application messages Pastry SubSystem: Pastry implementation DataService: Data item and Pastry data storage CryptoService: Encryption and decryption of data items Example Application ApplicationService: Interface that enables access to the Base System 13

MobP2P Three Perspectives of Data Items A data item can be seen from three perspectives: SyncObject: Perspective of owner, read and write access, creates and distributes key Remote Object: Perspective of subscriber, read access, holds key for decryption ExternObject: Perspective of external storag node, cannot access encrypted data item, 14

MobP2P Message Format Distinction between Pastry and application level messages. Pastry Level messages are handled by PushService. Application level messages are wrapped in a Pastry level message. If a Pastry level message contains an application level message the message is passed on to the SyncService for further processing. Pastry level messages: JOIN, JOIN_RESPONSE, SEND_TABLES, APP_DATA Application Level Messages: REQUEST_SYNC_OBJECT, DELIVER_SYNC_OBJECT, DELIVER_DATA, SAVE_EXTERN, REQUEST_EXTERN, DELIVER_EXTERN 15

MobP2P Pastry Implementation Testing on Android emulator caused extreme low node numbers Pastry configuration values: B(Base) = 2 L/2 = 8 Numerical difference used always instead of proximity metric To send a message an AppMessage instance is passed to the PushService.push() method 16

MobP2P Example application PeerStrings Application designed to test the MobP2P Base System functionality Main functionality is synchronization of String data GUI package holds Activities Application package holds Implementation of the Application Service Interface 17

MobP2P Example Application cont'd DisplayStrings is main Activity of the example application Displays a list of String data items from user and those data items the user has subscribed to Other Activities (EnterNode, EnterPastryPeer, EnterContact, EnterFriend) used to enter data Possible future applications: Shared Shopping List, Calendar Synchronization, Shared Notepad, etc. 18

Future Work Implementation of proper proximity metric Implementation of Neighborhood Service Object Serialization Implementation for various smartphone platforms 19