P2P tutorial (ESEC 2001) 和 So what's new?P2P in a historical Context The original Internet was designed as a P2P system any 2 computers could send packets to each other no firewalls no network address translation no asymmetric connections(V.90,ADSL,cable,etc.) the back-then "killer apps"FTP and telnet are C/S but anyone could telnet/FTP anyone else servers acted as clients and vice versa cooperation was a central goal and "value":no spam or exhaustive bandwidth consumption .Typical examples of "old-fashioned P2P": -Usenet News -DNS The emergence of P2P can be seen as a renaissance of the original Internet model 82001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 11 Related Approaches Related distributed information system approaches: Event-based systems -Push systems Mobile agents Distributed databases 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 12 (c)2001 Karl Aberer,Manfred Hauswirth 6
P2P tutorial (ESEC 2001) (c) 2001 Karl Aberer, Manfred Hauswirth 6 © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 11 So what’s new? P2P in a historical Context • The original Internet was designed as a P2P system – any 2 computers could send packets to each other • no firewalls / no network address translation • no asymmetric connections (V.90, ADSL, cable, etc.) – the back-then “killer apps” FTP and telnet are C/S but anyone could telnet/FTP anyone else – servers acted as clients and vice versa – cooperation was a central goal and “value”: no spam or exhaustive bandwidth consumption • Typical examples of “old-fashioned P2P”: – Usenet News – DNS • The emergence of P2P can be seen as a renaissance of the original Internet model © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 12 Related Approaches Related distributed information system approaches: – Event-based systems – Push systems – Mobile agents – Distributed databases
P2P tutorial (ESEC 2001) r Event-based (publish/subscribe)Systems System model -Components (peers)interact by generating and receiving events - Components declare interest in receiving specific (patterns of) events and are notified upon their occurrence Supports a highly flexible interaction between loosely-coupled components XY Subscribe to X followed by Y 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 13 Event-based vs.Peer-to-Peer ·Common properties: -symmetric communication style dynamic binding between producers and consumers Subscription to events ~"passive"queries -EB:notification P2P:active discovery Subscription language supports more sophisticated queries and pattern matching (event patterns with time dependencies) Event-based systems typically have a specialized event distribution infrastructure EB:2 node types,P2P:1 node type -EB infrastructure must be deployed 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 14 (c)2001 Karl Aberer,Manfred Hauswirth 7
P2P tutorial (ESEC 2001) (c) 2001 Karl Aberer, Manfred Hauswirth 7 © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 13 Event-based (publish/subscribe) Systems • System model – Components (peers) interact by generating and receiving events – Components declare interest in receiving specific (patterns of) events and are notified upon their occurrence – Supports a highly flexible interaction between loosely-coupled components Subscribe to X followed by Y X Y XY © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 14 Event-based vs. Peer-to-Peer • Common properties: – symmetric communication style – dynamic binding between producers and consumers • Subscription to events ~ “passive” queries – EB: notification – P2P: active discovery • Subscription language supports more sophisticated queries and pattern matching (event patterns with time dependencies) • Event-based systems typically have a specialized event distribution infrastructure – EB: 2 node types, P2P: 1 node type – EB infrastructure must be deployed
P2P tutorial (ESEC 2001) 和 Push Systems ·,A set of designated broadcasters offer information that is pre-grouped in channels (weather,news,etc. Receivers subscribe to channels of their interest and receive channel information as it is being "broadcast"(timely distribution) Receivers may have to pay prior to receiving the information(pay-per-view,flat fee,etc.) 。 Pull→push 82001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 15 Push Systems vs.Peer-to-Peer Asymmetric communication style (P2P:symmetric) Focus is on timely data distribution not on discovery Filtering may be deployed to reduce data transmission requirements Subscription to channels is prerequisite Producer/consumer binding is static Push systems require a specialized distribution infrastructure -Push:3 node types,P2P:1 node type -Push infrastructure must be deployed 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 16 (c)2001 Karl Aberer,Manfred Hauswirth 8
P2P tutorial (ESEC 2001) (c) 2001 Karl Aberer, Manfred Hauswirth 8 © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 15 Push Systems • A set of designated broadcasters offer information that is pre-grouped in channels (weather, news, etc.) • Receivers subscribe to channels of their interest and receive channel information as it is being “broadcast” (timely distribution) • Receivers may have to pay prior to receiving the information (pay-per-view, flat fee, etc.) • Pull → push © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 16 Push Systems vs. Peer-to-Peer • Asymmetric communication style (P2P: symmetric) • Focus is on timely data distribution not on discovery • Filtering may be deployed to reduce data transmission requirements • Subscription to channels is prerequisite • Producer/consumer binding is static • Push systems require a specialized distribution infrastructure – Push: 3 node types, P2P: 1 node type – Push infrastructure must be deployed
P2P tutorial (ESEC 2001) 和 Mobile Agents A mobile agent is a computational entity that moves around in a network at its own volition to accomplish a task on behalf of its owner can cooperate with other agents -"learns"("Whom to visit next?") Mobility (heterogeneous network!) Weak:code,data Strong:code,data,execution Stack 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 Mobile Agents vs.Peer-to-Peer Very similar in terms of search and navigation P2P:the peers propagate requests(search,update) MA:the nodes propagate the agents Mobile agent ~"active"query Mobile agent systems require a considerably more sophisticated environment mobile code support (heavy) security (protect the receiving node from malicious mobile agents and vice versa) In many domains P2P systems can take over more apt for distributed data management less requirements(sending code requires much bandwidth,security,etc.) 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 18 (c)2001 Karl Aberer,Manfred Hauswirth 9
P2P tutorial (ESEC 2001) (c) 2001 Karl Aberer, Manfred Hauswirth 9 © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 17 Mobile Agents • A mobile agent is a computational entity that moves around in a network at its own volition to accomplish a task on behalf of its owner – can cooperate with other agents – “learns” (“Whom to visit next?”) • Mobility (heterogeneous network!) – Weak: code, data – Strong: code, data, execution Stack © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 18 Mobile Agents vs. Peer-to-Peer • Very similar in terms of search and navigation – P2P: the peers propagate requests (search, update) – MA: the nodes propagate the agents – Mobile agent ~ “active” query • Mobile agent systems require a considerably more sophisticated environment – mobile code support (heavy) – security (protect the receiving node from malicious mobile agents and vice versa) • In many domains P2P systems can take over – more apt for distributed data management – less requirements (sending code requires much bandwidth, security, etc.)
P2P tutorial (ESEC 2001) Distributed Databases Fragmenting large databases (e.g.,relational) over physically distributed nodes ● Efficient processing of complex queries (e.g., SQL)by decomposing them Efficient update strategies (e.g.,lazy vs.eager) Consistent transactions (e.g.,2 phase commit) Normally approaches rely on central coordination 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 9 Distributed Databases vs.Peer-to-Peer Data distribution is a key issue for P2P systems Approaches in distributed DB that address scalability LH*family of scalable hash index structures [Litwin97] Snowball:scalable storage system for workstation clusters [Vingralek98] Fat-Btree:a scalable B-Tree for parallel DB [Yokota 9] Approaches in distributed DB that address autonomy (and scalability) Mariposa:distributed relational DBMS based on an underlying economic model [Stonebraker96] 2001 Karl Aberer,Manfred Hauswirth ESEC/FSE 2001 20 (c)2001 Karl Aberer,Manfred Hauswirth 10
P2P tutorial (ESEC 2001) (c) 2001 Karl Aberer, Manfred Hauswirth 10 © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 19 Distributed Databases • Fragmenting large databases (e.g., relational) over physically distributed nodes • Efficient processing of complex queries (e.g., SQL) by decomposing them • Efficient update strategies (e.g., lazy vs. eager) • Consistent transactions (e.g., 2 phase commit) • Normally approaches rely on central coordination © 2001 Karl Aberer, Manfred Hauswirth ESEC/FSE 2001 20 Distributed Databases vs. Peer-to-Peer • Data distribution is a key issue for P2P systems • Approaches in distributed DB that address scalability – LH* family of scalable hash index structures [Litwin97] – Snowball: scalable storage system for workstation clusters [Vingralek98] – Fat-Btree: a scalable B-Tree for parallel DB [Yokota 9] • Approaches in distributed DB that address autonomy (and scalability) – Mariposa: distributed relational DBMS based on an underlying economic model [Stonebraker96]