Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

06 Polychronis Yapdimatopoulos -- igbos g_

1,338 views

Published on

Friend discovery and file sharing in downtown Boston

Published in: Technology
  • Be the first to comment

  • Be the first to like this

06 Polychronis Yapdimatopoulos -- igbos g_

  1. 1. Social Networking and file sharing in  downtown Boston Polychronis Ypodimatopoulos ypod@mit.edu    
  2. 2. How do we meet/find people ● ... when wandering downtown? ● ... in my neighborhood? ● ... in my office?    Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  3. 3.   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  4. 4.   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  5. 5. Why not? ● Data transfer must be efficient  (forget about TCP/IP) ● Discovery must be scalable (humans/objects/applications) ● Overhead and Power Consumption must be  minimized   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  6. 6. Data transfer: 1958 ­ 2008 http://www­03.ibm.com/ibm/history/exhibits/specialprod2/specialprod2_5.html   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  7. 7. Scalable discovery   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  8. 8. Cerebro: http://cerebro.mit.edu Provides: ● presence information (including distance) for all other  users/objects in the network ● mesh networking on regular 802.11b/g devices ● extensible user profile including nickname, colors, keys, IP  addresses, pictures, status message etc ● file sharing using an efficient multicast mechanism ● simple collaboration mechanism ● connect to remote mesh networks over the internet ● interoperability among different architectures (x86, ARM) ● programming API   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  9. 9. Cerebro: discovery   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  10. 10. Cerebro: discovery   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  11. 11. Cerebro: discovery   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  12. 12. Profile arrival times   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  13. 13. CDF of profile arrivals   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  14. 14. Protocol overhead – Convergence time   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  15. 15. Cerebro: File sharing How “illegal” can we get?   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  16. 16. Cerebro: File sharing Cerebro: broadcast TCP/IP:  sequential (opportunistic and reliable)   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  17. 17. Transfer of 2MB to 27 nodes Cerebro: 1Mbps  broadcast,  simultaneous TCP/IP: 10Mbps,  unicast, sequential   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  18. 18. Transfer of 2MB to 27 nodes   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  19. 19. Platforms tested ● x86  ● ARM (Nokia N800, Gumstix) ● OpenMoko (Freerunner) Requirements: ● Python ● Dbus   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  20. 20. Cerebro GUI (x86, OpenMoko) Who What   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  21. 21. http://cerebro.mit.edu   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  22. 22. Why multiple entries? Mobility! Presence information arriving at B: Node ID Witness Distance Source C C 1 C D C 3 C E D 4 C F D 4 C G D 4 C D D 2.5 D E D 3.5 D F D 3.5 D G D 3.5 D E E 5 E   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  23. 23. Presence Table Presence information arriving at A: Node ID Witness Distance Source B B 1 B C C 2 B D C 3 B E C 4 B F C 4 B G C 4 B   Polychronis Ypodimatopoulos <ypod@mit.edu> MIT Media Lab
  24. 24. Presence Protocol 1) Wait for a period T for presence beacons from neighboring nodes 2) For every beacon received: For every entry in beacon: • if it is about the current node, or the current node is the witness, or the the  serial number is not newer than the existing one, discard it! • if node/witness pair exists in presence table update number of arrivals and  next arrival estimate both for node and witness • else add new entry in the table 4) Eliminate stale entries in presence table (ie. entries where the next  arrival estimate has lapsed) 5) Create a new beacon using the minimum distances to each node in  presence table 6) Broadcast beacon to neighbors May 2008 Polychronis Ypodimatopoulos <ypod@mit.edu> 24 MIT Media Lab
  25. 25. Presence Frame contents Node ID Witness Distance Serial No. Unique ID for each entry  ID of the node this  published by  entry is about  node <Node ID> (MAC address, 6 bytes) (2 byte) ID of the node from  Distance from the current  which this entry was  node to <Node ID>  received  (similar to ETX metric) (MAC address, 6 bytes) (1 byte) Presence Protocol for Large Mesh Networks May 2008 Polychronis Ypodimatopoulos <ypod@mit.edu> 25 MIT Media Lab
  26. 26. Distance calculation Distance D: D = T/A T: period of time A: number of arrivals May 2008 Polychronis Ypodimatopoulos <ypod@mit.edu> 26 MIT Media Lab
  27. 27. Arrival estimates 1)Count arrivals over time period T. 2)Formulate a Poisson arrival rate (assuming arrivals are  independent events) 3)Estimate time of next arrival with 90% accuracy Example:  For T=1sec, accuracy 90%, next arrival must be in  2.3sec For T=1sec, accuracy 100%, next arrival must be in  infinity (!) May 2008 Polychronis Ypodimatopoulos <ypod@mit.edu> 27 MIT Media Lab

×