Peer-to-peer networking Tautvydas Versockas
What is peer networking? Peer-to-peer networking is a serverless networking technology that allows several network devices to share resources and communicate directly with each other. The Peer-to-Peer Infrastructure is a set of networking APIs to help you develop decentralized networking applications that use the collective power of computers on a network. For example, peer-to-peer applications can be collaborative communications, content distribution technologies, and so on. The Peer-to-Peer Infrastructure provides a solid networking infrastructure so that you can concentrate on developing applications, because the infrastructure is developed for you.
Scalable and Secure Peer Name Resolution The Peer Name Resolution Protocol (PNRP) Namespace Provider API is a name-to-IP resolution protocol. The IPv6 scope or context that includes all participating peers is called a cloud. PNRP allows peers to interact with each other within a cloud.
Efficient Multipoint Communication The Peer-to-Peer Infrastructure includes the Graphing API that provides efficient multipoint communication. Like PNRP, peer-to-peer graphing allows a set of nodes to interact, and pass data to and from each other in the form of a record. Each record that a peer generates or updates is sent to all nodes in a graph.
Distributed Data Management Distributed data management automatically stores all records sent to a peer- to-peer graph until the specified expiration time for each record. Peer-to-peer networking ensures that each node in a peer-to-peer graph has a similar view of the record database. If a peer-to-peer graph has a security model associated with it, the graph contains the following information: Who can and cannot connect to a graph Who can secure and validate records based on externally defined criteria
Secure Peer Identities The Peer-to-Peer Infrastructure provides a Peer-to-Peer Identity Manager API that allows you to create, manage, and manipulate the peer identities. Peer identities are used to define names for secure endpoints in PNRP, and can represent any resource that participates in a peer-to-peer network, including secure peer-to-peer groups and services.
Secure Peer-to-Peer Groups The Peer-to-Peer Grouping API combines the Peer-to-Peer Graphing, Identity Manager, and PNRP APIs to form a cohesive and convenient solution for peer-to-peer networking application development. The Peer-to-Peer Grouping API uses the Peer-to-Peer Identity Manager API and a self-signed certificate scheme to ensure security within the graphing infrastructure. Each group can be resolved and registered through PNRP, which allows for the name resolution of random peers within a registered peer-to-peer group.
Benefits of Peer Networking (1) Secure - robustness if there are failures or directed attacks. Scalable - scalability from simple LANs to the entire Internet. Serverless - no central point of failure Self-tuning - adapts to changes within the infrastructure. Self-repairing - automatically repairs and corrects itself. Sharing - enables sharing from edge-of-network endpoints.
Benefits of Peer Networking (2) By using the Peer-to-Peer Infrastructure, you can create the following types of applications: Real-time networking and communication Collaboration Content distribution Distributed processing coordination Internet technologies and protocols
Peer Networking Scenarios (1) Collaborative Applications - you can use the Peer-to-Peer Infrastructure to create collaborative applications for users to interactively share ideas with each other whether they are in the same conference room or across the Internet. For example, you can create a shared whiteboard-like application.
Peer Networking Scenarios (2) Instant Messaging or Chat Applications - instant messaging and chat applications that use central servers can be updated to use the Peer-to-Peer Infrastructure. For example, a chat application can use the Peer-to-Peer Infrastructure as an alternative to a centralized server. The Peer-to-Peer Infrastructure improves scalability, and allows users to participate in chat and messaging activities without a server.
Peer Networking Scenarios (3) Content Distribution Applications - you can use the Peer-to-Peer Infrastructure as a distribution mechanism for content. For example, you can distribute a newsletter to peers who subscribe to a service. Because data in the Peer-to- Peer Infrastructure is synchronized, subscribers receive the newsletter even when the publisher is not online.
What is the Peer Infrastructure? The Peer Infrastructure is a set of several APIs that are powerful and flexible. The major components include the following: Peer Graphing API Peer Grouping API Peer Identity Manager API PNRP (Peer Name Resolution Protocol) Namespace Provider API
Peer Graphing API The Peer Infrastructure provides a graphing technology that can pass information efficiently and reliably between peers in a peer graph. The Peer Graphing API ensures that each node has a consistent view of the data in a graph. You can use the Peer Graphing API to do the following: Create and manage peer graphs Enumerate and interact with other peers in a peer graph Send data in the form of a record to each node in a peer graph
Peer Grouping API The Peer Grouping API combines and enhances the Peer PNRP and Graphing APIs, and adds the following two components: A multiplexing layer that allows multiple applications running on one peer entity to connect to a group A specific security model that ensures only peers invited to a group can connect to the group through the lifetime of the group You can use the Peer Grouping API to do the following: Create and manage secure peer groups Enumerate and interact with other peers in a group Send data in the form of a record to each node in a peer group
Peer Identity Manager API By using the Peer Identity Manager API you can create secure peer names that PNRP can use to ensure that a person publishing a name officially owns the name. Peer names are also called identities, and they are used in the Peer Grouping API to identify the individuals in a group. You can use the Peer Identity Manager API to do the following: Create, enumerate, and manage peer identities.
PNRP Namespace Provider API The Peer Infrastructure provides a serverless name resolution technology called the PNRP Namespace Provider API. By using the Winsock 2 PNRP Namespace Provider API, a peer, service, computing device, and peer group endpoint can manage, register, unregister, and resolve another endpoint in a PNRP cloud.
Thank You for Your attention!