p2p applications
play

P2P Applications Niels Olof Bouvin 1 Purpose Demonstrate the use - PowerPoint PPT Presentation

P2P Applications Niels Olof Bouvin 1 Purpose Demonstrate the use of P2P techniques in real applications Show how a well designed P2P framework can be extended to support wildly di ff erent uses 2 Overview YouServ YouSearch PAST


  1. P2P Applications Niels Olof Bouvin 1

  2. Purpose Demonstrate the use of P2P techniques in ‘real’ applications Show how a well designed P2P framework can be extended to support wildly di ff erent uses 2

  3. Overview YouServ YouSearch PAST SCRIBE 3

  4. YouServ What is YouServ and how does it di ff er form other personal web servers? Central concepts within YouServ Making content available Accessing content Replication Firewall traversal Summary 4

  5. What is YouServ? A (rather elegant) distributed approach to handling multitudes of small Web servers within an organisation Rather than distributing fj les in email, data is kept close to their originator Transience of user machines is handled through transparent replication and fj rewall tunnelling Very modest hardware requirements (2900 users with a couple of (very) standard PCs as central co- ordinators) 5

  6. Use-Case: File sharing in companies Email distribution P2P fj le sharing ine ffi cient (how many identical requires special software copies? how many di ff erent bad image versions?) access control? no control (recipients can forward Shared fj le systems email at will) hard to maintain structure Central Web servers bogged down by rules and cumbersome publishing regulations :-) single point of failure Cloud services access controls? control? NSA? Industrial espionage? 6

  7. Locating the Right Web Server Data stored on Web servers is easily browsable with ordinary Web browsers But how is a particular Web server located, if there are thousands in the organisation? Who can remember IP numbers, and what if the machine is upgraded? Solution: personal uServ Web servers are named after the user hosting them, i.e., bayardo.userv.ibm.com and this information is stored in a dynamic DNS server 7

  8. Central concepts within YouServ YouServ peer nodes YouServ coordinator client running on user’s machine user authentication Web server + special YouServ registers proxying and replication protocols checks availability unique name based on user's but no heavy lifting! company identity Dynamic DNS server rapidly updated DNS entries directing users to current address of the YouServ peer 8

  9. Network overview Proxy Proxy HTTP Centralised components Dynamic Coordinator DNS HTTP HTTP HTTP Proxy 9

  10. Screen shot 10

  11. Making content available Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 Joe is now Determines that YouServ Login registered Joe is reachable YouServ YouServ YouServ YouServ YouServ dynDNS dynDNS dynDNS dynDNS dynDNS Coordinator Coordinator Coordinator Coordinator Coordinator Registers 9.1.2.3 as Joe's site 11

  12. Accessing content Data is kept at users’ machines running small Web servers Data is accessed by other users (who need not run any special software) with ordinary Web browsers they only need to know the name of the user 12

  13. Accessing content Webbrowser Webbrowser Webbrowser Webbrowser Webbrowser Webbrowser http://joe.userv.com http://joe.userv.com http://joe.userv.com http://joe.userv.com http://joe.userv.com http://joe.userv.com HTTP HTTP Response Request Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 Resolve Return 9.1.2.3 joe.userv.com dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS 13

  14. Replication Problem: User machines are transient on and o ff laptop computers Solution: Replication peers (designated manually) replicate data peers maintain summaries of fj les and synchronise every 3 minutes • this distributes availability checking to the peers Replication registered with YouServ Coordinator upon unavailability, DNS is updated to point at most current replica original target still in HTTP HOST header as with virtual hosting 14

  15. Replication Webbrowser Webbrowser Webbrowser Webbrowser Webbrowser HTTP Response HTTP Request http://joe.userv.com http://joe.userv.com http://joe.userv.com http://joe.userv.com http://joe.userv.com HOST=joe.userv.com replicated Joe data Peer Node (Alice) Peer Node (Alice) Peer Node (Alice) Peer Node (Alice) Peer Node (Alice) Peer Node (Alice) Peer Node (Alice) Peer Node (Alice) Peer Node (Alice) Peer Node (Joe) IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.4 IP: 9.1.2.3 Check if Alice is Provide able to replicate summary YouServ logout Resolve Return 9.1.2.4 joe.userv.com YouServ YouServ YouServ YouServ dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS Coordinator Coordinator Coordinator Coordinator Registers 9.1.2.4 as Joe's site 15

  16. Proxying – traversing fj rewalls Problem: User machines may have port 80 (in-going) blocked Solution: Maintain socket connection from fj rewalled peer to proxying peer All tra ffi c routed through proxy and over permanent socket 16

  17. Proxying Check header & Establish proxy Return content forward request connection Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Joe) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) Peer Node (Bob) IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 9.1.2.3 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 IP: 1.0.1.0 YouServ ? HTTP request Return Joe's Request IP HTTP response Request proxy YouServ login Coordinator HOST=bob.userv.com update to 9.1.2.3 contact info Webbrowser Webbrowser Webbrowser Webbrowser Webbrowser Webbrowser Webbrowser cannot respond Register 9.1.2.3 http://bob.userv.com http://bob.userv.com http://bob.userv.com http://bob.userv.com http://bob.userv.com http://bob.userv.com http://bob.userv.com for Bob's site YouServ YouServ YouServ YouServ YouServ YouServ YouServ dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS dynDNS Coordinator Coordinator Coordinator Coordinator Coordinator Coordinator Coordinator Resolve Return 9.1.2.3 bob.userv.com 17

  18. Summary Relegates all heavy lifting to the peers content never reaches the server Servers handle DNS and light coordination tasks Elegant design that seamlessly integrates P2P networking with existing technologies Most e ffi cient in organisations such as IBM with centralised authentication 18

  19. Summary Scalability Central components are not heavily utilised, but the coordinator will still be a bottleneck if the network becomes su ffi ciently large All major tra ffi c handled by the peers Replication and proxying ensures high availability Fairness You share your own stu ff And stu ff you agree to replicate or proxy 19

  20. Summary Integrity and security Safer than email distribution Security tied to authentication scheme used at organisation Anonymity, deniability, censorship resistance Not even a little – not the purpose of this system 20

  21. Overview YouServ YouSearch PAST SCRIBE 21

  22. YouSearch Problems with search on personal Web servers YouSearch Distributed indexing Scalability Caching Summary 22

  23. Searching personal web servers While data is kept on Web server, standard Web techniques are not applicable Crawling slow never up to date (and never complete) can return dead links requires some big central server 23

  24. YouSearch interface 24

  25. Distributed indexing Nodes index their own documents A “summarizer” computes a bloom fj lter over the index and sends it to the central registrar bloom fj lters: bit vectors created with hashes over terms if H(‘term’) yields k , the k th bit is set in the bit vector if the k th bit is not set, then ‘term’ is not present (if you are interested, there is an excellent description of Bloom fj lters at Wikipedia http://en.wikipedia.org/wiki/Bloom_ fj lter) Central registrar combines bloom fj lters from clients 25

  26. Architecture Peer Node (Alice) Inspector Indexer Summarizer Registrar Bit IP address Summary Manager 26

Recommend


More recommend