Extensible Resource Identifier

Last updated

An Extensible Resource Identifier (XRI) is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifiers (URI) and Internationalized Resource Identifiers (IRI), developed by the XRI Technical Committee at OASIS (closed in 2015). [1] The goal of XRI was 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, [2] a failure attributed [3] to the intervention of the W3C Technical Architecture Group which recommended against using XRIs or taking the XRI specifications forward. [4] 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, [5] but whose limitations the XRI Technical Committee was formed specifically to address. [6]

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:

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.
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. [7]

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. [8]

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.

Examples of XRI cross-reference syntax

Say a library system uses URNs in the ISBN namespace to identify books and DNS subdomains to identify its library branches. HTTP URI syntax does not provide a standard way to express the URN for the book title in the context of the DNS name for the library branch. XRI cross-reference syntax solves this problem by allowing the library (and even automated programs running at the library) to programmatically construct the XRIs necessary to address any book at any branch. Examples:

  xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)   xri://shoreline.library.example.com/(urn:isbn:0-395-36341-1)   xri://northgate.library.example.com/(urn:isbn:0-395-36341-1) 

This ability to create structured, self-describing identifiers can be extended to many other uses. For example, say the library wanted to indicate the type of each book available. By establishing a simple XRI dictionary of book types, it can now programmatically construct XRIs that include this metadata,

  xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+hardcover)   xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+softcover)   xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+reference) 

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:

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.

See also

Related Research Articles

A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or physical resource used by web technologies. URIs may be used to identify anything, including real-world objects, such as people and places, concepts, or information resources such as web pages and books. Some URIs provide a means of locating and retrieving information resources on a network ; these are Uniform Resource Locators (URLs). A URL provides the location of the resource. A URI identifies the resource by name at the specified location or URL. Other URIs provide only a unique name, without a means of locating or retrieving the resource or information about it; these are Uniform Resource Names (URNs). The web technologies that use URIs are not limited to web browsers. URIs are used to identify anything described using the Resource Description Framework (RDF), for example, concepts that are part of an ontology defined using the Web Ontology Language (OWL), and people who are described using the Friend of a Friend vocabulary would each have an individual URI.

The Organization for the Advancement of Structured Information Standards is a nonprofit consortium that works on the development, convergence, and adoption of open standards for cybersecurity, blockchain, Internet of things (IoT), emergency management, cloud computing, legal data exchange, energy, content technologies, and other areas.

A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that uses the urn scheme. URNs are globally unique persistent identifiers assigned within defined namespaces so they will be available for a long period of time, even after the resource which they identify ceases to exist or becomes unavailable. URNs cannot be used to directly locate an item and need not be resolvable, as they are simply templates that another parser may use to find an item.

<span class="mw-page-title-main">Digital object identifier</span> ISO standard unique string identifier for a digital object

A digital object identifier (DOI) is a persistent identifier or handle used to uniquely identify various objects, standardized by the International Organization for Standardization (ISO). DOIs are an implementation of the Handle System; they also fit within the URI system. They are widely used to identify academic, professional, and government information, such as journal articles, research reports, data sets, and official publications. DOIs have also been used to identify other types of information resources, such as commercial videos.

Extensible Name Service (XNS) is an open protocol for universal addressing and automated data exchange. It is an XML-based digital identity architecture.

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.

I-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary or =Mary.Jones. An organizational i-name could be @Acme or @Acme.Corporation.

<span class="mw-page-title-main">DNS zone</span> Part of the Internets Domain Name System (DNS) organization system

A DNS zone is a specific portion of the DNS namespace in the Domain Name System (DNS), which a specific organization or administrator manages. A DNS zone is an administrative space allowing more granular control of the DNS components, such as authoritative nameserver. The DNS is broken up into different zones, distinctly managed areas in the DNS namespace. DNS zones are not necessarily physically separated from one another; however, a DNS zone can contain multiple subdomains, and multiple zones can exist on the same server.

A Name Authority Pointer (NAPTR) is a type of resource record in the Domain Name System of the Internet.

XML namespaces are used for providing uniquely named elements and attributes in an XML document. They are defined in a W3C recommendation. An XML instance may contain element or attribute names from more than one XML vocabulary. If each vocabulary is given a namespace, the ambiguity between identically named elements or attributes can be resolved.

<span class="mw-page-title-main">Yadis</span>

Yadis is a communications protocol for discovery of services such as OpenID, OAuth, and XDI connected to a Yadis ID. While intended to discover digital identity services, Yadis is not restricted to those. Other services can easily be included.

Life Science Identifiers are a way to name and locate pieces of information on the web. Essentially, an LSID is a unique identifier for some data, and the LSID protocol specifies a standard way to locate the data. They are a little like DOIs used by many publishers.

<span class="mw-page-title-main">Michael Mealling</span>

Michael Mealling is co-founder of Pipefish Inc, and was the cofounder, Chief Financial Officer (CFO) and Vice President of Business Development of Masten Space Systems, CEO of Refactored Networks, long time participant within the IETF, a Space Frontier Foundation Advocate, and a former Director of the Moon Society. He operates a blog site called Rocketforge and has been interviewed twice on The Space Show and twice on SpaceVidcast.

Security Assertion Markup Language (SAML) is an XML standard for exchanging authentication and authorization data between security domains. SAML is a product of the OASIS (organization) Security Services Technical Committee.

Security Assertion Markup Language 2.0 (SAML 2.0) is a version of the SAML standard for exchanging authentication and authorization identities between security domains. SAML 2.0 is an XML-based protocol that uses security tokens containing assertions to pass information about a principal between a SAML authority, named an Identity Provider, and a SAML consumer, named a Service Provider. SAML 2.0 enables web-based, cross-domain single sign-on (SSO), which helps reduce the administrative overhead of distributing multiple authentication tokens to the user. SAML 2.0 was ratified as an OASIS Standard in March 2005, replacing SAML 1.1. The critical aspects of SAML 2.0 are covered in detail in the official documents SAMLCore, SAMLBind, SAMLProf, and SAMLMeta.

A Formal Public Identifier (FPI) is a short piece of text with a particular structure that may be used to uniquely identify a product, specification or document. FPIs were introduced as part of Standard Generalized Markup Language (SGML), and serve particular purposes in formats historically derived from SGML. Some of their most common uses are as part of document type declarations (DOCTYPEs) and document type definitions (DTDs) in SGML, XML and historically HTML, but they are also used in the vCard and iCalendar file formats to identify the software product which generated the file.

The Handle System is the Corporation for National Research Initiatives's proprietary registry assigning persistent identifiers, or handles, to information resources, and for resolving "those handles into the information necessary to locate, access, and otherwise make use of the resources".

The Abbreviated Language for Authorization (ALFA) is a domain-specific language used in the formulation of access-control policies.

The SAML metadata standard belongs to the family of XML-based standards known as the Security Assertion Markup Language (SAML) published by OASIS in 2005. A SAML metadata document describes a SAML deployment such as a SAML identity provider or a SAML service provider. Deployments share metadata to establish a baseline of trust and interoperability.

References

  1. "OASIS Extensible Resource Identifier (XRI) TC". OASIS. 8 July 2015. Retrieved 19 March 2019.
  2. Failed OASIS Standard Ballot of XRI Syntax v2.0
  3. Time for OASIS XRI TC and W3C TAG to Sit Down Together
  4. TAG recommends against XRI
  5. URNs, Namespaces and Registries
  6. Xri Solves Real Problems
  7. "XRI and XDI Explained". Archived from the original on 2007-05-27. Retrieved 2008-10-01.
  8. XRI in a Nutshell