20
7DS Seven Degrees of Separation Suman Srinivasan, IRT Lab, Computer Science Columbia University

7DS Version 1

Embed Size (px)

DESCRIPTION

An overview of the 7DS suite of applications created at the IRT lab at Columbia University. This is the first set of 7DS applications we created (circa 2005-2007.)

Citation preview

Page 1: 7DS Version 1

7DSSeven Degrees of Separation

Suman Srinivasan,

IRT Lab, Computer Science

Columbia University

Page 2: 7DS Version 1

Problems with Wide Area Wireless

• 802.11 currently hard to deploy across city or large area

• Problem: How can mobile devices / gadgets get information while on the move?

Solution: 7DS!

Page 3: 7DS Version 1

Concept

• Use local peer-to-peer wireless networks to exchange information– Peers can get information they do not have

from another peer• Once wireless 7DS network set up, it could

be used for any purpose– Getting web pages from peers– Sending e-mails– File transfer to selected client

Page 4: 7DS Version 1

Illustration

You are in a train in a remote location

No Internet connectivity

Page 5: 7DS Version 1

Illustration

Establishing the connection

zeroconf

Page 6: 7DS Version 1

Illustration

Internet

If Internet connection: No problem

Page 7: 7DS Version 1

Illustration

Internet

No Internet connection: Check with peers

Page 8: 7DS Version 1

Illustration

Get available data from peers

Page 9: 7DS Version 1

Design

• Peer-to-peer network set up using zeroconf– Protocol enables devices to communicate with

each other without a DHCP / other server

• Proxy server serves content– If connected to Internet, functions normally– If not connected, works in “7DS mode”:

connects to peers to get information

Page 10: 7DS Version 1

Design

• Search engine– Allows self / peers to search within the

device’s database for necessary information• Multicast querying system

– Allows peers to query systems in peer-to-peer network

– Searches can be for files or keywords• Transport System

– To forward e-mail

Page 11: 7DS Version 1

Design

Page 12: 7DS Version 1

Search Engine

• Provides ability to query self for results

• Searches the cache index using Swish-e library

• Presents results in any of three formats: HTML, XML and plain text

• Similar in concept to Google Desktop

Page 13: 7DS Version 1

Search Engine Implementation

Client (Browser)

Proxy Server

Search Engine

SwishLibrary

1. Browser enters query

2. Search engine uses swish-e library to search cache

3. Swish-e library gets results

4. Results returned to browser in appropriate format (HTML, XML…)

Cache Manager

Frequently checks cache for changes; If there is a change, it reindexes the cache.

Cache

Page 14: 7DS Version 1

Search Engine Demo

Page 15: 7DS Version 1

Query Multicast Engine• Used to actually exchange

information among peers• Requesting peer broadcasts

a query to the network• Responding peers reply if

they have information– Send encoded string with

list of matching items• Requesting peer retrieves

suitable information

Page 16: 7DS Version 1

Multicast – Requesting Peer

Client (Browser)

Add Query CGI

SQLiteLibrary

DB

1. Browser enters query

2. CGI script adds query to local SQLite database

3. Query Scheduler Bcast frequently retrieves queries from DB

Query Scheduler Bcast

4. Query Scheduler Bcast multicasts XML-

encoded string of recent queries to network

Page 17: 7DS Version 1

Multicast – Responding Peer

Query Receiver

4. Query Receiver sends XML-encoded string of

results to requesting peer via UDP

SwishLibrary

3. Swish-e library gets results

Cache2. Query Receiver uses swish-e library to search cache

1. Query Receiver listens for and receives multicast query

Page 18: 7DS Version 1

Multicast – Requesting Peer

Client (Browser)

Results Page CGI

SQLiteLibrary

DB

5. The results are returned to the browser

4. Results page refreshes often, getting latest results

3. Adds results to DB

Result Receiver

1. Result Receiver listens for and receives XML-

encoded results

2. Retrieve data related to results (TODO)

Page 19: 7DS Version 1

Multicast Demo

Page 20: 7DS Version 1

Conclusion

• 7DS allows data retrieval and transmission, even in absence of Internet

• Exchange of information within local network– Nodes that eventually connect to larger network

facilitate new information exchange

• No user intervention unless absolutely necessary• New step in practical, large-scale wireless

networking with gadgets?– Remains to be seen