I-number

i-numbers are a type of Internet identifier designed to solve the problem of how any web resource can have a persistent identity that never changes even when the web resource moves or changes its human-friendly name. For example, if a web page has an i-number, and links to that page use the i-number, then those links will not break even if the page is renamed, the website containing the page is completely reorganized, or the page is moved to another website.

Conceptually, an i-number is similar to an IP address, except i-numbers operate at a much higher level of abstraction in Internet addressing architecture. The other key difference is that i-numbers are persistent, i.e., once they are assigned to a resource, they are never reassigned. By contrast, IP addresses are constantly reassigned, e.g., your computer may have a different IP address every time it connects to the Internet.

Technically, an i-number is one form of an extensible resource identifier (XRI) — an abstract structured identifier standard developed at the Organization for the Advancement of Structured Information Standards for sharing resources and data across domains and applications. The other form is called an i-name.

The i-number form of an XRI is designed to serve as an address that does not need to change no matter how often the location of a resource on (or off) the Internet changes. XRIs accomplish this by adding a third layer of abstract addressing over the existing layers: IP numbering (first layer) and DNS naming (second layer). The notion of a third layer for persistent addressing is not new — Uniform Resource Names (URNs) and other persistent identifier architectures have been developed for this purpose. However, the XRI layer is the first architecture that combines a uniform syntax and resolution protocol for both persistent and reassignable identifiers.

At the XRI addressing layer, most resources will have both i-names and i-numbers. These different XRIs that all point to the same resource are called synonyms. I-name synonyms make it easy for humans to discover and address the resource, while i-number synonyms make it easy for machines to maintain a persistent identity for the resource. For example, if a company changes its name, it may register a new i-name and sell its old i-name to another company, however, its i-number can remain the same — and links to the company that use its i-number won't break.

Furthermore, all of these forms of XRI synonyms can be resolved using the same http- or https-based resolution protocol. The results of XRI resolution are an XML document called an XRDS (Extensible Resource Descriptor Sequence). XRDS documents are the basis for the Yadis identity service discovery protocol that is now part of OpenID.

XRIs are also backwards compatible with the DNS and IP addressing systems, so it is possible for domain names and IP addresses to be used as i-names (or, in rare cases, as i-numbers). Like DNS names, XRIs can also be delegated, i.e., nested multiple levels deep, just like the directory names on a local computer file system. For example, a company can register a top-level (global) i-name and i-number for itself, and then assign second- or lower-level (community) i-names and i-numbers to its divisions, employees, etc.

Examples
The following examples conform to the i-number specifications published in the XDI.org Global Services Specifications. Note that they do not include the 'xri:// prefix as this is optional with absolute XRIs.

Global I-Numbers
 * =!1000.a1b2.93d2.8c73 (Personal)
 * @!1000.9554.fabd.129c (Organizational)
 * !!1000 (Network — reserved for XDI.org-accredited i-brokers)

Community i-numbers (second-level)
 * =!1000.a1b2.93d2.8c73!3ae2 (Personal)
 * @!1000.9554.fabd.129c!2847.df3c (Organizational)
 * !!1000!de21.4536.2cb2.8074 (Network)

Community i-numbers (third-level)
 * =!1000.a1b2.93d2.8c73!3ae2!1490 (Personal)
 * @!1000.9554.fabd.129c!2847.df3c!cfae (Organizational)
 * !!1000!de21.4536.2cb2.8074!9fcd (Network)