UserPreferences

GssPolicies/InumberSyntax


I-Number Syntax and Normalization

  1. Motivation
  2. Background
  3. Community I-Number Syntax Policy
  4. Global I-Number Syntax Policy
  5. Community I-Number Normalization Policy
  6. Community I-Number Delegation Policy
  7. Implications
    1. XDI.ORG Community I-Number Routing Tables
    2. Community I-Brokers
    3. Privacy Considerations
  8. Related Policies

1. Motivation

These policies specify the valid syntax and characters for Community I-Numbers (which include Global I-Numbers). They are motivated by the need for XDI.ORG Community I-Numbers to:

2. Background

Although the GRS assigns only the first subsegment of an XDI.ORG Community I-Number, efficient resolution of XDI.ORG Community I-Numbers is very similar to efficient routing of IP addresses – it requires agreement by all participants in the addressing network to a common set of addressing rules. The policies in this section govern the syntax, normalization, and delegation rules that apply to the entire XRI Authority segment of a Community I-Number.

In particular, due to the special persistence requirements of I-Numbers, the XDI.ORG Community I-Number space requires scaling, federation, and delegation characteristics very similar to that of IP (Internet Protocol) infrastructure. Therefore the policies governing the syntax of XDI.ORG Community I-Numbers are modeled directly after IPv6 addressing architecture (see [WWW]RFC 2373).

3. Community I-Number Syntax Policy

An XDI.ORG Community I-Number MUST conform to the XRI Specifications for persistent XRIs for XRI Authorities. In addition it MUST conform to the structure and syntax of IPv6 addressing architecture as specified in [WWW]RFC 2373, with the following modifications:
  1. To conform to the XRI Specifications for persistent XRIs, a Community I-Number MUST use bang ("!") instead of colon (":") or dot (".") as the delimiter for the hexadecimal values representing each 16-bit segment, and the first segment MUST be preceeded by a bang.

  2. A Community I-Number MAY consist of less than eight 16-bit segments. If so, the segments used MUST be interpreted as representing the least significant (rightmost) bits of the 128-bit address space, and double delimiters MUST NOT be used to represent the missing (most significant) segments.

  3. A segment of an Community I-Number MAY be a Cross-Reference to another I-Number. If so, this I-Number MUST follow the same syntax rules defined in this policy. (This syntax is specifically used by the Global I-Number Syntax Policy, below.)

  4. A Community I-Number MUST be prefixed with an XRI GCS character as specified in the following Global I-Number Syntax policies.

A Community I-Number MUST begin with a Global I-Number. A Community I-Number MUST conform with the Community I-Number Normalization Policy.

4. Global I-Number Syntax Policy

A Global Independent I-Number MUST begin with the GCS character "!" and MUST be a hexadecimal value in the first segment of a Community I-Number. This value MUST be outside the range reserved by the Reserved Global I-Number Policy (GssPolicies/ReservedInumbers). A Global Personal I-Number MUST begin with the GCS character "=" and MUST a Cross-Reference to an I-Number generated by the Global Registry. A Global Organizational I-Number MUST begin with the GCS character "@" and MUST a Cross-Reference to an I-Number generated by the Global Registry.

5. Community I-Number Normalization Policy

Per the Community I-Number Syntax Policy, all characters in Community I-Numbers except XRI syntax delimiters MUST be hexadecimal digits. All non-numeric hexadecimal digits MUST be normalized to uppercase.

6. Community I-Number Delegation Policy

Within the XDI.ORG Community, all Community I-Numbers assigned at any delegation level MUST conform to the Community I-Number Syntax Policy. This obligation MUST be passed on to all Registrants in all Registration Agreements.

7. Implications

7.1. XDI.ORG Community I-Number Routing Tables

A key implication of the Community I-Number Syntax Policy is that all XRI resolvers dealing with XRIs in the XDI.ORG Community will be able to standardize on "nested" [WWW]IPv6-based routing tables for the XRI authority segment.

"Nested" means that the base routing table is the same as the IPv6 128-bit routing table, however in order to provide for expansion of this space by authorities at every level (due to the unique persistence requirements of I-Numbers), each of the eight 16-bit segments in the base routing table may be mapped to another instance of the 128-bit table ("subtable"). If necessary, a segment of a subtable can be mapped to another lower-level subtable and so on (this should be very rare and only needed by the very largest registries or i-brokers.)

7.2. Community I-Brokers

The Global Registry assigns Global Independent I-Numbers only to Registrars (see GssPolicies/RegistrationRestrictions). Individuals or organizations who wish to serve as a Community I-Broker for Resources addressable within the XDI.ORG Community, but who do not wish to become a Registrar, may register a delegated Community I-Number with any Registrar that offers Independent Community I-Broker registration services.

7.3. Privacy Considerations

It would be very efficient, from a resolution standpoint, for Global Personal and Organizational I-Numbers to consist of Cross-References to the Registrant's Community I-Number assigned by their Registrar (this design was used in a preliminary trial program). However if the Registrant later transfers their registration to another Registrar, the Registrant's Global I-Number would still reflect the relationship with the original Registrar. Generating a "semantic-free" I-Number at the GRS level conforms to the Minimum Information Policy (see GssPolicies/PrivacyPolicy) and assures the least possible information is reflected in a Global I-Number while still optimizing resolution efficiency.

8. Related Policies