icc_7ds - Columbia University

Download Report

Transcript icc_7ds - Columbia University

7DS - Node Cooperation and
Information Exchange in Mostly
Disconnected Networks
Suman Srinivasan, Arezu Moghadam, Se
Gi Hong, Henning Schulzrinne
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?
• Use local peer-to-peer wireless networks to
exchange information
– Peers can get information they do not have
from another peer
Solution: 7DS!
How 7DS Works
1. When devices are in the same BSS (Basic service set) of
802.11 ad-hoc network, they discover each other using
service discovery of Zeroconf
zeroconf
How 7DS Works
2. If there is no Internet connection, the devices can communicate
with each other to exchange information
Internet
Web Delivery Model
• 7DS core functionality: Emulation of web
content access and e-mail delivery
Design
• Peer-to-peer network set up using zeroconf
– Protocol enables devices to communicate with
each other without a DHCP server, a DNS
server and a Directory server
•
•
•
•
Proxy server serves content
Search engine searches for local data
MTA store and forward
In progress: File synchronization, BBS
Store and Forward
• Forwarding e-mail in the ad-hoc network
• Acts as an MTA
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
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
File Synchronization
SERVICE
ANNOUNCEMENT
FILE SYNCHRONIZATION
RESOLUTION USING RSYNC PROTOCOL
SRV : 7ds-fs1.filesync._7ds._udp.local.
“I want
7ds-device1.local:2525
Word.doc and presentation.ppt”
TXT : file1.xml
TXT : file2.xml
SRV : 7ds-fs2.filesync._7ds._udp.local.
“I want
7ds-device2.local:2525
File1.xml
and file2.xml”
TXT : word.doc
File1.xml
File2.xml
Word.doc
Presentation.ppt
TXT : presentation.ppt
Word.doc
Presentation.ppt
File1.xml
File2.xml
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
Backup Slides
Working
Search Engine Implementation
Client (Browser)
1. Browser
enters query
4. Results returned to browser in appropriate
format (HTML, XML…)
Proxy Server
Cache
Manager
Search Engine
Swish
Library
3. Swish-e library
gets results
2. Search engine
uses swish-e library
to search cache
Cache
Frequently checks
cache for changes;
If there is a
change, it
reindexes the
cache.
Multicast – Requesting Peer
4. Query Scheduler Bcast
multicasts XML-encoded
string of recent queries to
network
Client (Browser)
1. Browser
enters query
Query Scheduler
Bcast
3. Query Scheduler
Bcast frequently
retrieves queries
from DB
Add Query CGI
SQLite
Library
2. CGI script adds
query to local SQLite
database
DB
Multicast – Responding Peer
1. Query Receiver
listens for and
receives multicast
query
Query Receiver
4. Query Receiver sends XMLencoded string of results to
requesting peer via UDP
Swish
Library
3. Swish-e library
gets results
2. Query Receiver
uses swish-e library
to search cache
Cache
Multicast – Requesting Peer
Client (Browser)
Result Receiver
4. The
results are
returned to
the browser
2. Adds
results to
DB
Results Page CGI
SQLite
Library
3. Results page
refreshes often,
getting latest results
DB
1. Result Receiver
listens for and
receives XMLencoded results
Old vs. Current Design
• Old version, 0.9 (presented in paper)
– Independent binaries, no modules
– Difficulty porting to different platforms
– Universal GUI difficult due to messages
being event-based; polling inefficient
• New version 2.0
– Modular; easy to make more “plugins”
– Cross-platform
– Richer GUI with service discovery
Transition from mcast to Bonjour
• Operation of multicast query system
– Repeated, wasteful multicast
– Often repeated responses
– Need intelligent caching or handling of
multicast packets
• Service discovery neatly fits this model
– Move from our mcast solution to Apple’s
Bonjour
Use of Bonjour
Improvement of Querying System
TXTRecordSetValue()
TXTRecordSetValue()
SRV : query._7ds._udp
SRV : query._7ds._udp
TXT : deals
TXT : columbia
TXT : times square
TXT : news
TXT : weather
TXT : new york
TXTRecordGetValuePtr()
“Here is the result for
columbia”
“Here is the result for
times square”
Zeroconf
Zeroconf: Requirements of 7DS
• local peer-to-peer wireless ad-hoc networks
- no DHCP server
- no DNS server
• Service discovery
– Getting web-pages, sending e-mails, file transfer with
peers, file synchronizing
• 7DS requires automatic networking configuration of IP
addresses and name, and service discovery
– Solution: Zeroconf
What is Zeroconf?
• Zero Configuration Networking (Zeroconf)
• No Infrastructure
– Allocate IP addresses without a DHCP server
– Translate between domain names and IP addresses
without a DNS Server
– Find service without a directory service
• A simple and reliable way to configure and browse for
services in local area networks
• Bonjour, Avahi, ……
Apple’s Bonjour
• Apple’s implementation of zero-configuration networking
• 3 main features
– Addressing ( allocating IP addresses to hosts)
– Naming (using names to refer to hosts instead of IP
addresses)
– Service Discovery (finding services on the network
automatically)
• Easy to use API, in C and Java
– Multicast DNS, which is how Bonjour handles all aspects
of Zeroconf, is done via a separate mDNSd daemon