際際滷

際際滷Share a Scribd company logo
CooS
Coordination Support for Mobile Collaborative
Applications
M叩rio Henrique Cruz Torres
iMinds Distrinet - KULeuven
December 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 鍖rst 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 traf鍖c routing 1
Search and Rescue 2
Public transportation optimization 3
Remote sensing 4
Dynamic Task Allocation 5
1 - SignalGuru: leveraging mobile phones for collaborative traf鍖c signal schedule advisory 2010
2 - Overseer: a mobile context-aware collaboration and task management system for disaster response Luqman 2010
3 - Towards a new mobility concept for cities: architecture and programming of semi-autonomous electric vehicles Rocha
2007
4 - Task-Oriented Systems for Interaction with Ubiquitous Computing Environments  Vo 2010
5 - 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=0鍖uKWYRC_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 Components
Applications
CooS
 









¥o
¥

わ
ワ


ワ эわ
ワ
Mobile Device [1..*]CloudMobile Device
0
0
Key: UML 2.0
select
participants
retrieve
coordination
context
CooS
Middleware
Component
CooS Client
Component
束Initiator損
Application
束Participant損
Application
CooS Client
Component
request
Collaboration
(...)
collaboration
Call(...)
Coordination
Event
Collaboration
Requested
Event
Request
Collaboration
Event
coordination
Call(...)
Coordination
Event
Key: UML 2.0
CooS Interaction
Communication pattern, Initiator
Fitting Everything Together
var 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 protocol
Coordination
Prototype
TeamEnhancerApp, PassengerApp, TaxiApp
Pro鍖ling 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 2500
Transaction Rate (transactions/s)
CPULoad(%)
Pro鍖ling
CPU Load - at server side
0
5
10
15




















 



 

500 1000 1500 2000 2500
Transaction Rate (transactions/s)
LongestTransactions(s)
Pro鍖ling
Longest transactions
0
2
4
6
8
    

 












 





500 1000 1500 2000 2500
Transaction Rate (transactions/s)
FailedTransactions(10E3%)
Pro鍖ling
Failed Transactions
Coordination Evaluation
Assigning workers to tasks in Belgium
Truck Icon: SimonChild, from The Noun Project


















 


¥oわ


Pro鍖ling
Deployment View
Coordination Evaluation
500 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 20
Radius (Km)
CompletedTasks(%)
Coordination Evaluation
Completed tasks
0
5
10
15
20
25
30
1.10 1.15 1.20 1.25
density
variable
Radius10
Radius15
Radius20
Coordination Evaluation
User 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

More Related Content

COOS - Coordination Support for Mobile Collaborative Applications

  • 1. CooS Coordination Support for Mobile Collaborative Applications M叩rio Henrique Cruz Torres iMinds Distrinet - KULeuven December 2012
  • 3. Mobile Collaborative Apps users interact to achieve either their own, or joint objectives location is a 鍖rst class citizen mix of crowd-sourcing, location services, mobile sensing users are an active component of the system, so called human-in-the-loop
  • 4. Research Collaborative traf鍖c routing 1 Search and Rescue 2 Public transportation optimization 3 Remote sensing 4 Dynamic Task Allocation 5 1 - SignalGuru: leveraging mobile phones for collaborative traf鍖c signal schedule advisory 2010 2 - Overseer: a mobile context-aware collaboration and task management system for disaster response Luqman 2010 3 - Towards a new mobility concept for cities: architecture and programming of semi-autonomous electric vehicles Rocha 2007 4 - Task-Oriented Systems for Interaction with Ubiquitous Computing Environments Vo 2010 5 - Dynamic task allocation and coordination in cooperative multi-agent environments Suarez 2011
  • 5. Problem How to organize a group of workers who are geographically spread but have to perform actions together? https://www.youtube.com/watch?v=0鍖uKWYRC_w
  • 7. Why? User Inter-Communication Joint Goal Facebook Foursquare Uber Milk.ly Waze Open Garden Google Maps Coordinate
  • 8. Key Challenges Dynamically determine collaboration partners Collaboration scale Manage the interactions between collaboration partners Coordinate collaboration partners actions
  • 9. 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
  • 10. CooS Key: Mobile phone Coordination on Clouds Local Components Applications
  • 12. Mobile Device [1..*]CloudMobile Device 0 0 Key: UML 2.0 select participants retrieve coordination context CooS Middleware Component CooS Client Component 束Initiator損 Application 束Participant損 Application CooS Client Component request Collaboration (...) collaboration Call(...) Coordination Event Collaboration Requested Event Request Collaboration Event coordination Call(...) Coordination Event Key: UML 2.0 CooS Interaction Communication pattern, Initiator
  • 13. Fitting Everything Together var 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 );
  • 14. CooS requires location and handles the coordination protocol CooS Applications
  • 15. わ ワ ワ Location-based coordination protocol Coordination
  • 17. Pro鍖ling 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)
  • 18. 40 60 80 500 1000 1500 2000 2500 Transaction Rate (transactions/s) CPULoad(%) Pro鍖ling CPU Load - at server side
  • 19. 0 5 10 15 500 1000 1500 2000 2500 Transaction Rate (transactions/s) LongestTransactions(s) Pro鍖ling Longest transactions
  • 20. 0 2 4 6 8 500 1000 1500 2000 2500 Transaction Rate (transactions/s) FailedTransactions(10E3%) Pro鍖ling Failed Transactions
  • 21. Coordination Evaluation Assigning workers to tasks in Belgium Truck Icon: SimonChild, from The Noun Project
  • 23. Coordination Evaluation 500 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
  • 24. 0 20 40 60 80 100 0 5 10 15 20 Radius (Km) CompletedTasks(%) Coordination Evaluation Completed tasks
  • 25. 0 5 10 15 20 25 30 1.10 1.15 1.20 1.25 density variable Radius10 Radius15 Radius20 Coordination Evaluation User Interruption
  • 26. 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