Preface.Who Will Benefit from This Book?Who Is This Book Not For?Organization of the Book.1 The Peer-to-Peer Architecture.1.1 Distributed Applications.1.1.1 A Distributed Computing Example.1.1.2 Client-Server Architecture.1.1.3 Peer-to-Peer Architecture.1.2 The Peer-to-Peer Software Structure.1.2.1 Base Overlay Layer.1.2.2 Middleware Functions.1.2.3 Application Layer.1.3 Comparison of Architectures.1.3.1 Ease of Development.1.3.2 Manageability.1.3.3 Scalability.1.3.4 Administrative Domains.1.3.5 Security.1.3.6 Reliability.2 Peer Discovery and Overlay Formation.2.1 Discovery.2.1.1 Static Configuration.2.1.2 Centralized Directory.2.1.3 Using the Domain Name Service.2.1.4 Member Propagation Techniques with Initial Member Discovery.2.1.4.1 Member Propagation with Full Member List.2.1.4.2 Member Propagation with Partial Member List.2.1.4.3 Member Propagation with a Hint Server.2.2 Overlay Formation.2.2.1 Creating an Overlay Link.2.2.1.1 Communicating Across Firewalls.2.2.1.2 Communicating Across Two Firewalls.2.3 Topology Selection.2.3.1 Random Mesh Formation.2.3.2 Tiered Formation.2.3.3 Ordered Lattices.3 Application-Layer Multicast.3.1 General Multicast Techniques.3.1.1 Group Addressing.3.1.2 Group Maintenance.3.1.3 Message Forwarding Scheme.3.1.4 Multicast Routing.3.1.5 Secure Multicast.3.1.6 Reliable Multicast.3.1.7 Multicast Flow and Congestion Control.3.2 Network-Layer Multicast-IP Multicast.3.2.1 Problems with IP-Layer Multicast.3.3 Application-Layer Multicast.3.3.1 Broadcast Mechanisms in Peer-to-Peer Networks.3.3.2 Multicast in Peer-to-Peer Overlays.4 File-Sharing Applications.4.1 File-Sharing Overview.4.1.1 Disk Space Management.4.1.2 File Indexing.4.1.3 File Search/Retrieval.4.1.4 Access Control and Security.4.1.5 Anonymous File Retrieval.4.1.6 Search Acceleration Techniques.4.1.7 Digital Rights Management.4.2 Usage of File-Sharing Applications.4.2.1 Limitations of File-Sharing Applications.4.3 Preventing Unauthorized File Sharing.4.3.1 Firewall-Based Techniques.4.3.2 Asset Inventory.4.3.3 Port Scanning.4.3.4 Usage-Based Rate Control.4.3.5 Malicious Participation.5 File Storage Service.5.1 Handle Management.5.2 Retrieving Files with Handles.5.2.1 Circular Ring Routing.5.2.2 Plaxton Scheme.5.2.3 CAN Routing Algorithm.5.2.4 Modified Network Routing Schemes.5.2.5 Modified Broadcast.5.3 Miscellaneous Functions.5.3.1 Access Control.5.3.2 Availability and Reliability.5.4 Usage Scenarios.5.4.1 Distributed File Systems.5.4.2 Anonymous Publishing.6 Data Backup Service.6.1 The Traditional Data Management System.6.2 The Peer-to-Peer Data Management System.6.2.1 The Backup/Restore Manager.6.2.2 The Peer Searcher.6.2.3 The File Searcher.6.2.4 The Properties Manager.6.2.5 The Data Manager.6.2.6 The Schedule Manager.6.3 Security Issues.6.4 Hybrid Data Management Approach.6.5 Feasibility of Peer-to-Peer Data Backup Service.7 Peer-to-Peer Directory System.7.1 LDAP Directory Servers.7.2 Why Use Peer-to-Peer Directories?7.3 A Peer-to-Peer Directory System.7.3.1 Schema Maintenance.7.3.2 Operation Processing.7.3.2.1 Local Placement of Records.7.3.2.2 Name Space Partitioning.7.3.3 Access Management.7.4 Example Applications of Peer-to-Peer Directory.8 Publish-Subscribe Middleware.8.1 Overview of Publish-Subscribe Systems.8.2 Server-Centric Publish-Subscribe Services.8.3 Peer-to-Peer Publish-Subscribe Services.8.3.1 Broadcast Scheme.8.3.2 Multicast Group Approach.8.4 Comparison of Approaches.8.5 Example Application.9 Collaborative Applications.9.1 General Issues.9.2 Instant Messaging.9.3 IP Telephony.9.4 Shared Collaboration Databases.9.5 Collaborative Content Hosting.9.6 Anonymous Web Surfing.10 Related Topics.10.1 Legacy Peer-to-Peer Applications.10.2 Grid Computing.References.Index.
{{comment.content}}