* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download icc_7ds - Columbia University
Remote Desktop Services wikipedia , lookup
Airborne Networking wikipedia , lookup
Wireless security wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Dynamic Host Configuration Protocol wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
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