Top Banner
 Social Networking and file sharing in downtown Boston Polychronis Ypodimatopoulos [email protected]
27
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 06 Polychronis Yapdimatopoulos -- igbos g_

   

Social Networking and file sharing in downtown Boston

Polychronis [email protected]

Page 2: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

How do we meet/find people

● ... when wandering downtown?● ... in my neighborhood?● ... in my office? 

Page 3: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Page 4: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Page 5: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

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

Page 6: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Data transfer: 1958 ­ 2008

http://www­03.ibm.com/ibm/history/exhibits/specialprod2/specialprod2_5.html

Page 7: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Scalable discovery

Page 8: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Cerebro: http://cerebro.mit.eduProvides:

● 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

Page 9: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Cerebro: discovery

Page 10: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Cerebro: discovery

Page 11: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Cerebro: discovery

Page 12: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Profile arrival times

Page 13: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

CDF of profile arrivals

Page 14: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Protocol overhead – Convergence time

Page 15: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Cerebro: File sharing

How “illegal” can we get?

Page 16: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Cerebro: File sharing

TCP/IP:  sequential Cerebro: broadcast(opportunistic and reliable)

Page 17: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Transfer of 2MB to 27 nodes

Cerebro: 1Mbps broadcast, 

simultaneous

TCP/IP: 10Mbps, unicast, sequential

Page 18: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Transfer of 2MB to 27 nodes

Page 19: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Platforms tested

● x86 ● ARM (Nokia N800, Gumstix)● OpenMoko (Freerunner)

Requirements:● Python● Dbus

Page 20: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Cerebro GUI (x86, OpenMoko)Who What

Page 21: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

http://cerebro.mit.edu

Page 22: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Why multiple entries? Mobility!

Node ID Witness Distance SourceC C 1 CD C 3 CE D 4 CF D 4 CG D 4 CD D 2.5 DE D 3.5 DF D 3.5 DG D 3.5 DE E 5 E

Presence information arriving at B:

Page 23: 06 Polychronis Yapdimatopoulos -- igbos g_

  Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

Presence Table

Node ID Witness Distance SourceB B 1 BC C 2 BD C 3 BE C 4 BF C 4 BG C 4 B

Presence information arriving at A:

Page 24: 06 Polychronis Yapdimatopoulos -- igbos g_

May 2008 Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

24

1) Wait for a period T for presence beacons from neighboring nodes2) 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

Presence Protocol

Page 25: 06 Polychronis Yapdimatopoulos -- igbos g_

May 2008 Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

25

Node ID Witness Distance Serial No.

ID of the node this entry is about 

(MAC address, 6 bytes)

ID of the node from which this entry was 

received (MAC address, 6 bytes)

Unique ID for each entry published by 

node <Node ID>(2 byte)

Distance from the current node to <Node ID> 

(similar to ETX metric)(1 byte)

Presence Protocol for Large Mesh Networks

Presence Frame contents

Page 26: 06 Polychronis Yapdimatopoulos -- igbos g_

May 2008 Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

26

Distance calculation

Distance D:D = T/AT: period of timeA: number of arrivals

Page 27: 06 Polychronis Yapdimatopoulos -- igbos g_

May 2008 Polychronis Ypodimatopoulos <[email protected]>MIT Media Lab

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 (!)