1.1 Glossary

This document uses the following terms:

authority: The first portion of a peer name. For secure peer names, this is a hash of a public key represented as 40 hexadecimal characters in printable form. For unsecured peer names, this is "0".

certified peer address (CPA): A secured mapping of a key, such as a Peer Name, to a set of network endpoints and an optional extended payload. For Secure Peer Names, this also contains the public key and a signed certificate.

classifier: A Unicode string used in conjunction with an authority to form a Peer Name.

cloud: A group of Peer Name Resolution Protocol (PNRP)  nodes that communicate with each other to resolve names into addresses.

Domain Name System (DNS): A hierarchical, distributed database that contains mappings of domain names (1) to various types of data, such as IP addresses. DNS enables the location of computers and services by user-friendly names, and it also enables the discovery of other information stored in the database.

endpoint: A tuple (composed of an IP address, port, and protocol number) that uniquely identifies a communication endpoint.

extended payload: An arbitrary BLOB of data associated with a Peer Name and published by an application.

leaf set: A set of PNRP IDs numerically close to a node's own PNRP ID, consisting of the five numerically closest PNRP IDs that are less than the node's own PNRP ID and the five numerically closest PNRP IDs that are greater than the node's own PNRP ID.

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

LocalOOB (Local Out of Band): An implementation-specific means of retrieving the addresses necessary to bootstrap a cloud. Implementers may fetch addresses from any source that they wish.

network endpoint: A tuple (composed of an Ipv6 address and port) that uniquely identifies a protocol communication endpoint.

node: An instance of PNRP running on a machine.

nonce: A number that is used only once. This is typically implemented as a random number large enough that the probability of number reuse is extremely small. A nonce is used in authentication protocols to prevent replay attacks. For more information, see [RFC2617].

object identifier (OID): In the context of Abstract Syntax Notation One (ASN.1), an object identifier, as specified in [ITUX680].

peer identity: A public/private key pair used by the Peer Name Resolution Protocol (PNRP).

peer name: A string composed of an authority and a classifier. This is the string used by applications to resolve to a list of endpoints and/or an extended payload. A peer name is not required to be unique. For example, several nodes that provide the same service can register the same Peer Name.

Peer-To-Peer ID (P2P ID): A 128-bit binary representation of a Peer Name.

PNRP ID: A 256-bit unsigned integer used internally by PNRP to identify a resource. A PNRP ID is derived from a Peer Name and an IP endpoint used by PNRP on the node publishing the Peer Name.

secure peer name: A peer name that has a nonzero authority and is tied to a Peer Identity.

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).

unsecured peer name: A Peer Name that has a "0" authority and is therefore not tied to a Peer Identity. Any node can claim ownership of any Unsecured Peer Name.

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.