Vous êtes sur la page 1sur 30

OVERVIEW

INTRODUCTIO N
Android is an open source operating system based on
Linux kernel and launched by Google.

It is a comprehensive operating environment based on


the Linux V2.6 kernel.

Unlike PC operating system, mobile phone operating


systems are constrained by their hardware, storage space, power dissipation and mobility conditions.

Android is a layered system.

ARCHITECTURE OF ANDROID

COMPONENTS OF ANDROID APPLICATIONS

1. 2. 3.

ACTIVITY: It represents a single screen with a user

interface.
INTENT BROADCAST RECEIVER: It is in charge of the reception

of system wide broadcast and take response aiming at the information that a broadcast transmitted.

4.

CONTENT PROVIDER: They provide data share

mechanism among applications.

5.

SERVICE: It runs in the background to perform long-

running operations or to perform work for remote processes and does not provide a user interface.

LIFECYC LE OF AN ACTIVIT Y

The Android Software Development Kit (SDK) includes a comprehensive set of development tools:

Debugger Libraries An Emulator based QEMU Documentation Sample Code Tutorials

The officially supported Integrated Development


Environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin and NetBeans IDE also supports Android development via a plugin.

Android applications are packaged in .apk format and


stored under /data/app folder on the Android OS

APK package contains .dex files (compiled byte code


files called Dalvik executables), resource files, etc.

CROWDSOURCING IS A DISTRIBUTED PROBLEM-SOLVING MODEL IN WHICH A CROWD OF UNDEFINED SIZE IS ENGAGED TO SOLVE A COMPLEX PROBLEM THROUGH AN OPEN CALL.

Smartphones offer a great platform for extending existing


Web-based crowdsourcing applications to a larger contributing crowd, making contribution easier and omnipresent.

Smartphones multi-sensing capabilities including


geolocation, light, movement, and audio and visual sensors offer a variety of new, efficient ways to opportunistically collect data, enabling new crowdsourcing applications.

SMARTPHONES

Smartphone: A powerful sensing device!


Processing: 1.4 GHz quad core (Samsung Exynos) RAM & Flash Storage: 2GB & 48GB, respectively Networking: WiFi, 3G (Mbps) / 4G (100Mbps1Gbps) Sensing: Proximity, Ambient Light, Accelerometer, Microphone, Geographic Coordinates based on AGPS (fine), WiFi or Cellular Towers (coarse).

In-House Applications!

SmartTrace (ICDE09,MDM09,TKDE12)

SmartP2P (MDM11, MDM12)

Airplace (MobiSys12, MDM12)

in-house applications that optimize location-based search and similarity services over data generated by a enables similarity matching between a given pattern and the trajectories of smartphone users, keeping the ; (ii) Crowdcast enables location-based interaction by efciently calculating the k nearest neighbors for each artP2P optimizes energy, time and recall of search in a mobile social community for objects generated by a se applications can be deployed on SmartLab, a novel cloud of 40+ Android devices deployed at University of en testbed that facilitates research and development of applications on smartphones at a massive scale.

Crowdsourcing with Smartphones

A smartphone crowd is constantly moving and sensing providing large amounts of opportunistic data that enables new services and applications

distributed problem-solving model ened size is engaged to solve a an open call (see Figure 1). Crowdpenetrated the mobile workforce, old the full potential of this new his is true due to the smartphones nique features. Smartphones are in and are always connected. Thereatform for extending existing weblications to a larger contributing n easier and omnipresent. Furtherabilities (geo-location, light, moveors, among others) of smartphones, cient means for opportunistic data owdsourcing applications . ons on smartphones can be clasweb-based applications or as new class expands to users that do not onal workstation and adds the dion-based information to the service. ions are Gigwalk 1 , Jana2 and the

Fig. 1. Crowdsourcing with smartphones: A smartphone crowd is constantly moving and sensing providing large amounts of opportunistic data that enables new services and applications.

Another key characteristic of mobile crowdsourcing is

CROWDSOURCING ON SMARTPHONES: THE TAXONOMY

Origin
->

We can classify smartphone crowdsourcing applications into either extensions of Web- based applications or new applications. -> The former class expands to users who dont have access to a conventional workstation and adds the dimension of real-time location-based information to the service. Examples include Gigwalk (www.gigwalk.com) and Jana (www.jana.com)

Crowds Involvement
->

Another key characteristic of mobile crowdsourcing is whether the crowds contribution is participatory or opportunistic.

Data Wisdom
->
Inputs value can lie either in the individual or the collective contribution, where crowdsourcing system strives to benefit from each contribution in isolation or emerging property resulting from the system of stimuli, respectively.

the from an

Contribution Quality -> Homogeneous: Each contribution has the same weight

-> Heterogeneous: Each contribution is evaluated and can be compared to, compete against, or complete other contributions.

Incentives

-> The incentives used for the crowd can include pay, altruism, enjoyment, reputation, and so on. In our taxonomy, we make a more distinct division between monetary, ethical, entertainment, and services exchange.

Human Skill Exploited

-> Visual recognition, language understanding, and communication.

-> Human skill is required only in applications with participatory contribution.

CONTINUOUS ALL K NEAREST


NEIGHBOR QUERIES IN SMARTPHONE NETWORKS

MOTIVATION
Create a Framework for Efficient Proximity Interactions

Screenshots from a prototype system implemented for Windows Phone

CONTINUOUS ALL K NEAREST NEIGHBOR QUERIES

Find 2 Closest Neighbors for ALL User

SYSTEM MODEL

A set of users moving in the plane of a region (u1, u2, un) Area covered by a set of Network Connectivity Points (NCP) u3. Query Processor Each NCP creates the notion of a cell u2. QP W.l.o.g., let the cell be represented by a
circular area with an arbitrary radius u0

.u .u
1

A mobile user u is serviced at any given time point by one NCP. There is some centralized service, denoted as QP (Query Processor), which is aware of the coverage of each NCP. Each user u reports its positional

u6

.
u7

u5

PROBLEM DEFINITION
Definition of the CAkNN problem:
Given a set U of n users and their location reports ri,t R at timestep t T , then the CAkNN problem is to find in each timestep t T and for each user ui U the k objects Usol U ui such that for all other objects uo U Usol ui, dist(uk, ui) dist(uo, ui) holds
Query Processor

u3

. . .u . .u
1 4

u2 u0 u6 u5

.
u7

THE PROXIMITY ALGORITHM For every timestamp:


1. Initialize a k+-heap for every cell 2. Insert every users location report to every k+-heap

Notice that k+-heap is a heap-based structure and most location reports will be dropped as a result of an insert operation

3. For every user scan the k+-heap of his cell to find his k-NN
Query Processor

u3

u6 u5

u2 u0

. .

.u
.u
1

.
u7

INTUITION BEHIND PROXIMITY

Users in a cell will share the same search space (search space sharing)

Compute 1 search space per cell only!


Query Processor

Search Space (contains the right answers for all users in C)

u3 Cell

.
u2 u0

. .u
1

.u

u6

.
u7

u5

PROXIMITY K+-HEAP
The k+-heap structure for a cell
k+-heap structure

U list

K top-k heap

B ordered list

All users inside the cell

K nearest users Beyond k nearest outside the cell outside users (correctness)

K+-HEAP INSERTION ALGORITHM Input: new user ux


1.IF ux is inside the cell THEN insert in list U 2.ELSE IF ux is closer to the border of the cell than the head of the heap THEN 3. 4. 5. 6.
insert in heap K IF K has more than k elements THEN pop the user uh from the head of the heap insert uh into the ordered list B

7.
8. 9.

update candidate boundary


prune list B according to the new head of the heap END IF

10.ELSE IF ux is closer to the boundary of the cell than candidate boundary THEN
insert ux to ordered list B

11.ELSE discard ux END IF

K+-HEAP CONSTRUCTION (FOR CELL C) k -heap structure


Assume k=2.
Structur e K
+

Arriving Structure Reports U

Structure B
U list K top-k heap B ordered list

u6
u4 u7 u2 u3

u6
u6 u6 u6 u6 u4 u7, u4 u4, u2 u3, u2 u7 u4, u7

u3

.
u2 u0

. .

.u

u6 u5

.u

u1
u5 u0

u6
u6 u6, u0

u2, u1
u2, u1 u 2, u 1

u3, u4
u3, u4, u5 u3, u4, u5

.
u7

THE CROWDCAST APPLICATION SUITE


Crowdcast Suite

PROXIMITY

WIN7 API
Ranked 3rd in Microsofts ImagineCup contest local competition (to appear in the next demo session!)

CROWDCAST: MSGCAST

MsgCast
- Location-based Chat Channel (Post / Follow) - Provide Guidelines

"Get your location-based questions answered!"

CROWDCAST: HELPCAST

HelpCast
"The Ubiquitous Help Platform for Anyone in Need

CROWDCAST: EYECAST

EyeCast
- Disaster Recovery Operations - Indoor Video Conferencing Network

"Extend your Vision beyond your 2 eyes!"

CROWDCAST: WEBSITE

http://www.zegathem.com/