Code In The Air
s = gps.getSpeed(); d = gps.getDirection(); send(5sec, s + d); Phones execute code based on location
Code In The Air s = gps.getSpeed(); d = gps.getDirection(); send(5sec, s + d); s = gps.getSpeed(); d = gps.getDirection(); send(10sec, s + d); s = gps.getSpeed(); d = gps.getDirection(); send(30sec, s + d); s = gps.getSpeed(); d = gps.getDirection(); send(5sec, s + d); s = gps.getSpeed(); d = gps.getDirection(); send(30sec, s + d); s = gps.getSpeed(); d = gps.getDirection(); send(5sec, s + d); s = gps.getSpeed(); d = gps.getDirection(); send(10sec, s + d); s = gps.getSpeed(); d = gps.getDirection(); send(5sec, s + d); Remotely program through a web service
Applications Crowd sourcing
Applications phone.setVibrate(); alert(“send taxes”); tweet(“reached office”); Crowd sourcing Location based
Applications “this restaurant sucks” Crowd sourcing Location based Social/Collaborative
Applications Crowd sourcing Location based Social/Collaborative Developer Platform
Research Challenges Can we reduce the coding effort by 100x? l = getLocation(); s = getSpeed(); r = roadSegment(l); sum[r] = sum[r] + s; count[r] = count[r] + 1 avgSpeed[r] = sum[r] / count[r]; Developer writes simple server side code – Algorithms automatically partition code to run on phones How do we scale to thousands of phones? Security, Privacy and Incentives l = gps.getLocation(); s = gps.getSpeed(); send(l, s);
Contact Professors – Hari Balakrishnan – Sam Madden Grad students – Lenin Ravindranath – Arvind Thiagarajan