coos - coordination support for mobile collaborative applications

Post on 24-Apr-2015

194 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

I present the COOS library, which can be used to create mobile collaborative applications.

TRANSCRIPT

CooSCoordination Support for Mobile Collaborative Applications

Mário Henrique Cruz Torres

iMinds Distrinet - KULeuvenDecember 2012

Key Message

Mobile Collaborative Applications are the future

Mobile Collaborative Apps

users interact to achieve either their own, or joint objectives

location is a first class citizen

mix of crowd-sourcing, location services, mobile sensing

users are an active component of the system, so called human-in-the-loop

Research

Collaborative traffic routing 1

Search and Rescue 2

Public transportation optimization 3

Remote sensing 4

Dynamic Task Allocation 5

1 - “SignalGuru: leveraging mobile phones for collaborative traffic signal schedule advisory” 20102 - “Overseer: a mobile context-aware collaboration and task management system for disaster response” Luqman 20103 - “Towards a new mobility concept for cities: architecture and programming of semi-autonomous electric vehicles” Rocha 20074 - “Task-Oriented Systems for Interaction with Ubiquitous Computing Environments “ Vo 20105 - “Dynamic task allocation and coordination in cooperative multi-agent environments” Suarez 2011

Problem

How to organize a group of workers who are geographically spread but have to perform actions together?

https://www.youtube.com/watch?v=0fluKWYRC_w

Almost there...

Google Maps Coordinate

Why?User Inter-Communication Joint Goal

Facebook

Foursquare

Uber

Milk.ly

Waze

Open Garden

Google Maps Coordinate

✖✖

✖✖✖

Key Challenges

Dynamically determine collaboration partners

Collaboration scale

Manage the interactions between collaboration partners

Coordinate collaboration partners actions

Coordination Challenges

Modeled as a task assignment problem

Known as “Minimum Latency Problem” - NP-hard

Similarities with the TSP

Minimize waiting time to perform each task

“A simple and effective metaheuristic for the Minimum Latency Problem “- Melo Silva 2012

CooS

Key: Mobile phone

Coordination on Clouds

Local ComponentsApplications

CooS

Mobile Device [1..*]CloudMobile Device

Cloud Mobile Device [1..*]Mobile Device

Key: UML 2.0

requestCollaboration() Request

CollaborationEvent

select participants

CollaborationRequested

Event collaborationCall()

CoordinationEvent

coordinationCall()

retrieve coordination

context

CoordinationEvent

CooS MiddlewareComponent

CooS ClientComponent

«Initiator»Application

«Participant»Application

CooS ClientComponent

«Participant»Application

CooS ClientComponent

Cloud Mobile Device [1..*]Mobile Device

Key: UML 2.0

select participants

retrieve coordination

context

CooS MiddlewareComponent

CooS ClientComponent

«Initiator»Application

«Participant»Application

CooS ClientComponent

requestCollaboration()

collaborationCall()

CoordinationEvent

CollaborationRequested

Event

RequestCollaboration

Event

coordinationCall()

CoordinationEvent

Key: UML 2.0

select participants

retrieve coordination

context

CooS MiddlewareComponent

CooS ClientComponent

«Initiator»Application

«Participant»Application

CooS ClientComponent

requestCollaboration

(...)

collaborationCall(...)

CoordinationEvent

CollaborationRequested

Event

RequestCollaboration

Event

coordinationCall(...)

CoordinationEvent

Mobile DeviceCloud

loop

Key: UML 2.0

CooS MiddlewareComponent

«Participant»Application

CooS ClientComponent

registerAsParticipant(...)

timer

getLocation(...)

Location UpdateEvent

CooS InteractionCommunication pattern, Initiator

Fitting Everything Togethervar coos = new Coos(serverUrl, deviceId, locationCallback);coos.requestCollaboration( {applicationPayload: ‘something’}, {lat: 39.900255, lng: 116.402687}, function(collaborationOutcome) {                       alert(“collaborate here”)                      } );

coos.registerAsParticipant( locationCallback, participantCallback );         

CooS requires location and handles the coordination protocol

CooS Applications

Location-based coordination protocolCoordination

PrototypeTeamEnhancerApp, PassengerApp, TaxiApp

Profiling Setup

server: Intel i5-2400 CPU @ 3.10 GHz, 4 GiB of RAM, executing an Ubuntu O.S. with the Linux kernel 2.6.35-32.

clients siege the server using Siege (http://www.joedog.org/siege-home)

HTTP POST request of 392 bytes each (header+CooS payload)

40

60

80

●●

●●

●●

●●

500 1000 1500 2000 2500Transaction Rate (transactions/s)

CPU

Loa

d (%

)

ProfilingCPU Load - at server side

0

5

10

15

●●

● ●●

●●

● ●●

500 1000 1500 2000 2500Transaction Rate (transactions/s)

Long

est T

rans

actio

ns (s

)

ProfilingLongest transactions

0

2

4

6

8

● ● ● ● ●

● ●●

● ●

500 1000 1500 2000 2500Transaction Rate (transactions/s)

Faile

d Tr

ansa

ctio

ns (1

0E−3

%)

ProfilingFailed Transactions

Coordination EvaluationAssigning workers to tasks in Belgium

Truck Icon: SimonChild, from The Noun Project

ProfilingDeployment View

Coordination Evaluation500 workers

5000 machines

Mean time to repair a machine set to 1 hour

Standard deviation time to repair a machine set to 4 hours

Average moving speed set to 20 km/h

80% of tasks require only one worker

0

20

40

60

80

100

0 5 10 15 20Radius (Km)

Com

plet

ed T

asks

(%)

Coordination EvaluationCompleted tasks

0

5

10

15

20

25

30

1.10 1.15 1.20 1.25

density

variableRadius10Radius15Radius20

Coordination EvaluationUser Interruption

Lessons Learned & Open Issues

At the technical level. Concetps survive, but perhaps we need to test other languages that could be better (e.g. AmbientTalk)

Assigning tasks collaboratively is feasible. Is it good?

Compare collaborative solutions with meta-heuristic solutions

Compare to other collaborative solutions, from Multi-Agent Systems domain, for instance

top related