Kalpana Kalpana (Editor)

Extensible Resource Identifier

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

An Extensible Resource Identifier (abbreviated XRI) is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifiers and Internationalized Resource Identifiers, developed by the XRI Technical Committee at OASIS. The goal of XRI is a standard syntax and discovery format for abstract, structured identifiers that are domain-, location-, application-, and transport-independent, so they can be shared across any number of domains, directories, and interaction protocols.

Contents

The XRI 2.0 specifications were rejected by OASIS, a failure attributed to the intervention of the W3C Technical Architecture Group which recommended against using XRIs or taking the XRI specifications forward. The core of the dispute is whether the widely interoperable HTTP URIs are capable of fulfilling the role of abstract, structured identifiers, as the TAG believes, but whose limitations the XRI Technical Committee was formed specifically to address.

The designers of XRI believed that, due to the growth of XML, web services, and other ways of adapting the Web to automated, machine-to-machine communications, it was increasingly important to be able to identify a resource independent of any specific physical network path, location, or protocol in order to:

  • Create structured identifiers with self-describing "tags" that can be understood across domains.
  • Maintain a persistent link to the resource regardless of whether its network location changes.
  • Delegate identifier management not just in the authority segment (the first segment following the "xxx://" scheme name) but anywhere in the identifier path.
  • Map identifiers used to identify a resource in one domain to other synonyms used to identify the same resource in the same domain, or in other domains.
  • This work led, by early 2003, to the publication of a protocol based on HTTP(S) and simple XML documents called XRDS (Extensible Resource Descriptor Sequence).

    Features

    URI- and IRI-compatibility
    There is a specified way to express XRIs in the form of URIs
    Cross-references
    An XRI can contain another XRI (or a URI), to any level of nesting. This enables the construction of structured, "tagged" identifiers that enable identifier sharing across domains the same way XML enables data sharing across domains.
    Global context symbols
    These are single-character symbols (=, @, +, $, or !) that provide a simple, human-friendly way to indicate the global context of an i-name or i-number. These are not required, but may be used within communities of interest that agree on their meaning and how they are resolved. See also: Global context registries.
    Peer-to-peer addressing
    XRI syntax supports the ability for any two network nodes to assign each other XRIs and perform cross-resolution. That is, a top-level namespace authority can be referred to by names assigned by other parties. This aids in federating namespaces between organizations or communities of interest.
    Decentralization
    XRIs can be rooted in either centralized addressing systems (e.g., IP addresses or DNS domain names) or private/decentralized root authorities and peer-to-peer addressing.
    Delegation
    Namespaces can be delegated to other namespace authorities.
    Federation
    Namespaces defined separately at any level can be joined together (in a hierarchical or polyarchical fashion) and made visible and resolvable.
    Persistence
    The ability to express the intent that parts (or all) of an XRI are permanent identifiers that will never be reassigned.
    Human- and machine-friendly formats
    XRI provides syntax both for identifiers that can be created and understood by humans easily (i-names), and those that are optimized for machine structuring/parsing (i-numbers).
    Simple, extensible resolution
    XRI offers a lightweight resolution scheme using HTTP and a simple XML document format called XRDS.
    Trusted resolution
    The XRI resolution protocol includes three modes of trusted version: a) HTTPS, b) SAML assertions, and c) both.
    Multiple resolution options
    XRI resolution can be independent of DNS.
    Fully internationalizable
    Leverage existing Unicode and IRI specifications.
    Transport independent
    XRIs are independent of specific transport protocols or mechanisms.

    Composition of an Extensible Resource Identifier

    An XRI starting with "=" is thought of identifying a person. An XRI starting with "@" identifies a company or organization. A starting "+" indicates a generic concept, subject or topic.

    A "*" marks a delegation. For example with "=family*name", "=family" delegates the resolving of its sub-XRI "name" to another resolver. This is analogous to DNS' delegating the subdomain resolution to other nameservers (name.family.de: after resolving de, the nameserver responsible for de delegates to the family nameserver, which delegates to the name nameserver).

    Resolving an Extensible Resource Identifier

    XRIs are resolved to XRDS documents using the HTTP(S) protocol in the same way as URLs are resolved to resource records using the DNS protocol. This lookup process can be configured by passing parameters.

    Proxy resolvers and the HXRI

    An XRI can be transformed into a URI by adding "http://xri.net/" at the beginning and appending the XRI. Internally, the URI now refers to a proxy resolver, which resolves a URI of this kind to an XRDS document. The proxy resolver found under http://xri.net for example can be used to resolve an XRI. So =example becomes http://xri.net/=example. The second form is called an HTTP XRI or HXRI for short. The owner of the XRI =example can tell the proxy resolver what to do, if the HXRI is called. One possible reaction is to do a 302 HTTP redirect to a stored URI.

    Further parameters to specify the resolution can be appended to the HXRI, e.g. to get the whole XRDS document or to get service descriptions for this XRI. E.g. if you attach ?_xrd_r=application/xrds+xml to the HXRI, the whole XRDS document is returned. So http://xri.net/=example?_xrd_r=application/xrds+xml returns the whole XRDS for the XRI =example.

    Other examples of XRI 2.0 syntax

    (Note that none of these show the prefix "xri://", which is optional in XRIs when they are not in URI normal form, i.e., they have not undergone the specified transformation between XRI format and URI format.)

    Example XRIs composed entirely of reassignable segments:

    =Mary.Jones @Jones.and.Company +phone.number +phone.number/(+area.code) =Mary.Jones/(+phone.number) @Jones.and.Company/(+phone.number) @Jones.and.Company/((+phone.number)/(+area.code))

    Example XRIs composed entirely of persistent segments:

    =!13cf.4da5.9371.a7c5 @!280d.3822.17bf.ca48!78d2/!12

    Example of XRIs with mixes of persistent and reassignable segments (XRI allows any combination of the two):

    =!13cf.4da5.9371.a7c5/(+phone.number) @Jones.and.Company!78d2/!12/(+area.code)

    Applications

    Examples of applications being developed using XRI infrastructure include:

  • OpenID 2.0 includes support for XRIs and uses XRDS for OpenID identifier discovery.
  • The Higgins Project uses XRIs and XRDS to address and discover Higgins context providers.
  • XDI.org I-name and I-number digital identity addressing services.
  • The XDI data sharing protocol under development by the OASIS XDI Technical Committee.
  • Licensing

    The XRI Technical Committee is chartered under the RF on Limited Terms Mode of the OASIS IPR policy (See http://www.oasis-open.org/committees/xri/ipr.php for more details.)

    Dr Phillip Hallam-Baker, the VeriSign representative in OASIS argued that the use of the technologies employed in XRI are subject to patent claims, that the licensing rights to these patents has been vested in XDI.org, a non-profit organization which had in turn licensed a non-exclusive interest in the use of the patents to companies associated with the original patent holders, despite the above IPR statement. Opposition from VeriSign and companies that had connections to Hallam-Baker was instrumental in ensuring the defeat of the proposal to adopt the specifications.

    References

    Extensible Resource Identifier Wikipedia