Upload
suman-srinivasan
View
1.105
Download
4
Tags:
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
7DSSeven Degrees of Separation
Suman Srinivasan,
IRT Lab, Computer Science
Columbia University
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!
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
Illustration
You are in a train in a remote location
No Internet connectivity
Illustration
Establishing the connection
zeroconf
Illustration
Internet
If Internet connection: No problem
Illustration
Internet
No Internet connection: Check with peers
Illustration
Get available data from peers
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
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
Design
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
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
Search Engine Demo
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
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
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
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)
Multicast Demo
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