1.1 Glossary

This document uses the following terms:

big-endian: Multiple-byte values that are byte-ordered with the most significant byte stored in the memory location with the lowest address.

connection utility: The usefulness of a connection. This number is adjusted each time a node receives a record, such that a connection that delivers new information has a higher connection utility than one that delivers duplicate information.

contact: A node that publishes a contact record. Contacts are used by graph maintenance to detect partitions.

contact record: A record published by a contact that includes the contact's address and the graph signature at the time of publication.

Coordinated Universal Time (UTC): A high-precision atomic time standard that approximately tracks Universal Time (UT). It is the basis for legal, civil time all over the Earth. Time zones around the world are expressed as positive and negative offsets from UTC. In this role, it is also referred to as Zulu time (Z) and Greenwich Mean Time (GMT). In these specifications, all references to UTC refer to the time at UTC-0 (or GMT).

database: The set of all non-expired records published in a graph.

direct connection: A connection between two nodes that is used only for sending application messages.

globally unique identifier (GUID): A term used interchangeably with universally unique identifier (UUID) in Microsoft protocol technical documents (TDs). Interchanging the usage of these terms does not imply or require a specific algorithm or mechanism to generate the value. Specifically, the use of this term does not imply or require that the algorithms described in [RFC4122] or [C706] must be used for generating the GUID. See also universally unique identifier (UUID).

graph: A set of connected nodes.

graph ID: A unique string identifier for the graph instance. A graph ID is limited to 256 characters, including the string terminator.

graph info record: A record used to publish graph configuration.

graph maintenance: The process by which each node attempts to improve its connectivity within the graph.

graph security provider: A pluggable extension that provides record security and connection security.

MD5 hash: A hashing algorithm, as described in [RFC1321], that was developed by RSA Data Security, Inc. An MD5 hash is used by the File Replication Service (FRS) to verify that a file on each replica member is identical.

neighbor: A node that is connected to another node via a neighbor connection.

neighbor connection: A connection between two nodes that is used for Record flooding and synchronization.

node: An instance of the Peer-to-Peer Graphing Protocol.

node ID: A statistically unique 64-bit identifier for a node in a graph. A node ID must be unique within a graph.

peer time: A view of time shared by all nodes in a graph. Peer time is an approximation of the Coordinated Universal Time (UTC), but can diverge as the nodes in a graph continue to recalculate peer time based on the peer time reported by other nodes.

presence record: A record used to publish information about a node.

record: A piece of data that is published by a node to the graph. Records are the primary mechanism of communication in a graph.

record ID: The identifier of a record. A record ID must be unique within a graph.

signature: The lowest node ID in the graph.

signature node: The node that has the lowest node ID.

signature record: The record that is used to publish the graph's signature. There is only one signature record for a graph.

Unicode: A character encoding standard developed by the Unicode Consortium that represents almost all of the written languages of the world. The Unicode standard [UNICODE5.0.0/2007] provides three forms (UTF-8, UTF-16, and UTF-32) and seven schemes (UTF-8, UTF-16, UTF-16 BE, UTF-16 LE, UTF-32, UTF-32 LE, and UTF-32 BE).

UTF-8: A byte-oriented standard for encoding Unicode characters, defined in the Unicode standard. Unless specified otherwise, this term refers to the UTF-8 encoding form specified in [UNICODE5.0.0/2007] section 3.9.

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.