7DS Version 1


Published on

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.)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

7DS Version 1

  1. 1. 7DS Seven Degrees of Separation Suman Srinivasan, IRT Lab, Computer Science Columbia University
  2. 2. Problems with Wide Area Wireless <ul><li>802.11 currently hard to deploy across city or large area </li></ul><ul><li>Problem: How can mobile devices / gadgets get information while on the move? </li></ul>Solution: 7DS!
  3. 3. Concept <ul><li>Use local peer-to-peer wireless networks to exchange information </li></ul><ul><ul><li>Peers can get information they do not have from another peer </li></ul></ul><ul><li>Once wireless 7DS network set up, it could be used for any purpose </li></ul><ul><ul><li>Getting web pages from peers </li></ul></ul><ul><ul><li>Sending e-mails </li></ul></ul><ul><ul><li>File transfer to selected client </li></ul></ul>
  4. 4. Illustration You are in a train in a remote location No Internet connectivity
  5. 5. Illustration Establishing the connection zeroconf
  6. 6. Illustration Internet If Internet connection: No problem
  7. 7. Illustration Internet No Internet connection: Check with peers
  8. 8. Illustration Get available data from peers
  9. 9. Design <ul><li>Peer-to-peer network set up using zeroconf </li></ul><ul><ul><li>Protocol enables devices to communicate with each other without a DHCP / other server </li></ul></ul><ul><li>Proxy server serves content </li></ul><ul><ul><li>If connected to Internet, functions normally </li></ul></ul><ul><ul><li>If not connected, works in “7DS mode”: connects to peers to get information </li></ul></ul>
  10. 10. Design <ul><li>Search engine </li></ul><ul><ul><li>Allows self / peers to search within the device’s database for necessary information </li></ul></ul><ul><li>Multicast querying system </li></ul><ul><ul><li>Allows peers to query systems in peer-to-peer network </li></ul></ul><ul><ul><li>Searches can be for files or keywords </li></ul></ul><ul><li>Transport System </li></ul><ul><ul><li>To forward e-mail </li></ul></ul>
  11. 11. Design
  12. 12. Search Engine <ul><li>Provides ability to query self for results </li></ul><ul><li>Searches the cache index using Swish-e library </li></ul><ul><li>Presents results in any of three formats: HTML, XML and plain text </li></ul><ul><li>Similar in concept to Google Desktop </li></ul>
  13. 13. Search Engine Implementation Client (Browser) Proxy Server Search Engine Swish Library 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
  14. 14. Search Engine Demo
  15. 15. Query Multicast Engine <ul><li>Used to actually exchange information among peers </li></ul><ul><li>Requesting peer broadcasts a query to the network </li></ul><ul><li>Responding peers reply if they have information </li></ul><ul><ul><li>Send encoded string with list of matching items </li></ul></ul><ul><li>Requesting peer retrieves suitable information </li></ul>
  16. 16. Multicast – Requesting Peer Client (Browser) Add Query CGI SQLite Library 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
  17. 17. Multicast – Responding Peer Query Receiver 4. Query Receiver sends XML-encoded string of results to requesting peer via UDP Swish Library 3. Swish-e library gets results Cache 2. Query Receiver uses swish-e library to search cache 1. Query Receiver listens for and receives multicast query
  18. 18. Multicast – Requesting Peer Client (Browser) Results Page CGI SQLite Library 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)
  19. 19. Multicast Demo
  20. 20. Conclusion <ul><li>7DS allows data retrieval and transmission, even in absence of Internet </li></ul><ul><li>Exchange of information within local network </li></ul><ul><ul><li>Nodes that eventually connect to larger network facilitate new information exchange </li></ul></ul><ul><li>No user intervention unless absolutely necessary </li></ul><ul><li>New step in practical, large-scale wireless networking with gadgets? </li></ul><ul><ul><li>Remains to be seen </li></ul></ul>