[RFC2460] Deering, S., and Hinden, R., "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998, [RFC4291] Hinden, R. and Deering, S., "IP Version 6 Addressing Architecture", RFC 4291, February 2006, [RFC793] Postel, J., Ed., "Transmission Control Protocol: DARPA Internet Program Protocol Specification", RFC 793, September 1981, Informative References [MS-PNRP] Microsoft Corporation, "". Microsoft Corporation, "". Overview The Peer-to-Peer Graphing Protocol enables applications to publish data into a shared among a number of nodes organized into a graph, and have the database synchronized over all the nodes in the graph. The Peer-to-Peer Graphing Protocol builds a network topology that allows the graph to scale to large numbers of nodes, provides reliable synchronization of the database, and evolves the graph topology so as to minimize latency as conditions change. Graph Topology A graph strives to maintain a good topology by balancing the following goals: Minimizing the average latency between any two Minimizing the latency between publishing nodes and all other nodes. well connected in order to survive the failure of large numbers of nodes and Graph partitions. Minimizing the amount of internode traffic. It should be noted that these properties conflict with each other and the graph constantly attempts to reach a compromise among these goals via periodic tuning. For more information, see section . A graph may look something like this. Figure : Example of a graph Connecting and Disconnecting When establishing the first connection to a graph, it is necessary for an application to supply the Graphing Protocol with the address and port of an active node. The Peer-to-Peer Graphing Protocol does not define any discovery mechanism for discovering nodes for the initial connection. When the address and port of an existing node are found, the node first authenticates with the existing node. After successful authentication, the existing node will either allow the connection or refuse it. In either case, the existing node will provide the connecting node with a list of its . If the existing node refused the connection (usually because it already has the maximum number of neighbors), the connecting node will attempt to connect to one of the existing node's neighbors. To participate in a graph, a node begins listening for connection requests from other nodes.
[RFC2460] Deering, S., and Hinden, R., "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998, [RFC4291] Hinden, R. and Deering, S., "IP Version 6 Addressing Architecture", RFC 4291, February 2006, [RFC793] Postel, J., Ed., "Transmission Control Protocol: DARPA Internet Program Protocol Specification", RFC 793, September 1981, Informative References [MS-PNRP] Microsoft Corporation, "". Microsoft Corporation, "". Overview The Peer-to-Peer Graphing Protocol enables applications to publish data into a shared among a number of nodes organized into a graph, and have the database synchronized over all the nodes in the graph. The Peer-to-Peer Graphing Protocol builds a network topology that allows the graph to scale to large numbers of nodes, provides reliable synchronization of the database, and evolves the graph topology so as to minimize latency as conditions change. Graph Topology A graph strives to maintain a good topology by balancing the following goals: Minimizing the average latency between any two Minimizing the latency between publishing nodes and all other nodes. well connected in order to survive the failure of large numbers of nodes and Graph partitions. Minimizing the amount of internode traffic. It should be noted that these properties conflict with each other and the graph constantly attempts to reach a compromise among these goals via periodic tuning. For more information, see section . A graph may look something like this. Figure : Example of a graph Connecting and Disconnecting When establishing the first connection to a graph, it is necessary for an application to supply the Graphing Protocol with the address and port of an active node. The Peer-to-Peer Graphing Protocol does not define any discovery mechanism for discovering nodes for the initial connection. When the address and port of an existing node are found, the node first authenticates with the existing node. After successful authentication, the existing node will either allow the connection or refuse it. In either case, the existing node will provide the connecting node with a list of its . If the existing node refused the connection (usually because it already has the maximum number of neighbors), the connecting node will attempt to connect to one of the existing node's neighbors. To participate in a graph, a node begins listening for connection requests from other nodes.