<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.11 (Ruby 3.2.4) -->
<?rfc strict="yes"?>
<?rfc comments="no"?>
<?rfc editing="no"?>
<?rfc tocompact="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-kunze-ark-39" category="info" consensus="true" submissionType="IETF" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="ARK">The ARK Identifier Scheme</title>
    <seriesInfo name="Internet-Draft" value="draft-kunze-ark-39"/>
    <author initials="J." surname="Kunze" fullname="John A. Kunze">
      <organization>Ronin Institute</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>jakkbl@gmail.com</email>
      </address>
    </author>
    <author initials="E." surname="Bermès" fullname="Emmanuelle Bermès">
      <organization>École nationale des Chartes</organization>
      <address>
        <postal>
          <street>65 Rue de Richelieu</street>
          <city>Paris</city>
          <code>75002</code>
          <country>France</country>
        </postal>
        <email>emmanuelle.bermes@chartes.psl.eu</email>
      </address>
    </author>
    <date year="2024"/>
    <workgroup>Network Working Group</workgroup>
    <keyword>identifier</keyword>
    <keyword>archive</keyword>
    <keyword>PID</keyword>
    <abstract>
      <?line 230?>

<!--
  # Note: trailing whitespace in front matter properties will cause
  #       errors in the kramdown-rfc parser. Even in comments!
  #
  # kramdown-rfc described here: https://github.com/cabo/kramdown-rfc
  #
-->

<t>The ARK (Archival Resource Key) naming scheme is designed to
facilitate the high-quality and persistent identification of
information objects.  The label "ark:" marks the start of a core ARK
identifier that can be made actionable by prepending the beginning of
a URL.  Meant to be usable after today's networking technologies
become obsolete, that core should be recognizable in the future as a
globally unique ARK independent of the URL hostname, HTTP, etc.  A
founding principle of ARKs is that persistence is purely a matter of
service and neither inherent in an object nor conferred on it by a
particular naming syntax.  The best any identifier can do is lead
users to services that support robust reference.  A full-functioning
ARK leads the user to the identified object and, with the "?info"
inflection appended, returns a metadata record and a commitment
statement that is both human- and machine-readable.  Tools exist for
minting, binding, and resolving ARKs.</t>
      <t>Responsibility for this Document</t>
      <t>The ARK Alliance Technical Working Group <xref target="ARKAtech"/> is responsible
for the content of this Internet Draft.  The group homepage lists
monthly meeting notes and agendas starting from March 2019.
Revisions of the spec are maintained on github at <xref target="ARKdrafts"/>.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://arks-org.github.io/arkspec/draft-ark-spec.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-kunze-ark/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/arks-org/arkspec"/>.</t>
    </note>
  </front>
  <middle>
    <?line 263?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document describes a scheme for the high-quality naming of
information resources.  The scheme, called the Archival Resource Key
(ARK), is well suited to long-term access and identification of any
information resources that accommodate reasonably regular electronic
description.  This includes digital documents, databases, software,
and websites, as well as physical objects (books, bones, statues,
etc.) and intangible objects (chemicals, diseases, vocabulary terms,
performances).  Hereafter the term "object" refers to an information
resource.  The term ARK itself refers both to the scheme and to any
single identifier that conforms to it.  A reasonably concise and
accessible overview and rationale for the scheme is available at
<xref target="ARK"/>.</t>
      <t>Schemes for persistent identification of network-accessible objects
are not new.  In the early 1990's, the design of the Uniform Resource
Name <xref target="RFC2141"/> responded to the observed failure rate of URLs by
articulating an indirect, non-hostname-based naming scheme and the
need for responsible name management.  Meanwhile, promoters of the
Digital Object Identifier <xref target="DOI"/> succeeded in building a community of
providers around a mature software system <xref target="Handle"/> that supports name
management.  The Persistent Uniform Resource Locator <xref target="PURL"/> was
another scheme that had the advantage of working with unmodified web
browsers.  ARKs represent an approach that attempts to build on the
strengths and to avoid the weaknesses of these schemes.  For example,
like URNs, ARKs have an internal label ("ark:") to help them be
recognizable as globally unique identifiers in a post-HTTP Internet.
Unlike DOIs and Handles, ARKs can be created without centralized fee-
based infrastructures.  ARK resolvers can take advantage of advanced
resolution features such as content negotiation (like DOIs) and
suffix passthrough <xref target="SPT"/> (similar to PURL partial redirects).  Like
PURLs, ARKs openly embrace URLs as the best current choice for
actionability.</t>
      <t>A founding principle of the ARK is that persistence is purely a
matter of service.  Persistence is neither inherent in an object nor
conferred on it by a particular naming syntax.  Nor is the technique
of name indirection -- upon which URNs, Handles, DOIs, and PURLs are
founded -- of central importance.  Name indirection is an ancient and
well-understood practice; new mechanisms for it keep appearing and
distracting practitioner attention, with the Domain Name System (DNS)
<xref target="RFC1034"/> being a particularly dazzling and elegant example.  What is
often forgotten is that maintenance of an indirection table is an
unavoidable cost to the organization providing persistence, and that
cost is equivalent across naming schemes.  That indirection has
always been a native part of the web while being so lightly utilized
for the persistence of web-based objects indicates how unsuited most
organizations will probably be to the task of table maintenance and
to the much more fundamental challenge of keeping the objects
themselves viable.</t>
      <t>Persistence is achieved through a provider's successful stewardship
of objects and their identifiers.  The highest level of persistence
will be reinforced by a provider's robust contingency, redundancy,
and succession strategies.  It is further safeguarded to the extent
that a provider's mission is shielded from funding and political
instabilities.  These are by far the major challenges confronting
persistence providers, and no identifier scheme has any direct impact
on them.  In fact, some schemes may actually be liabilities for
persistence because they create short- and long-term dependencies for
every object access on complex, special-purpose infrastructures,
parts of which are proprietary and all of which increase the carry-
forward burden for the preservation community.  It is for this reason
that the ARK scheme relies only on educated name assignment and light
use of general-purpose infrastructures that are maintained mostly by
the Internet community at large (the DNS, web servers, and web
browsers).</t>
      <t>As purely a matter of service, persistence is difficult, not known to
be commercially attractive, and likely to be undertaken by only a
small fraction of content providers that have preservation in their
mission.  This vision runs counter to some early predictions that
technology-backed persistent identifiers would somehow become
ubiquitous.  On the plus side, persistent identifier solutions should
not need to be "internet scale".</t>
      <section anchor="reasons-to-use-arks">
        <name>Reasons to Use ARKs</name>
        <t>If no persistent identifier scheme contributes directly to
persistence, why not just use URLs?  A particular URL may be as
durable an identifier as it is possible to have, but nothing
distinguishes it from an ordinary URL to the recipient who is
wondering if it is suitable for long-term reference.  An ARK embedded
in a URL provides some of the necessary conditions for credible
persistence, inviting access to not one, but to three things: to the
object, to its metadata, and to a nuanced statement of commitment
from the provider in question (the NMA, described below) regarding
the object.  Existence of the extra service can be probed
automatically by appending "?info" to the ARK.</t>
        <t>The form of the ARK also supports the natural separation of naming
authorities into the original name assigning authority and the
diverse multiple name mapping (or servicing) authorities that in
succession and in parallel will take over custodial responsibilities
from the original assigner (assuming the assigner ever held that
responsibility) for the large majority of a long-term object's
archival lifetime.  The name mapping authority, indicated by the
hostname part of the URL that contains the ARK, serves to launch the
ARK into cyberspace.  Should it ever fail (and there is no reason why
a well-chosen hostname for a 100-year-old cultural memory institution
shouldn't last as long as the DNS), that host name is considered
disposeable and replaceable.  Again, the form of the ARK helps
because it defines exactly how to recover the core immutable object
identity, and simple algorithms (one based on the URN model) or even
by-hand Internet query can be used for for locating another mapping
authority.</t>
        <t>There are tools to assist in generating ARKs and other identifiers,
such as <xref target="NOID"/> and "uuidgen", both of which rely for uniqueness on
human-maintained registries.  This document also contains some
guidelines and considerations for managing namespaces and choosing
hostnames with persistence in mind.</t>
      </section>
      <section anchor="three-requirements-of-arks">
        <name>Three Requirements of ARKs</name>
        <t>The first requirement of an ARK is to give users a link from an
object to a promise of stewardship for it.  That promise is a multi-
faceted covenant that binds the word of an identified service
provider to a specific set of responsibilities.  It is critical for
the promise to come from a current provider and almost irrelevant,
over a long period of time, what the original assigner's intentions
were.  No one can tell if successful stewardship will take place
because no one can predict the future.  Reasonable conjecture,
however, may be based on past performance.  There must be a way to
tie a promise of persistence to a provider's demonstrated or
perceived ability -- its reputation -- in that arena.  Provider
reputations would then rise and fall as promises are observed
variously to be kept and broken.  This is perhaps the best way we
have for gauging the strength of any persistence promise.</t>
        <t>The second requirement of an ARK is to give users a link from an
object to a description of it.  The problem with a naked identifier
is that without a description real identification is incomplete.
Identifiers common today are relatively opaque, though some contain
ad hoc clues reflecting assertions that were briefly true, such as
where in a filesystem hierarchy an object lived during a short stay.
Possession of both an identifier and an object is some improvement,
but positive identification may still be uncertain since the object
itself might not include a matching identifier or might not carry
evidence obvious enough to reveal its identity without significant
research.  In either case, what is called for is a record bearing
witness to the identifier's association with the object, as supported
by a recorded set of object characteristics.  This descriptive record
is partly an identification "receipt" with which users and archivists
can verify an object's identity after brief inspection and a
plausible match with recorded characteristics such as title and size.</t>
        <t>The final requirement of an ARK is to give users a link to the object
itself (or to a copy) if at all possible.  Persistent identification
plays a vital supporting role but, strictly speaking, it can be
construed as no more than a record attesting to the original
assignment of a never-reassigned identifier.  Object access may not
be feasible for various reasons, such as a transient service outage,
a catastrophic loss, a licensing agreement that keeps an archive
"dark" for a period of years, or when an object's own lack of
tangible existence confuses normal concepts of access (e.g., a
vocabulary term might be "accessed" through its definition).  In such
cases the ARK's identification role assumes a much higher profile.
But attempts to simplify the persistence problem by decoupling access
from identification and concentrating exclusively on the latter are
of questionable utility.  A perfect system for assigning forever
unique identifiers might be created, but if it did so without
reducing access failure rates, no one would be interested.  The
central issue -- which may be crudely summed up as the "HTTP 404 Not
Found" problem -- would not have been addressed.</t>
        <t>The central duty of an ARK is a high-quality experience of access and
identification.  This means supporting reliable access during the
period described in its stewardship promise and, failing that,
supporting reliable access to a record describing the thing the ARK
is associated with.</t>
        <t>ARK resolvers must support the "?info" inflection for requesting
metadata.  Older versions of this specification distinguished between
two minimal inflections: '?' (brief metadata) and '??' (more
metadata).  While these older inflections are still reserved, because
they have proven hard to recognize in some environments, supporting
them is optional.</t>
      </section>
      <section anchor="organizing-support-for-arks-our-stuff-vs-their-stuff">
        <name>Organizing Support for ARKs: Our Stuff vs. Their Stuff</name>
        <t>An organization and the user community it serves can often be seen to
struggle with two different areas of persistent identification: the
Our Stuff problem and the Their Stuff problem.  In the Our Stuff
problem, we in the organization want our own objects to acquire
persistent names.  Since we possess or control these objects, our
organization tackles the Our Stuff problem directly.  Whether or not
the objects are named by ARKs, our organization is the responsible
party, so it can plan for, maintain, and make commitments about the
objects.</t>
        <t>In the Their Stuff problem, we in the organization want others'
objects to acquire persistent names.  These are objects that we do
not own or control, but some of which are critically important to us.
But because they are beyond our influence as far as support is
concerned, creating and maintaining persistent identifiers for Their
Stuff is not especially purposeful or feasible for us to engage in.
There is little that we can do about someone else's stuff except
encourage their uptake or adoption of persistence services.</t>
        <t>Co-location of persistent access and identification services is
natural.  Any organization that undertakes ongoing support of true
persistent identification (which includes description) is well-served
if it controls, owns, or otherwise has clear internal access to the
identified objects, and this gives it an advantage if it wishes also
to support persistent access to outsiders.  Conversely, persistent
access to outsiders requires orderly internal collection management
procedures that include monitoring, acquisition, verification, and
change control over objects, which in turn requires object
identifiers persistent enough to support auditable record keeping
practices.</t>
        <t>Although organizing ARK support under one roof thus tends to make
sense, object hosting can successfully be separated from name
mapping.  An example is when a name mapping authority centrally
provides uniform resolution services via a protocol gateway on behalf
of organizations that host objects behind a variety of access
protocols.  It is also reasonable to build value-added description
services that rely on the underlying services of a set of mapping
authorities.</t>
        <t>Supporting ARKs is not for every organization.  By requiring
specific, revealed commitments to preservation, to object access, and
to description, the bar for providing ARK services is higher than for
some other identifier schemes.  On the other hand, it would be hard
to grant credence to a persistence promise from an organization that
could not muster the minimum ARK services.  Not that there isn't a
business model for an ARK-like, description-only service built on top
of another organization's full complement of ARK services.  For
example, there might be competition at the description level for
abstracting and indexing a body of scientific literature archived in
a combination of open and fee-based repositories.  The description-
only service would have no direct commitment to the objects, but
would act as an intermediary, forwarding commitment statements from
object hosting services to requestors.</t>
      </section>
      <section anchor="definition-of-identifier">
        <name>Definition of Identifier</name>
        <t>An identifier is not a string of character data -- an identifier is
an association between a string of data and an object.  This
abstraction is necessary because without it a string is just data.
It's nonsense to talk about a string's breaking, or about its being
strong, maintained, and authentic.  But as a representative of an
association, a string can do, metaphorically, the things that we
expect of it.</t>
        <t>Without regard to whether an object is physical, digital, or
conceptual, to identify it is to claim an association between it and
a representative string, such as "Jane" or "ISBN 0596000278".  What
gives a claim credibility is a set of verifiable assertions, or
metadata, about the object, such as age, height, title, or number of
pages.  In other words, the association is made manifest by a record
(e.g., a cataloging or other metadata record) that vouches for it.</t>
        <t>In the complete absence of any testimony (metadata) regarding an
association, a would-be identifier string is a meaningless sequence
of characters.  To keep an externally visible but otherwise internal
string from being perceived as an identifier by outsiders, for
example, it suffices for an organization not to disclose the nature
of its association.  For our immediate purpose, actual existence of
an association record is more important than its authenticity or
verifiability, which are outside the scope of this specification.</t>
        <t>It is a gift to the identification process if an object carries its
own name as an inseparable part of itself, such as an identifier
imprinted on the first page of a document or embedded in a data
structure element of a digital document header.  In cases where the
object is large, unwieldy, or unavailable (such as when licensing
restrictions are in effect), a metadata record that includes the
identifier string will usually suffice.  That record becomes a
conveniently manipulable object surrogate, acting as both an
association "receipt" and "declaration".</t>
        <t>Note that our definition of identifier extends the one in use for
Uniform Resource Identifiers <xref target="RFC3986"/>.  The present document still
sometimes (ab)uses the terms "ARK" and "identifier" as shorthand for
the string part of an identifier, but the context should make the
meaning clear.</t>
      </section>
    </section>
    <section anchor="ark-anatomy">
      <name>ARK Anatomy</name>
      <t>An ARK is represented by a sequence of characters (a string) that
contains the Label, "ark:", optionally preceded by the beginning part
of a URL.  Here is a diagrammed example.</t>
      <artwork><![CDATA[
ANATOMY OVERVIEW
================

    Resolver Service            Compact ARK
   __________________  ______________________________
  /                  \/                              \
  https://example.org/ark:12345/x6np1wh8k/c3/s5.v7.xsl
  \___________________________/\________/\___________/
              Prefixes          Base Name    Suffixes
  \__________________________________________________/
                      Mapping ARK
]]></artwork>
      <t>When embedded in a URL, an ARK consists of a Compact ARK preceded by
a Resolver Service.  The larger URL-based ARK is known as a Mapping
ARK because it is ready to be mapped (resolved) to an information
response (eg, a PDF or metadata).  A Mapping ARK is also know as a
"fully qualified ARK".  The Resolver Service, which need not be
limited to URLs in the future, maps the URL according to rules and
abilities of an NMA (Name Mapping Authority).  The same URL string
minus the Resolver Service component is known as a Compact ARK.  The
Compact ARK is globally unique and may be resolvable via different
Resolver Services over time (eg, when one archive succeeds another)
or at the same time (eg, when one archive backs up another).</t>
      <t>At a high level, after the Label comes the NAAN (Name Assigning
Authority Number) followed by the Name that it assigns to the
identified thing.  The Base Name has Prefixes (NAAN, Label, possibly
a Resolver Service) and optional Suffixes to identify Parts and
Variant forms.  During resolution, a Resolver Service such as n2t.net
may be able to deal with inflections query strings, and content
negotiation.</t>
      <artwork><![CDATA[
   ANATOMY DETAILS
   ===============
                           Base Compact Name   Qualifiers
                           _________________  ___________
                          /                 \/           \
      https://example.org/ark:12345/x6np1wh8k/c3/s5.v7.xsl
              \_________/ \__/\___/\_/\_____/\____/\_____/
                 NMA     Label NAAN |  Blade Parts Variants
                                  Shoulder
                              \_____________/
                                 Check Zone
]]></artwork>
      <t>In a closer view, the Compact ARK consists of a Base Compact Name
followed potentially by Qualifiers.  The Base Name often, but not
necessarily, consists of a Shoulder (for subdividing a NAAN
namespace) followed by a Blade.  If a check character is present in
an ARK, by convention it is the right-most character of the Base
Name, and will have been computed over the string of characters
preceding it back to the beginning of the NAAN.  This string,
including the check character itself, is the Check Zone.</t>
      <t>Like the ARK itself, the NAAN "12345" and Shoulder "x6" have compact
and fully qualified forms.</t>
      <table>
        <name>Example base, compact, and fully qualified form components.</name>
        <thead>
          <tr>
            <th align="left">Form</th>
            <th align="left">Base</th>
            <th align="left">Compact Form</th>
            <th align="left">Fully Qualified Form</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">NAAN</td>
            <td align="left">12345</td>
            <td align="left">
              <tt>ark:12345</tt></td>
            <td align="left">
              <tt>https://example.org/ark:12345</tt></td>
          </tr>
          <tr>
            <td align="left">Shoulder</td>
            <td align="left">x6</td>
            <td align="left">
              <tt>ark:12345/x6</tt></td>
            <td align="left">
              <tt>https://example.org/ark:12345/x6</tt></td>
          </tr>
        </tbody>
      </table>
      <t>The ARK syntax can be summarized,</t>
      <artwork><![CDATA[
[https://NMA/]ark:[/]NAAN/Name[Qualifiers]
]]></artwork>
      <t>where the NMA, '/', and Qualifier parts are in brackets to indicate
that they are optional.  The Base Compact Name is the substring
comprising the "ark:" label, the NAAN and the assigned Name.  The
Resolver Service is replaceable and makes the ARK actionable for a
period of time.  Without the Resolver Service part, what remains is
the Core Immutable Identity (the "persistible") part of the ARK.</t>
      <section anchor="the-name-mapping-authority-nma">
        <name>The Name Mapping Authority (NMA)</name>
        <t>Before the "ark:" label may appear an optional Name Mapping Authority
(NMA) that is a temporary address where ARK service requests may be
sent.  Preceded by a URI-type protocol designation such as
"https://", it specifies a Resolver Service.  The NMA itself is an
Internet hostname or host/port combination, optionally followed by
URI-type path components, all ending in a '/'.  The hostname has the
same format and semantics as the host/port part of a URL.  In any
optional path that follows it, the path is considered to end with the
'/' in the first occurrence of "/ark:".</t>
        <t>The most important thing about the NMA is that it is "identity inert"
from the point of view of object identification.  In other words,
ARKs that differ only in the optional NMA part identify the same
object.  Thus, for example, the following three ARKs are synonyms for
just one information object:</t>
        <artwork><![CDATA[
   http://example.org/rslvr/ark:12345/x6np1wh8k
        https://example.com/ark:12345/x6np1wh8k
                            ark:12345/x6np1wh8k
]]></artwork>
        <t>Strictly speaking, in the realm of digital objects, these ARKs may
lead over time to somewhat different or diverging instances of the
originally named object.  It can be argued that divergence of
persistent objects is not desirable, but it is widely believed that
digital preservation efforts will inevitably lead to alterations in
some original objects (e.g, a format migration in order to preserve
the ability to display a document).  If any of those objects are held
redundantly in more than one organization (a common preservation
strategy), chances are small that all holding organizations will
perform the same precise transformations and all maintain the same
object metadata.  More significant divergence would be expected when
the holding organizations serve different audiences or compete with
each other.</t>
        <t>The NMA part makes an ARK into an actionable URL.  As with many
Internet parameters, it is helpful to approach the NMA being liberal
in what you accept and conservative in what you propose.  From the
recipient's point of view, the NMA part should be treated as
temporary, disposable, and replaceable.  From the NMA's point of
view, it should be chosen with the greatest concern for longevity.  A
carefully chosen NMA should be at least as permanent as the providing
organization's own hostname.  In the case of a national or university
library, for example, there is no reason why the NMA could not be
considerably more permanent than soft-funded proxy hostnames such as
hdl.handle.net, dx.doi.org, and purl.org.  In general and over time,
however, it is not unexpected for an NMA eventually to stop working
and require replacement with the NMA of a currently active service
provider.</t>
        <t>This replacement relies on a mapping authority "resolver" discovery
process, of which two alternate methods are outlined in a later
section.  The ARK, URN, Handle, and DOI schemes all use a resolver
discovery model that sooner or later requires matching the original
assigning authority with a current provider servicing that
authority's named objects; once found, the resolver at that provider
performs what amounts to a redirect to a place where the object is
currently held.  All the schemes rely on the ongoing functionality of
currently mainstream technologies such as the Domain Name System
<xref target="RFC1034"/> and web browsers.  The Handle and DOI schemes in addition
require that the Handle protocol layer and global server grid be
available at all times.</t>
        <t>The practice of prepending "https://" and an NMA to an ARK is a way
of creating an actionable identifier by a method that is itself
temporary.  Assuming that infrastructure supporting <xref target="RFC2616"/>
information retrieval will no longer be available one day, ARKs will
then have to be converted into new kinds of actionable identifiers.
By that time, if ARKs see widespread use, web browsers would
presumably evolve to perform this (currently simple) transformation
automatically.</t>
      </section>
      <section anchor="the-ark-label-part-ark">
        <name>The ARK Label Part (ark:)</name>
        <t>The label part distinguishes an ARK from an ordinary identifier.
There is a new form of the label, "ark:", and an old form, "ark:/",
both of which must be recognized in perpetuity.  Implementations
should generate new ARKs in the new form (without the "/") and
resolvers must always treat received ARKs as equivalent if they
differ only in regard to new form versus old form labels.  Thus these
two ARKs are equivalent:</t>
        <artwork><![CDATA[
    ark:/12345/x6np1wh8k
     ark:12345/x6np1wh8k
]]></artwork>
        <t>In a URL found in the wild, the label indicates that the URL stands a
reasonable chance of being an ARK.  If the context warrants,
verification that it actually is an ARK can be done by testing it for
existence of the three ARK services.</t>
        <t>Since nothing about an identifier syntax directly affects
persistence, the "ark:" label (like "urn:", "doi:", and "hdl:")
cannot tell you whether the identifier is persistent or whether the
object is available.  It does tell you that the original Name
Assigning Authority (NAA) had some sort of hopes for it, but it
doesn't tell you whether that NAA is still in existence, or whether a
decade ago it ceased to have any responsibility for providing
persistence, or whether it ever had any responsibility beyond naming.
An NAA identifies an autonomous assignment stream for a set of objects
as well as a reference to help locate a resolver for them.
Often, NAA policies and practices reflect an organization (department,
project, data center, periodical, etc.) in which it is embedded.
An organization may have more than one NAA, for example, a publisher
may have a distinct NAA for each of its three journals.</t>
        <t>Only a current provider can say for certain what sort of commitment
it intends, and the ARK label suggests that you can query the NMA
directly to find out exactly what kind of persistence is promised.
Even if what is promised is impersistence (i.e., a short-term
identifier), saying so is valuable information to the recipient.
Thus an ARK is a high-functioning identifier in the sense that it
provides access to the object, the metadata, and a commitment
statement, even if the commitment is explicitly very weak.</t>
      </section>
      <section anchor="the-name-assigning-authority-number-naan">
        <name>The Name Assigning Authority Number (NAAN)</name>
        <t>Recalling that the general form of the ARK is,</t>
        <artwork><![CDATA[
    [https://NMA/]ark:[/]NAAN/Name[Qualifiers]
]]></artwork>
        <t>the part of the ARK directly following the "ark:" (or older "ark:/")
label is the Name Assigning Authority Number (NAAN), up to but not
including the next '/' (slash) character.  This part is always
required, as it identifies the organization that originally assigned
the Name of the object.  Typically the organization is an
institution, a department, a laboratory, or any group that conducts a
stable, policy-driven name assigning effort.  An organization may
request a NAAN from the ARK Maintenance Agency <xref target="ARKagency"/> (described
in Appendix A) by filling out the form <xref target="NAANrequest"/>.</t>
        <t>For received ARKs, implementations must support a minimum NAAN length
of 16 octets.  NAANs are opaque strings of one or more "betanumeric"
characters, specifically,</t>
        <artwork><![CDATA[
    0123456789bcdfghjkmnpqrstvwxz
]]></artwork>
        <t>which consists of digits and consonants, minus the letter 'l'.
Restricting NAANs to betanumerics (alphanumerics without vowels or
'l') serves two goals.  It reduces the chances that words -- past,
present, and future -- will appear in NAANs and carry unintended
semantics.  It also helps usability by not mixing commonly confused
characters ('0' and 'O', '1' and 'l') and by being compatible with
strong transcription error detection (eg, the <xref target="NOID"/> check digit
algorithm).  Since 2001, every assigned NAAN has consisted of exactly
five digits.</t>
        <t>The NAAN designates a top-level ARK namespace.  Once registered for a
namespace, a NAAN is never re-registered.  It is possible, however,
for there to be a succession of organizations that manage an ARK
namespace.</t>
        <t>There are currently four NAANs available for assignment on reserved shoulders
(see the Shoulder section) by all organizations.  An ARK bearing one of these
NAANs carries a specific, immutable meaning that recipients can rely on for
long term pragmatic benefit as described below.</t>
        <table>
          <name>Four NAANs shared across all ARK-assigning organizations.</name>
          <thead>
            <tr>
              <th align="left">Shared  NAAN meaning</th>
              <th align="left">The immutable purpose, meaning, or connotation of ARKs bearing this NAAN.</th>
              <th align="left">Expect to resolve?</th>
              <th align="left">OK for long term reference?</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>12345</tt> examples</td>
              <td align="left">Example ARKs appearing in documentation. They might resolve, but link checkers usually need not be concerned if they don't. They should not be considered viable for long term reference.</td>
              <td align="left">maybe</td>
              <td align="left">no</td>
            </tr>
            <tr>
              <td align="left">
                <tt>99152</tt> terms</td>
              <td align="left">ARKs for controlled vocabulary and ontology terms, such as metadata element names and pick-list values. They should resolve to term definitions and are suitable for long term reference.</td>
              <td align="left">yes</td>
              <td align="left">yes</td>
            </tr>
            <tr>
              <td align="left">
                <tt>99166</tt> agents</td>
              <td align="left">ARKs for people, groups, and institutions as "agents" (actors, such as creators, contributors, publishers, performers, etc). They should resolve to agent definitions and are suitable for long term reference.</td>
              <td align="left">yes</td>
              <td align="left">yes</td>
            </tr>
            <tr>
              <td align="left">
                <tt>99999</tt> test ids</td>
              <td align="left">ARKs for test, development, or experimental purposes, often at scale. They might resolve, but link checkers usually need not be concerned if they don't. They should not be considered viable for long term reference.</td>
              <td align="left">maybe</td>
              <td align="left">no</td>
            </tr>
          </tbody>
        </table>
        <t>To make use of a shared NAAN, an organization has several options
described in Section 2.4.1.</t>
      </section>
      <section anchor="the-name-part">
        <name>The Name Part</name>
        <t>The part of the ARK just after the NAAN is the Name assigned by the
NAA, and it is also required.  Semantic opaqueness in the Name part
is strongly encouraged in order to reduce an ARK's vulnerability to
era- and language-specific change.  Identifier strings containing
linguistic fragments can create support difficulties down the road.
No matter how appropriate or even meaningless they are today, such
fragments may one day create confusion, give offense, or infringe on
a trademark as the semantic environment around us and our communities
evolves.</t>
        <t>Names that look more or less like numbers avoid common problems that
defeat persistence and international acceptance.  The use of digits
is highly recommended.  Mixing in non-vowel alphabetic characters
(eg, betanumerics) a couple at a time is a relatively safe and easy
way to achieve a denser namespace (more possible names for a given
length of the name string).  Such names have a chance of aging and
traveling well.  The absence of recognizable words makes typos harder
to detect in opaque strings, so a common mitigation is to add a check
character.  Tools exists that mint, bind, and resolve opaque
identifiers, with or without check characters <xref target="NOID"/>.  More on naming
considerations is given in a subsequent section.</t>
        <section anchor="optional-shoulders">
          <name>Optional: Shoulders</name>
          <t>Just as an ARK namespace is subdivided by NAANs reserved for NAAs, it
is generally advantageous for an NAA to subdivide its own NAAN
namespace into "shoulders", where each shoulder is reserved for an
internal department or unit.  Like the NAAN, which is a string of
characters that follows the "ark:" label, a shoulder is a string of
characters (starting with a "/") that extends the NAAN.  The base
compact name assigned by the NAA consists of the NAAN, the shoulder,
a final string known as the "blade".  (The shoulder plus blade
terminology mirrors locksmith jargon describing the information-
bearing parts of a key.)</t>
          <t>The blade string is chosen by the NAA such that the string created by
concatenating the NAAN plus shoulder plus blade becomes the unique
base object name.  Otherwise the blade may come from any source, for
example, it might come from a counter, a timestamp, a <xref target="NOID"/> minter,
a legacy 100-year-old accession number, etc.  If there is a check
digit, it is expected to appear at the end of the blade and to be
computed over the base compact name minus the label part (see Check
Zone), which is generally the most important part of an ARK to make
opaque.  In particular, check digits are not expected to cover
qualifiers, which often name subobjects of a persistent object that
are less stable and less opaquely named than the parent object (for
example, ten years hence, the object's thumbnail image will be of a
higher resolution and the OCR text file will be re-derived with
improved algorithms.</t>
          <t>It is important not to use any delimiter between the shoulder string
and blade string, especially not a "/" since it declares an object
boundary (see the section on ARKs that reveal object hierarchy).</t>
          <artwork><![CDATA[
    ark:12345/x6np1wh8k/c2/s4.pdf       # correct primordinal shoulder
    ark:12345/x6/np1wh8k/c2/s4.pdf      # INCORRECT
                ^ WRONG
]]></artwork>
          <t>This little bit of discretion shields organizations from end users
making inferences about expected levels of support based on
recognizable shoulders.  To help in-house ARK administrators reliably
know where the shoulder ends, it is recommended to use the "first-
digit convention" so that shoulders are "primordinal".  A primordinal
shoulder is a sequence of one or more betanumeric characters ending
in a digit, as shown above.  This means that the shoulder is all
consonant letters (often just one) after the NAAN and "/" up to and
including the first digit encountered after the NAAN.  One property
of primordinal shoulders is that there is an infinite number of them
possible under any NAAN.</t>
          <t>To help manage each namespace into the future, NAAs are encouraged to
create shoulders, even if there is only one to start with.  If an
organization wishes to create a shoulder under one of shared NAANs
(99999, 12345, 99152, or 99166, described in Table 2), it should fill
out the Shoulder Request Form <xref target="shoulderrequest"/>.</t>
        </section>
      </section>
      <section anchor="the-qualifier-part">
        <name>The Qualifier Part</name>
        <t>The part of the ARK following the NAA-assigned Name is an optional
Qualifier.  It is a string that extends the Base Name in order to
create a kind of service entry point into the object named by the
NAA.  At the discretion of the providing NMA, such a service entry
point permits an ARK to support access to individual hierarchical
components and subcomponents of an object, and to variants (versions,
languages, formats) of components.  A Qualifier may be invented by
the NAA or by any NMA servicing the object.</t>
        <t>In form, the Qualifier is a ComponentPath, or a VariantPath, or a
ComponentPath followed by a VariantPath.  A VariantPath is introduced
and subdivided by the reserved character '.', and a ComponentPath is
introduced and subdivided by the reserved character '/'.  In this
example,</t>
        <artwork><![CDATA[
    https://example.org/ark:12345/x6np1wh8k/c3/s5.v7.xsl
]]></artwork>
        <t>the string "/c3/s5" is a ComponentPath and the string ".v7.xsl" is
a VariantPath.  The ARK Qualifier is a formalization of some
currently mainstream URL syntax conventions.  This formalization
specifically reserves meanings that permit recipients to make strong
inferences about logical sub-object containment and equivalence based
only on the form of the received identifiers; there is great
efficiency in not having to inspect metadata records to discover such
relationships.  NMAs are free not to disclose any of these
relationships merely by avoiding the reserved characters above.
Hierarchical components and variants are discussed further in the
next two sections.</t>
        <t>The Qualifier, if present, differs from the Name in several important
respects.  First, a Qualifier may have been assigned either by the
NAA or later by the NMA.  The assignment of a Qualifier by an NMA
effectively amounts to an act of publishing a service entry point
within the conceptual object originally named by the NAA.  For our
purposes, an ARK extended with a Qualifier assigned by an NMA will be
called an NMA-qualified ARK.</t>
        <t>Second, a Qualifier assignment on the part of an NMA is made in
fulfillment of its service obligations and may reflect changing
service expectations and technology requirements.  NMA-qualified ARKs
could therefore be transient, even if the base, unqualified ARK is
persistent.  For example, it would be reasonable for an NMA to
support access to an image object through an actionable ARK that is
considered persistent even if the experience of that access changes
as linking, labeling, and presentation conventions evolve and as
format and security standards are updated.  For an image "thumbnail",
that NMA could also support an NMA-qualified ARK that is considered
impersistent because the thumbnail will be replaced with higher
resolution images as network bandwidth and CPU speeds increase.  At
the same time, for an originally scanned, high-resolution master, the
NMA could publish an NMA-qualfied ARK that is itself considered
persistent.  Of course, the NMA must be able to return its separate
commitments to unqualified, NAA-assigned ARKs, to NMA-qualified ARKs,
and to any NAA-qualified ARKs that it supports.</t>
        <t>A third difference between a Qualifier and a Name concerns the
semantic opaqueness constraint.  When an NMA-qualified ARK is to be
used as a transient service entry point into a persistent object, the
priority given to semantic opaqueness observed by the NAA in the Name
part may be relaxed by the NMA in the Qualifier part.  If service
priorities in the Qualifier take precedence over persistence, short-
term usability considerations may recommend somewhat semantically
laden Qualifier strings.</t>
        <t>Finally, not only is the set of Qualifiers supported by an NMA
mutable, but different NMAs may support different Qualifier sets for
the same NAA-identified object.  In this regard the NMAs act
independently of each other and of the NAA.</t>
        <t>The next two sections describe how ARK syntax may be used to declare,
or to avoid declaring, certain kinds of relatedness among qualified
ARKs.</t>
        <section anchor="arks-that-reveal-object-hierarchy">
          <name>ARKs that Reveal Object Hierarchy</name>
          <t>An NAA or NMA may choose to reveal the presence of a hierarchical
relationship between objects using the '/' (slash) character after
the Name part of an ARK.  Some authorities will choose not to
disclose this information, while others will go ahead and disclose so
that manipulators of large sets of ARKs can infer object
relationships by simple identifier inspection; for example, this
makes it possible for a system to present a collapsed view of a large
search result set.</t>
          <t>If the ARK contains an internal slash after the NAAN, the piece to
its left indicates a containing object.  For example, publishing an
ARK of the form,</t>
          <artwork><![CDATA[
    ark:12345/x54/xz/321
]]></artwork>
          <t>is equivalent to publishing three ARKs,</t>
          <artwork><![CDATA[
    ark:12345/x54/xz/321
    ark:12345/x54/xz
    ark:12345/x54
]]></artwork>
          <t>together with a declaration that the first object is contained in the
second object, and that the second object is contained in the third.</t>
          <t>Revealing the presence of hierarchy is completely up to the assigner
(NMA or NAA).  It is hard enough to commit to one object's name, let
alone to three objects' names and to a specific, ongoing relatedness
among them.  Thus, regardless of whether hierarchy was present
initially, the assigner, by not using slashes, reveals no shared
inferences about hierarchical or other inter-relatedness in the
following ARKs:</t>
          <artwork><![CDATA[
    ark:12345/x54_xz_321
    ark:12345/x54_xz
    ark:12345/x54xz321
    ark:12345/x54xz
    ark:12345/x54
]]></artwork>
          <t>Note that slashes around the ARK's NAAN (/12345/ in these examples)
are not part of the ARK's Name and therefore do not indicate the
existence of some sort of NAAN super object containing all objects in
its namespace.  A slash must have at least one non-structural
character (one that is neither a slash nor a period) on both sides in
order for it to separate recognizable structural components.  So
initial or final slashes may be removed, and double slashes may be
converted into single slashes.</t>
        </section>
        <section anchor="arks-that-reveal-object-variants">
          <name>ARKs that Reveal Object Variants</name>
          <t>An NAA or NMA may choose to reveal the possible presence of variant
objects or object components using the '.' (period) character after
the Name part of an ARK.  Some authorities will choose not to
disclose this information, while others will go ahead and disclose so
that manipulators of large sets of ARKs can infer object
relationships by simple identifier inspection.  This makes it
possible for a system to present a collapsed view of a large number
of search result items without having to issue database queries in
order to retrieve and analyze the inter-relatedness among all of
those items.</t>
          <t>If the ARK contains an internal period after the Name, the piece to
the left of the first such period is a root name and the piece to its
right, and up to the end of the ARK or to the next period is a
suffix.  A Name may have more than one suffix, for example,</t>
          <artwork><![CDATA[
    ark:12345/x54.24
    ark:12345/x4z/x54.24
    ark:12345/x54.v18.fr.odf
]]></artwork>
          <t>There are two main rules.  First, if two ARKs share the same root
name but have different suffixes, the corresponding objects were
considered variants of each other (different formats, languages,
versions, etc.) by the assigner (NMA or NAA).  Thus, the following
ARKs are variants of each other:</t>
          <artwork><![CDATA[
    ark:12345/x54.v18.fr.odf
    ark:12345/x54.321xz
    ark:12345/x54.44
]]></artwork>
          <t>Second, publishing an ARK with a suffix implies the existence of at
  least one variant identified by the ARK without its suffix.  The ARK
  is otherwise silent about what additional variants might exist.  So
  publishing the ARK,</t>
          <artwork><![CDATA[
    ark:12345/x54.v18.fr.odf
]]></artwork>
          <t>is equivalent to publishing the four ARKs,</t>
          <artwork><![CDATA[
    ark:12345/x54.v18.fr.odf
    ark:12345/x54.v18.fr
    ark:12345/x54.v18
    ark:12345/x54
]]></artwork>
          <t>Revealing the possibility of variants is completely up to the
assigner.  It is hard enough to commit to one object's name, let
alone to multiple variants' names and to a specific, ongoing
relatedness among them.  The assigner is the sole arbiter of what
constitutes a variant within its namespace, and whether to reveal
that kind of relatedness by using periods within its names.</t>
          <t>A period must have at least one non-structural character (one that is
neither a slash nor a period) on both sides in order for it to
separate recognizable structural components.  So initial or final
periods may be removed, and adjacent periods may be converted into a
single period.</t>
        </section>
      </section>
    </section>
    <section anchor="ark-processing">
      <name>ARK Processing</name>
      <section anchor="character-repertoires">
        <name>Character Repertoires</name>
        <t>The Name and Qualifier parts are strings of visible ASCII characters.
For received ARKs, implementations must support a minimum length of
255 octets for the string composed of the Base Name plus Qualifier.
Implementations generating strings exceeding this length should
understand that receiving implementations may not be able to index
such ARKs properly.  Characters may be letters, digits, or any of
these seven characters:</t>
        <artwork><![CDATA[
    =   ~   *   +   @   _   $
]]></artwork>
        <t>The following characters may also be used, but their meanings are
reserved:</t>
        <artwork><![CDATA[
    %   -   .   /
]]></artwork>
        <t>The characters '/' and '.' are ignored if either appears as the last
character of an ARK.  If used internally, they allow a name assigner
to reveal object hierarchy and object variants as previously
described.</t>
        <t>Hyphens are considered to be insignificant and are always ignored in
ARKs.  A '-' (hyphen) may appear in an ARK for readability, or it may
have crept in during the formatting and wrapping of text, but it must
be ignored in lexical comparisons.  As in a telephone number, hyphens
have no meaning in an ARK.  It is always safe for an NMA that
receives an ARK to remove any hyphens found in it.  As a result, like
the NMA, hyphens are "identity inert" in comparing ARKs for
equivalence.  For example, the following ARKs are equivalent for
purposes of comparison and ARK service access:</t>
        <artwork><![CDATA[
                              ark:12345/x5-4-xz-321
     https://sneezy.dopey.com/ark:12345/x54--xz32-1
                              ark:12345/x54xz321
]]></artwork>
        <t>The '%' character is reserved for %-encoding all other octets that
would appear in the ARK string, in the same manner as for URIs
<xref target="RFC3986"/>.  A %-encoded octet consists of a '%' followed by two
uppercase hex digits; for example, "%7D" stands in for '}'.
Uppercase hex digits are preferred for compatibility with URI
encoding conventions, especially useful when URL-based ARKs are
compared for equivalence by ARK-unaware software systems; thus use
"%ACT" instead of "%acT".  The character '%' itself must be
represented using "%25".  As with URNs, %-encoding permits ARKs to
support legacy namespaces (e.g., ISBN, ISSN, SICI) that have less
restricted character repertoires <xref target="RFC2288"/>.</t>
        <t>Implementors should be prepared to normalize some common invalid
characters that may be found in ARKs copy pasted from processed text.
For example, when pasting an ARK that was broken during line
wrapping, a user may inadvertently propagate newlines, spaces,
hyphens, and hyphen-like characters (eg, U+2010 to U+2015) that were
introduced by the publisher.  The normalization strategy is up to the
implementor and may include converting hyphen-like characters to
hyphens and removing whitespace.</t>
      </section>
      <section anchor="normalization-and-lexical-equivalence">
        <name>Normalization and Lexical Equivalence</name>
        <t>To determine if two or more ARKs identify the same object, the ARKs
are compared for lexical equivalence after first being normalized.
Since ARK strings may appear in various forms (e.g., having different
NMAs), normalizing them minimizes the chances that comparing two ARK
strings for equality will fail unless they actually identify
different objects.  In a specified-host ARK (one having an NMA), the
NMA never participates in such comparisons.  Normalization described
here serves to define lexical equivalence but does not restrict how
implementors normalize ARKs locally for storage.</t>
        <t>Normalization of a received ARK for the purpose of octet-by-octet
equality comparison with another ARK consists of the following steps.</t>
        <ol spacing="normal" type="1"><li>
            <t>The NMA part (eg, everything from an initial "https://" up to
the first occurrence of "/ark:"), if present is removed.</t>
          </li>
          <li>
            <t>Any URI query string is removed (everything from the first
literal '?' to the end of the string).</t>
          </li>
          <li>
            <t>The first case-insensitive match on "ark:/" or "ark:" is
converted to "ark:" (replacing any uppercase letters and
removing any terminal '/').</t>
          </li>
          <li>
            <t>Any uppercase letters in the NAAN are converted to lowercase.</t>
          </li>
          <li>
            <t>In the string that remains, the two characters following every
occurrence of '%' are converted to uppercase.  The case of all
other letters in the ARK string must be preserved.</t>
          </li>
          <li>
            <t>All hyphens are removed.  Implementors should be aware that non-
ASCII hyphen-like characters (eg, U+2010 to U+2015) may arrive
in the place of hyphens and, if they wish, remove them.</t>
          </li>
          <li>
            <t>If normalization is being done as part of a resolution step, and
if the end of the remaining string matches a known inflection,
the inflection is noted and removed.</t>
          </li>
          <li>
            <t>Structural characters (slash and period) are normalized: initial
and final occurrences are removed, and two structural characters
in a row (e.g., // or ./) are replaced by the first character,
iterating until each occurrence has at least one non-structural
character on either side.</t>
          </li>
          <li>
            <t>If there are any components with a period on the left and a
slash on the right, either the component and the preceding
period must be moved to the end of the Name part or the ARK must
be thrown out as malformed.</t>
          </li>
        </ol>
        <t>The resulting ARK string is now normalized.  Comparisons between
normalized ARKs are case-sensitive, meaning that uppercase letters
are considered different from their lowercase counterparts.</t>
        <t>To keep ARK string variation to a minimum, no reserved ARK characters
should be %-encoded unless it is deliberately to conceal their
reserved meanings.  No non-reserved ARK characters should ever be
%-encoded.  Finally, no %-encoded character should ever appear in an
ARK in its decoded form.</t>
      </section>
      <section anchor="resolver-chains-and-roles">
        <name>Resolver Chains and Roles</name>
        <t>To resolve a Compact ARK (ie, an ARK beginning "ark:") it must
initially be promoted to a Mapping ARK so that it becomes actionable.
On the web, this means finding a suitable web Resolver Service to
prepend to the compact form of the identifier in order to convert it
to a URL (cf <xref target="CURIE"/>).  (This is more or less true for any type of
identifier not already in URL form.)</t>
        <t>The identifier's Resolver Service is the first point of contact in
the resolution process (eg, the NMA in a typical URL).  It can be
seen as the "first resolver" because resolution may involve multiple
redirections via a chain of resolvers before a resolution response is
returned by the last resolver (the "responder").  The chain is as
long as the number of redirections.  In particular, when the first
resolver is also the last resolver, the chain has zero length.  Most
ARKs using N2T.net as the first resolver will be redirected to a
second resolver listed in the record for a given ARK's NAAN.  For
example, an ARK bearing the NAAN 12148 (BnF) and the NMA n2t.net (as
its first resolver) could be redirected to a second resolver,
ark.bnf.fr.  Whether n2t.net or ark.bnf.fr will be the first resolver
depends on what NMA appears in the ARK at the time of resolution.
Currently, BnF ARKs are published with the BnF's NMA (ark.bnf.fr), so
most BnF ARKs will not start with n2t.net.</t>
        <t>Resolution in general can be seen as a multi-stage computation that
maps a client identifier to some sort of response.  On the web, each
resolver in the chain is an HTTP server; even if the "responder"
(last resolver) is a proxy server that intiates a non-web sub-
resolution process, that is invisible to the original client and out
of scope for this discussion.  A web resolution response may take on
a variety of forms, including the return of a landing page, or a
metadata record, or a web-based 404 Not Found message.  A given
response, as well as the specific chain of resolvers traversed,
depends not only on the identifier, but also on such things as the
time, location, credentials, and technical platform of the client
initiating resolution.</t>
        <t>Also, for a given identifier, the "responder" (last resolver) for an
object request may be different from the responder for a metadata
request.  While maintenance of objects and their metadata are often
co-located in one organization, for technical reasons it is not
uncommon that requests for objects and metadata are forwarded to
different responders.  To add credibility to a persistence promise,
it can be useful to maintain a secondary copy of object metadata at
an external and publicly visible resolver.  For example, N2T.net was
originally designed to store a secondary copy of metadata for many
millions of identifiers.</t>
      </section>
      <section anchor="finding-a-resolver-service">
        <name>Finding a Resolver Service</name>
        <t>In order to derive an actionable identifier (these days, a URL) from
an ARK, a Resolver Service must be found.  On the web, the Resolver
Service consists of a URI scheme and an NMA, where the NMA is a host
or host/port combination, optionally followed by URI-type path
components, all ending in a '/'.  The Resolver Service is expected to
respond to basic ARK service requests.  An NMA may provide mapping
services for more than one NAAN.</t>
        <t>Upon encountering an ARK, a user (or client software) determines if
it is a Mapping ARK (ie, it is a URL beginning with a Resolver
Service).  If the Resolver Service is working, this discovery step
likely can be skipped assuming the URL correctly identifies a working
resolver.  If a new Resolver Service needs to be found, the client
looks inside the ARK again for the NAAN (Name Assigning Authority
Number).  Querying a global database, it then uses the NAAN to look
up all current Resolver Services that service ARKs issued by the
identified NAA.  This NAAN-to-NMA resolver discovery method is common
(cf URN, Handle, DOI) but does not address the namespace splitting
problem, which is when a portion of a NAAN space originally
maintained entirely by one NMA is taken on by a second NMA; now the
NAAN alone cannot reveal which NMA (resolver) to choose.</t>
        <t>The global database is key, and ideally the lookup would be automatic
and transparent to the user.  For this, the current mainstream method
is the Name-to-Thing (N2T) Resolver <xref target="N2T"/> at n2t.net.  It is based on
a plain text <xref target="NAANregistry"/> database containing explanatory comments,
so it can also be directly inspected by users, for example, to
manually find a Resolver Service.  N2T is a reliable, low-cost
Resolver Service provided by the ARK Alliance primarily to support
actionable HTTP-based URLs for as long as HTTP is used.  N2T scales
to store and resolve over 100 million individual identifiers and
their metadata, and has played a valuable role in persistent
identification by keeping a redundant copy of identifier metadata.
Because it has the option of storing redirection information for
individual identifiers rather than just at the name assigning
authority level, N2T can deal with namespace splitting; when a
portion of a NAAN space maintained by one NMA is taken on by a second
NMA, N2T can rely on individual identifier redirects for that portion
and a single NAAN-based rule for the remainder.</t>
        <t>An appendix describes an historical way to discover an NMA based on a
simplification of the URN resolver discovery method, itself very
similar in principle to the resolver discovery method used by Handles
and DOIs.  None of these methods does more than what can be done with
a very small, consortially maintained web server such as <xref target="N2T"/>.</t>
        <t>In the interests of long-term persistence, however, ARK mechanisms
are first defined in high-level, protocol-independent terms so that
mechanisms may evolve and be replaced over time without compromising
fundamental service objectives.  Either or both specific methods
given here may eventually be supplanted by better methods since, by
design, the ARK scheme does not depend on a particular method, but
only on having some method to locate an active NMA.</t>
        <t>At the time of issuance, at least one NMA for an ARK should be
prepared to service it.  That NMA may or may not be administered by
the Name Assigning Authority (NAA) that created it.  Consider the
following hypothetical example of providing long-term access to a
cancer research journal.  The publisher wishes to turn a profit and a
national library wishes to preserve the scholarly record.  An
agreement might be struck whereby the publisher would act as the NAA
and the national library would archive the journal issue when it
appears, but without providing direct access for the first six
months.  During the first six months of peak commercial viability,
the publisher would retain exclusive delivery rights and would charge
access fees.  Again, by agreement, both the library and the publisher
would act as NMAs, but during that initial period the library would
redirect requests for issues less than six months old to the
publisher.  At the end of the waiting period, the library would then
begin servicing requests for issues older than six months by tapping
directly into its own archives.  Meanwhile, the publisher might
routinely redirect incoming requests for older issues to the library.
Long-term access is thereby preserved, and so is the commercial
incentive to publish content.</t>
        <t>Although it will be common for an NAA also to run an NMA service, it
is never a requirement.  Over time NAAs and NMAs will come and go.
One NMA will succeed another, and there might be many NMAs serving
the same ARKs simultaneously (e.g., as mirrors or as competitors).
There might also be asymmetric but coordinated NMAs as in the
library-publisher example above.</t>
      </section>
    </section>
    <section anchor="naming-considerations">
      <name>Naming Considerations</name>
      <t>The most important threats faced by persistence providers include
such things as funding loss, natural disaster, political and social
upheaval, processing faults, and errors in human oversight.  There is
nothing that an identifer scheme can do about such things.  Still, a
few observed identifier failures and inconveniences can be traced
back to naming practices that we now know to be less than optimal for
persistence.</t>
      <section anchor="arks-and-usability">
        <name>ARKS and Usability</name>
        <t>Because linguistic constructs imperil persistence, for ARKs non-ASCII
character support is not a priority.  ARKs and URIs share goals of
transcribability and transportability within web documents, so
characters are required to be visible, non-conflicting with HTML/XML
syntax, and not subject to tampering during transmission across
common transport gateways.</t>
        <t>Any measure that reduces user irritation with an identifier will
increase its chances of acceptance, hence survival.
Irritation can arise when common user assumptions are not shared by
service providers. For example, providers may wish to avoid leading
zeroes in an identifier component that looks like a number because
users who assume that leading zeroes contribute nothing to that quantity
may omit them during transcription. Also, unless an identifier already
employs mixed case letters, users often assume uppercase letters to be
equivalent to their lowercase counterparts, in which instance (e.g., a
shoulder that employs only one case) a provider may wish to accept incoming
ARKs in either uppercase or lowercase. Another common user assumption is
that hyphens are lexically insignificant.  It is fine to publish ARKs
with hyphens in them (e.g., such as the output of UUID/GUID
generators), but the uniform treatment of hyphens (and their Unicode
equivalents) as insignificant reduces the possibility of identifiers
breaking when users omit hyphens or when word processors add them.</t>
      </section>
      <section anchor="objects-should-wear-their-identifiers">
        <name>Objects Should Wear Their Identifiers</name>
        <t>A valuable technique for provision of persistent objects is to try to
arrange for the complete identifier to appear on, with, or near its
retrieved object.  An object encountered at a moment in time when its
discovery context has long since disappeared could then easily be
traced back to its metadata, to alternate versions, to updates, etc.
This has seen reasonable success, for example, in book publishing and
software distribution.  An identifier string only has meaning when
its association is known, and this a very sure, simple, and low-tech
method of reminding everyone exactly what that association is.</t>
      </section>
      <section anchor="names-are-political-not-technological">
        <name>Names are Political, not Technological</name>
        <t>If persistence is the goal, a deliberate local strategy for
systematic name assignment is crucial.  Names must be chosen with
great care.  Poorly chosen and managed names will devastate any
persistence strategy, and they do not discriminate by identifier
scheme.  Whether a mistakenly re-assigned name is a URN, DOI, PURL,
URL, or ARK, the damage -- failed access and confusion -- is not
mitigated more in one scheme than in another.  Conversely, in-house
efforts to manage names responsibly will go much further towards
safeguarding persistence than any choice of naming scheme or name
resolution technology.</t>
        <t>Branding (e.g., at the corporate or departmental level) is important
for funding and visibility, but substrings representing brands and
organizational names should be given a wide berth except when
absolutely necessary in the hostname (the identity-inert) part of the
ARK.  These substrings are not only unstable because organizations
change frequently, but they are also dangerous because successor
organizations often have political or legal reasons to actively
suppress predecessor names and brands.  Any measure that reduces the
chances of future political or legal pressure on an identifier will
decrease the chances that our descendants will be obliged to
deliberately break it.</t>
      </section>
      <section anchor="choosing-a-hostname-or-nma">
        <name>Choosing a Hostname or NMA</name>
        <t>Hostnames appearing in any identifier meant to be persistent must be
chosen with extra care.  The tendency in hostname selection has
traditionally been to choose a token with recognizable attributes,
such as a corporate brand, but that tendency wreaks havoc with
persistence that is supposed to outlive brands, corporations, subject
classifications, and natural language semantics (e.g., what did the
three letters "gay" mean in 1958, 1978, and 1998?).  Today's
recognized and correct attributes are tomorrow's stale or incorrect
attributes.  In making hostnames (any names, actually) long-term
persistent, it helps to eliminate recognizable attributes to the
extent possible.  This affects selection of any name based on URLs,
including PURLs and the explicitly disposable NMAs.</t>
        <t>There is no excuse for a provider that manages its internal names
impeccably not to exercise the same care in choosing what could be an
exceptionally durable hostname, especially if it would form the
prefix for all the provider's URL-based external names.  Registering
an opaque hostname in the ".org" or ".net" domain would not be a bad
start.  Another way is to publish your ARKs with an organizational
domain name that will be mapped by DNS to an appropriate NMA host.
This makes for shorter names with less branding vulnerability.</t>
        <t>It is a mistake to think that hostnames are inherently unstable.  If
you require brand visibility, that may be a fact of life.  But things
are easier if yours is the brand of long-lived cultural memory
institution such as a national or university library or archive.
Well-chosen hostnames from organizations that are sheltered from the
direct effects of a volatile marketplace can easily provide longer-
lived global resolvers than the domain names explicitly or implicitly
used as starting points for global resolution by indirection-based
persistent identifier schemes.  For example, it is hard to imagine
circumstances under which the Library of Congress' domain name would
disappear sooner than, say, "handle.net".</t>
        <t>For smaller libraries, archives, and preservation organizations,
there is a natural concern about whether they will be able to keep
their web servers and domain names in the face of uncertain funding.
One option is to form or join a group of like-minded organizations
with the purpose of providing mutual preservation support.  The first
goal of such a group would be to perpetually rent a hostname on which
to establish a web server that simply redirects incoming member
organization requests to the appropriate member server; using ARKs,
for example, a 150-member group could run a very small server (24x7)
that contained nothing more than 150 rewrite rules in its
configuration file.  Even more helpful would be additional consortial
support for a member organization that was unable to continue
providing services and needed to find a successor archival
organization.  This would be a low-cost, low-tech way to publish ARKs
(or URLs) under highly persistent hostnames.</t>
        <t>There are no obvious reasons why the organizations registering DNS
names, URN Namespaces, and DOI publisher IDs should have among them
one that is intrinsically more fallible than the next.  Moreover, it
is a misconception that the demise of DNS and of HTTP need adversely
affect the persistence of URLs.  At such a time, certainly URLs from
the present day might not then be actionable by our present-day
mechanisms, but resolution systems for future non-actionable URLs are
no harder to imagine than resolution systems for present-day non-
actionable URNs and DOIs.  There is no more stable a namespace than
one that is dead and frozen, and that would then characterize the
space of names bearing the "http://" or "https://" prefix.  It is
useful to remember that just because hostnames have been carelessly
chosen in their brief history does not mean that they are unsuitable
in NMAs (and URLs) intended for use in situations demanding the
highest level of persistence available in the Internet environment.
A well-planned name assignment strategy is everything.</t>
      </section>
      <section anchor="assigners-of-arks">
        <name>Assigners of ARKs</name>
        <t>A Name Assigning Authority (NAA) is an organization that creates (or
delegates creation of) long-term associations between identifiers and
information objects.  Examples of NAAs include national libraries,
national archives, and publishers.  An NAA may arrange with an
external organization for identifier assignment.  The US Library of
Congress, for example, allows OCLC (the Online Computer Library
Center, a major world cataloger of books) to create associations
between Library of Congress call numbers (LCCNs) and the books that
OCLC processes.  A cataloging record is generated that testifies to
each association, and the identifier is included by the publisher,
for example, in the front matter of a book.</t>
        <t>An NAA does not so much create an identifier as create an
association.  The NAA first draws an unused identifier string from
its namespace, which is the set of all identifiers under its control.
It then records the assignment of the identifier to an information
object having sundry witnessed characteristics, such as a particular
author and modification date.  A namespace is usually reserved for an
NAA by agreement with recognized community organizations (such as
IANA and ISO) that all names containing a particular string be under
its control.  In the ARK an NAA is represented by the Name Assigning
Authority Number (NAAN).</t>
        <t>The ARK namespace reserved for an NAA is the set of names bearing its
particular NAAN.  For example, all strings beginning with
"ark:12345/" are under control of the NAA registered under 12345,
which might be the National Library of Finland.  Because each NAA has
a different NAAN, names from one namespace cannot conflict with those
from another.  Each NAA is free to assign names from its namespace
(or delegate assignment) according to its own policies.  These
policies must be documented in a manner similar to the declarations
required for URN Namespace registration <xref target="RFC2611"/>.</t>
        <t>Organizations can request or update a NAAN by filling out the NAAN
Request Form <xref target="NAANrequest"/>.</t>
      </section>
      <section anchor="naan-namespace-management">
        <name>NAAN Namespace Management</name>
        <t>Every NAA should have a namespace management strategy.  A classic
hierarchical approach is to partition a NAAN namespace into
subnamespaces known as "shoulders".  As explained in Section 2.4.1,
each shoulder is a unique prefix that guarantees non-collision of
names in different partitions.  This practice is strongly encouraged
for all NAAs, especially when subnamespace management and assignment
streams will be delegated to departments, units, or projects within
an organization.  For example, with a NAAN that is assigned to a
university and managed by its main library, the library should take
care to reserve shoulders (semantically opaque shoulders being
preferred) for distinct assignment streams.  Prefix-based partition
management is typically an important responsibility of the NAA.</t>
        <t>This shoulder delegation approach plays out differently in two real-
world examples: DNS names and ISBN identifiers.  In the former, the
hierarchy is deliberately exposed and in the latter it is hidden.
Rather than using lexical boundary markers such as the period ('.')
found in domain names, the ISBN uses a publisher prefix but doesn't
disclose where the prefix ends and the publisher's assigned name
begins.  This practice of non-disclosure, found in the ISBN and ISSN
schemes, is encouraged in assigning ARKs because it reduces the
visibility of an assertion that is probably not important now and may
become a vulnerability later.</t>
        <t>If longevity is the goal, it is important to keep the prefixes free
of recognizable semantics; for example, using an acronym representing
a project or a department is discouraged.  At the same time, you may
wish to set aside a subnamespace for testing purposes under a
shoulder such as "fk9..." that can serve as a visual clue and
reminder to maintenance staff that this "fake" identifier was never
published.</t>
        <t>There are other measures one can take to avoid user confusion,
transcription errors, and the appearance of accidental semantics when
creating identifiers.  If you are generating identifiers
automatically, pure numeric identifiers are likeley to be
semantically opaque enough, but it's probably useful to avoid leading
zeroes because some users mistakenly treat them as optional, thinking
(arithmetically) that they don't contribute to the "value" of the
identifier.</t>
        <t>If you need lots of identifiers and you don't want them to get too
long, you can mix digits with consonants (but avoid vowels since they
might accidentally spell words) to get more identifiers without
increasing the string length.  In this case you may not want more
than a two letters in a row because it reduces the chance of
generating acronyms.  Generator tools such as <xref target="NOID"/> provide support
for these sorts of identifiers, and can also add a computed check
character as a guarantee against the most common transcription
errors.  If used, it is recommended that the check character be
appended to the original Base Compact Name string (ie, minus the
check character), that original string having been the basis for
computing the check character.</t>
      </section>
      <section anchor="sub-object-naming">
        <name>Sub-Object Naming</name>
        <t>As mentioned previously, semantically opaque identifiers are very
useful for long-term naming of abstract objects, however, it may be
appropriate to extend these names with less opaque extensions that
reference contemporary service entry points (sub-objects) in support
of the object.  Sub-object extensions beginning with a digit or
underscore ('_') are reserved for the possibilty of developing a
future registry of canonical service points (e.g., numeric references
to versions, formats, languages, etc).</t>
      </section>
    </section>
    <section anchor="generic-ark-service-definition">
      <name>Generic ARK Service Definition</name>
      <t>An ARK request's output is delivered information; examples include
the object itself, a policy declaration (e.g., a promise of support),
a descriptive metadata record, or an error message.  The experience
of object delivery is expected to be an evolving mix of information
that reflects changing service expectations and technology
requirements; contemporary examples include such things as an object
summary and component links formatted for human consumption.  ARK
services must be couched in high-level, protocol-independent terms if
persistence is to outlive today's networking infrastructural
assumptions.  The high-level ARK service definitions listed below are
followed in the next section by a concrete method (one of many
possible methods) for delivering these services with today's
technology.  Note that some services may be invoked in one operation,
such as when an "?info" inflection returns both a description and a
permanence declaration for an object.</t>
      <section anchor="generic-ark-access-service-access-location">
        <name>Generic ARK Access Service (access, location)</name>
        <t>Returns (a copy of) the object or a redirect to the same, although a
sensible object proxy may be substituted.  Examples of sensible
substitutes include,</t>
        <ul spacing="normal">
          <li>
            <t>a table of contents instead of a large complex document,</t>
          </li>
          <li>
            <t>a home page instead of an entire web site hierarchy,</t>
          </li>
          <li>
            <t>a rights clearance challenge before accessing protected data,</t>
          </li>
          <li>
            <t>directions for access to an offline object (e.g., a book),</t>
          </li>
          <li>
            <t>a description of an intangible object (a disease, an event), or</t>
          </li>
          <li>
            <t>an applet acting as "player" for a large multimedia object.</t>
          </li>
        </ul>
        <t>May also return a discriminated list of alternate object locators.
If access is denied, returns an explanation of the object's current
(perhaps permanent) inaccessibility.</t>
        <section anchor="generic-policy-service-permanence-naming-etc">
          <name>Generic Policy Service (permanence, naming, etc.)</name>
          <t>Returns declarations of policy and support commitments for given
ARKs.  Declarations are returned in either a structured metadata
format or a human readable text format; sometimes one format may
serve both purposes.  Policy subareas may be addressed in separate
requests, but the following areas should be covered: object
permanence, object naming, object fragment addressing, and
operational service support.</t>
          <t>The permanence declaration for an object is a rating defined with
respect to an identified permanence provider (guarantor), which will
be the NMA. It may include the following aspects.</t>
          <ol spacing="normal" type="1"><li>
              <t>"object availability" -- whether and how access to the object
is supported (e.g., online 24x7, or offline only),</t>
            </li>
            <li>
              <t>"identifier validity" -- under what conditions the identifier
will be or has been re-assigned,</t>
            </li>
            <li>
              <t>"content invariance" -- under what conditions the content of
the object is subject to change, and</t>
            </li>
            <li>
              <t>"change history" -- access to corrections, migrations, and
revisions, whether through links to the changed objects themselves
or through a document summarizing the change history</t>
            </li>
          </ol>
          <t>One approach to persistence statements, conceived independently from
ARKs, can be found at <xref target="PStatements"/>, with ongoing work available at
<xref target="ARKspecs"/>.  An older approach to a permanence rating framework is
given in <xref target="NLMPerm"/>, which identified the following "permanence
levels":</t>
          <ul empty="true">
            <li>
              <t>Not Guaranteed: No commitment has been made to retain this
  resource.  It could become unavailable at any time.  Its
  identifier could be changed.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>Permanent: Dynamic Content: A commitment has been made to keep
  this resource permanently available.  Its identifier will always
  provide access to the resource.  Its content could be revised or
  replaced.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>Permanent: Stable Content: A commitment has been made to keep this
  resource permanently available.  Its identifier will always
  provide access to the resource.  Its content is subject only to
  minor corrections or additions.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>Permanent: Unchanging Content: A commitment has been made to keep
  this resource permanently available.  Its identifier will always
  provide access to the resource.  Its content will not change.</t>
            </li>
          </ul>
          <t>Naming policy for an object includes an historical description of the
NAA's (and its successor NAA's) policies regarding differentiation of
objects.  Since it is the NMA that responds to requests for policy
statements, it is useful for the NMA to be able to produce or
summarize these historical NAA documents.  Naming policy may include
the following aspects.</t>
          <ol spacing="normal" type="1"><li>
              <t>"similarity" -- (or "unity") the limit, defined by the NAA, to
  the level of dissimilarity beyond which two similar objects
  warrant separate identifiers but before which they share one
  single identifier, and</t>
            </li>
            <li>
              <t>"granularity" -- the limit, defined by the NAA, to the level
  of object subdivision beyond which sub-objects do not warrant
  separately assigned identifiers but before which sub-objects are
  assigned separate identifiers.</t>
            </li>
          </ol>
          <t>Subnaming policy for an object describes the qualifiers that the NMA,
in fulfilling its ongoing and evolving service obligations, allows as
extensions to an NAA-assigned ARK.  To the conceptual object that the
NAA named with an ARK, the NMA may add component access points and
derivatives (e.g., format migrations in aid of preservation) in order
to provide both basic and value-added services.</t>
          <t>Addressing policy for an object includes a description of how, during
access, object components (e.g., paragraphs, sections) or views
(e.g., image conversions) may or may not be "addressed", in other
words, how the NMA permits arguments or parameters to modify the
object delivered as the result of an ARK request.  If supported,
these sorts of operations would provide things like byte-ranged
fragment delivery and open-ended format conversions, or any set of
possible transformations that would be too numerous to list or to
identify with separately assigned ARKs.</t>
          <t>Operational service support policy includes a description of general
operational aspects of the NMA service, such as after-hours staffing
and trouble reporting procedures.</t>
        </section>
        <section anchor="generic-description-service">
          <name>Generic Description Service</name>
          <t>Returns a description of the object.  Descriptions are returned in a
structured metadata format, a human-readable text format, or in one
format that serves both purposes (such as human-readable HTML with
embedded machine-readable metadata, or perhaps YAML).  A description
must at a minimum answer the who, what, when, and where questions
("where" being the long-term identifier as opposed to a transient
redirect target) concerning an expression of the object.  Standalone
descriptions should be accompanied by the modification date and
source of the description itself.  May also return discriminated
lists of ARKs that are related to the given ARK.</t>
        </section>
      </section>
      <section anchor="overview-of-the-http-url-mapping-protocol-thump">
        <name>Overview of The HTTP URL Mapping Protocol (THUMP)</name>
        <t>The HTTP URL Mapping Protocol (THUMP) is a way of taking a key (any
identifier) and asking such questions as, what information does this
identify and how permanent is it?  <xref target="THUMP"/> is in fact one specific
method under development for delivering ARK services.  The protocol
runs over HTTP to exploit the web browser's current pre-eminence as
user interface to the Internet.  THUMP is designed so that a person
can enter ARK requests directly into the location field of current
browser interfaces.  Because it runs over HTTP, THUMP can be
simulated and tested via keyboard-based interactions <xref target="RFC0854"/>.</t>
        <t>The asker (a person or client program) starts with an identifier,
such as an ARK or a URL.  The identifier reveals to the asker (or
allows the asker to infer) the Internet host name and port number of
a server system that responds to questions.  Here, this is just the
NMA that is obtained by inspection and possibly lookup based on the
ARK's NAAN.  The asker then sets up an HTTP session with the server
system, sends a question via a THUMP request (contained within an
HTTP request), receives an answer via a THUMP response (contained
within an HTTP response), and closes the session.  That concludes the
connected portion of the protocol.</t>
        <t>A THUMP request is a string of characters beginning with a '?'
(question mark) that is appended to the identifier string.  The
resulting string is sent as an argument to HTTP's GET command.
Request strings too long for GET may be sent using HTTP's POST
command.  The two most common requests correspond to two degenerate
special cases.  First, a simple key with no request at all is the
same as an ordinary access request.  Thus a plain ARK entered into a
browser's location field behaves much like a plain URL, and returns
access to the primary identified object, for instance, an HTML
document.</t>
        <t>The second special case is a minimal ARK description request string
consisting of just "?info".  For example, entering the string,</t>
        <artwork><![CDATA[
    n2t.net/ark:67531/metadc107835?info
]]></artwork>
        <t>into the browser's location field directly precipitates a request for
a metadata record describing the object identified by ark:67531/
metadc107835.  The browser, unaware of THUMP, prepares and sends an
HTTP GET request in the same manner as for a URL.  THUMP is designed
so that the response (indicated by the returned HTTP content type) is
normally displayed, whether the output is structured for machine
processing (text/plain) or formatted for human consumption (text/
html).  In addition to "?info", this specification reserves both '?'
and '??' (originally older forms) for future use.</t>
        <t>The following example THUMP session assumes metadata being returned
by a resolver (as server) to a browser client.  Each line has been
annotated to include a line number and whether it was the client or
server that sent it.  Without going into much depth, the session has
four pieces separated from each other by blank lines: the client's
piece (lines 1-3), the server's HTTP/THUMP response headers (4-8),
and the body of the server's response (9-18).  The first and last
lines (1 and 19) correspond to the client's steps to start the TCP
session and the server's steps to end it, respectively.</t>
        <artwork><![CDATA[
 1  C: [opens session]
    C: GET https://n2t.net/ark:67531/metadc107835?info HTTP/1.1
    C:
    S: HTTP/1.1 200 OK
 5  S: Content-Type: text/plain
    S: THUMP-Status: 0.6 200 OK
    S: Link: </ark:67531/metadc107835> rel="describes";
    S:
    S: erc:
10  S: who:   Austin, Larry
    S: what:  A Study of Rhythm in Bach's Orgelbüchlein
    S: when:  1952
    S: where: https://digital.library.unt.edu/ark:/67531/metadc107835
    S: erc-support:
15  S: who:   University of North Texas Libraries
    S: what:  Permanent: Stable Content:
    S: when:  20081203
    S: where: https://digital.library.unt.edu/ark:/67531/
    S: [closes session]
]]></artwork>
        <t>The first two server response lines (4-5) above are typical of HTTP.
The next line (6) is peculiar to THUMP, and indicates the THUMP
version and a normal return status.  The final header line (7)
asserts, for the benefit of recipients unfamiliar with ARK
inflections, that the response describes the uninflected ARK.</t>
        <t>The balance of the response consists of a single metadata record
(9-18) that comprises the ARK description service response.  The
returned record is in the format of an Electronic Resource Citation
<xref target="ERC"/>, which is discussed in overview in the next section.  For now,
note that it contains four elements that answer the top priority
questions regarding an expression of the object: who played a major
role in expressing it, what the expression was called, when it was
created, and where the expression may be found (note that "where" is
preferably a persistent, citable identifier rather than an unstable
URL sometimes mistakenly referred to as a "location").  This quartet
of elements comes up again and again in ERCs.  Lines 13-17 contain a
minimal persistence statement.</t>
        <t>Each segment in an ERC tells a different story relating to the
object, so although the same four questions (elements) appear in
each, the answers depend on the segment's story type.  While the
first segment tells the story of an expression of the object, the
second segment tells the story of the support commitment made to it:
who made the commitment, what the nature of the commitment was, when
it was made, and where a fuller explanation of the commitment may be
found.</t>
      </section>
      <section anchor="the-electronic-resource-citation-erc">
        <name>The Electronic Resource Citation (ERC)</name>
        <t>An Electronic Resource Citation (or ERC, pronounced e-r-c) <xref target="ERC"/> is a
kind of object description that uses Dublin Core Kernel metadata
elements <xref target="DCKernel"/>.  The ERC with Kernel elements provides a simple,
compact, and printable record for holding data associated with an
information resource.  As originally designed <xref target="Kernel"/>, Kernel
metadata balances the needs for expressive power, very simple machine
processing, and direct human manipulation.  The ERC sense of
"citation" is not limited to the traditional referencing of a result
or information fixed in time on a printed page, but to a more general
kind of reference, both backward, to digital material that cannot be
known to be fixed in time (true of virtually all online information),
and forward, to material that is all the more valuable for improving
or evolving over time.</t>
        <t>The previous section shows two limited examples of what is fully
described elsewhere <xref target="ERC"/>.  The rest of this short section provides
some of the background and rationale for this record format.</t>
        <t>A founding principle of Kernel metadata is that direct human contact
with metadata will be a necessary and sufficient condition for the
near term rapid development of metadata standards, systems, and
services.  Thus the machine-processable Kernel elements must only
minimally strain people's ability to read, understand, change, and
transmit ERCs without their relying on intermediation with
specialized software tools.  The basic ERC needs to be succinct,
transparent, and trivially parseable by software.</t>
        <t>Borrowing from the data structuring format that underlies the
successful spread of email and web services, the ERC format uses
<xref target="ANVL"/>, which is based on email and HTTP headers <xref target="RFC2822"/>.  There is
a naturalness to ANVL's label-colon-value format (seen in the
previous section) that barely needs explanation to a person beginning
to enter ERC metadata.</t>
        <t>While ANVL elements are expected at the top level and don't
themselves support hierarchy, the value of an ANVL element may be an
arbitrary encoded hierarchy of JSON or XML.  Typically, the name of
such an ANVL element ends in "json" or "xml", for example, "json" or
"geojson".  Care should be taken to escape structural characters that
appear in element names and values, specifically, line terminators
(both newlines ("\n") and carriage returns ("\r")) and, in element
names, colons (":").</t>
        <t>Besides simplicity of ERC system implementation and data entry
mechanics, ERC semantics (what the record and its constituent parts
mean) must also be easy to explain.  ERC semantics are based on a
reformulation and extension of the Dublin Core <xref target="RFC5013"/> hypothesis,
which suggests that the fifteen Dublin Core metadata elements have a
key role to play in cross-domain resource description.  The ERC
design recognizes that the Dublin Core's primary contribution is the
international, interdisciplinary consensus that identified fifteen
semantic buckets (element categories), regardless of how they are
labeled.  The ERC then adds a definition for a record and some
minimal compliance rules.  In pursuing the limits of simplicity, the
ERC design combines and relabels some Dublin Core buckets to isolate
a tiny kernel (subset) of four elements for basic cross-domain
resource description.</t>
        <t>For the cross-domain kernel, the ERC uses the four basic elements --
who, what, when, and where -- to pretend that every object in the
universe can have a uniform minimal description.  Each has a name or
other identifier, a locator (a means to access it), some responsible
person or party, and a date.  It doesn't matter what type of object
it is, or whether one plans to read it, interact with it, smoke it,
wear it, or navigate it.  Of course, this approach is flawed because
uniformity of description for some object types requires more
semantic contortion and sacrifice than for others.  That is why at
the beginning of this document, the ARK was said to be suited to
objects that accommodate reasonably regular electronic description.</t>
        <t>While insisting on uniformity at the most basic level provides
powerful cross-domain leverage, the semantic sacrifice is great for
many applications.  So the ERC also permits a semantically rich and
nuanced description to co-exist in a record along with a basic
description.  In that way both sophisticated and naive recipients of
the record can extract the level of meaning from it that best suits
their needs and abilities.  Key to unlocking the richer description
is a controlled vocabulary of ERC record types (not explained in this
document) that permit knowledgeable recipients to apply defined sets
of additional assumptions to the record.</t>
      </section>
      <section anchor="advice-to-web-clients">
        <name>Advice to Web Clients</name>
        <t>ARKs are envisaged to appear wherever durable object references are
planned.  Library cataloging records, literature citations, and
bibliographies are important examples.  In many of these places URLs
(Uniform Resource Locators) are currently used, and inside some of
those URLs are embedded URNs, Handles, and DOIs.  Unfortunately,
there's no suggestion of a way to probe for extra services that would
build confidence in those identifiers; in other words, there's no way
to tell whether any of those identifiers is any better managed than
the average URL.</t>
        <t>ARKs are also envisaged to appear in hypertext links (where they are
not normally shown to users) and in rendered text (displayed or
printed).  A normal HTML link for which the URL is not displayed
looks like this.</t>
        <artwork><![CDATA[
    <a href = "https://example.org/index.htm"> Click Here <a>
]]></artwork>
        <t>A URL with an embedded ARK invites access (via "?info") to extra
services:</t>
        <artwork><![CDATA[
    <a href = "https://example.org/ark:14697/b12345x"> Click Here <a>
]]></artwork>
        <t>Using the <xref target="N2T"/> resolver to provide identifier-scheme-agnostic
protection against hostname instability, this ARK could be published
as:</t>
        <artwork><![CDATA[
    <a href = "https://n2t.net/ark:14697/b12345x"> Click Here <a>
]]></artwork>
        <t>An NAA will typically make known the associations it creates by
publishing them in catalogs, actively advertizing them, or simply
leaving them on web sites for visitors (e.g., users, indexing
spiders) to stumble across in browsing.</t>
      </section>
      <section anchor="enhancements-and-related-specifications">
        <name>Enhancements and Related Specifications</name>
        <t>ARK services, data models, inflections, and applications continue to
evolve.  Follow-on developments and specifications will be made
available from the ARK Maintenance Agency <xref target="ARKspecs"/>.</t>
      </section>
      <section anchor="security-considerations">
        <name>Security Considerations</name>
        <t>The ARK naming scheme poses no direct risk to computers and networks.
Implementors of ARK services need to be aware of security issues when
querying networks and filesystems for Name Mapping Authority
services, and the concomitant risks from spoofing and obtaining
incorrect information.  These risks are no greater for ARK mapping
authority discovery than for other kinds of service discovery.  For
example, recipients of ARKs with a specified NMA should treat it like
a URL and be aware that the identified ARK service may no longer be
operational.</t>
        <t>Apart from mapping authority discovery, ARK clients and servers
subject themselves to all the risks that accompany normal operation
of the protocols underlying mapping services (e.g., HTTP).  As
specializations of such protocols, an ARK service may limit exposure
to the usual risks.  Indeed, ARK services may enhance a kind of
security by helping users identify long-term reliable references to
information objects.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="RFC2616">
        <front>
          <title>Hypertext Transfer Protocol -- HTTP/1.1</title>
          <author fullname="R. Fielding" initials="R." surname="Fielding"/>
          <author fullname="J. Gettys" initials="J." surname="Gettys"/>
          <author fullname="J. Mogul" initials="J." surname="Mogul"/>
          <author fullname="H. Frystyk" initials="H." surname="Frystyk"/>
          <author fullname="L. Masinter" initials="L." surname="Masinter"/>
          <author fullname="P. Leach" initials="P." surname="Leach"/>
          <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
          <date month="June" year="1999"/>
          <abstract>
            <t>HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2616"/>
        <seriesInfo name="DOI" value="10.17487/RFC2616"/>
      </reference>
      <reference anchor="RFC5013">
        <front>
          <title>The Dublin Core Metadata Element Set</title>
          <author fullname="J. Kunze" initials="J." surname="Kunze"/>
          <author fullname="T. Baker" initials="T." surname="Baker"/>
          <date month="August" year="2007"/>
          <abstract>
            <t>This document defines fifteen metadata elements for resource description in a cross-disciplinary information environment. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5013"/>
        <seriesInfo name="DOI" value="10.17487/RFC5013"/>
      </reference>
      <reference anchor="RFC2611">
        <front>
          <title>URN Namespace Definition Mechanisms</title>
          <author fullname="L. Daigle" initials="L." surname="Daigle"/>
          <author fullname="D. van Gulik" initials="D." surname="van Gulik"/>
          <author fullname="R. Iannella" initials="R." surname="Iannella"/>
          <author fullname="P. Faltstrom" initials="P." surname="Faltstrom"/>
          <date month="June" year="1999"/>
          <abstract>
            <t>This document lays out general definitions of and mechanisms for establishing URN "namespaces". This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="33"/>
        <seriesInfo name="RFC" value="2611"/>
        <seriesInfo name="DOI" value="10.17487/RFC2611"/>
      </reference>
      <reference anchor="RFC2141">
        <front>
          <title>URN Syntax</title>
          <author fullname="R. Moats" initials="R." surname="Moats"/>
          <date month="May" year="1997"/>
          <abstract>
            <t>Uniform Resource Names (URNs) are intended to serve as persistent, location-independent, resource identifiers. This document sets forward the canonical syntax for URNs. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2141"/>
        <seriesInfo name="DOI" value="10.17487/RFC2141"/>
      </reference>
      <reference anchor="RFC2288">
        <front>
          <title>Using Existing Bibliographic Identifiers as Uniform Resource Names</title>
          <author fullname="C. Lynch" initials="C." surname="Lynch"/>
          <author fullname="C. Preston" initials="C." surname="Preston"/>
          <author fullname="R. Daniel" initials="R." surname="Daniel"/>
          <date month="February" year="1998"/>
          <abstract>
            <t>This document discusses how three major bibliographic identifiers (the ISBN, ISSN and SICI) can be supported within the URN framework and the currently proposed syntax for URNs. This memo provides information for the Internet community. It does not specify an Internet standard of any kind.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2288"/>
        <seriesInfo name="DOI" value="10.17487/RFC2288"/>
      </reference>
      <reference anchor="RFC3986">
        <front>
          <title>Uniform Resource Identifier (URI): Generic Syntax</title>
          <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
          <author fullname="R. Fielding" initials="R." surname="Fielding"/>
          <author fullname="L. Masinter" initials="L." surname="Masinter"/>
          <date month="January" year="2005"/>
          <abstract>
            <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="66"/>
        <seriesInfo name="RFC" value="3986"/>
        <seriesInfo name="DOI" value="10.17487/RFC3986"/>
      </reference>
      <reference anchor="RFC1034">
        <front>
          <title>Domain names - concepts and facilities</title>
          <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
          <date month="November" year="1987"/>
          <abstract>
            <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="13"/>
        <seriesInfo name="RFC" value="1034"/>
        <seriesInfo name="DOI" value="10.17487/RFC1034"/>
      </reference>
      <reference anchor="RFC0854">
        <front>
          <title>Telnet Protocol Specification</title>
          <author fullname="J. Postel" initials="J." surname="Postel"/>
          <author fullname="J.K. Reynolds" initials="J.K." surname="Reynolds"/>
          <date month="May" year="1983"/>
          <abstract>
            <t>This is the specification of the Telnet protocol used for remote terminal access in the ARPA Internet. The purpose of the TELNET Protocol is to provide a fairly general, bi-directional, eight-bit byte oriented communications facility. Its primary goal is to allow a standard method of interfacing terminal devices and terminal-oriented processes to each other. It is envisioned that the protocol may also be used for terminal-terminal communication ("linking") and process-process communication (distributed computation). This RFC specifies a standard for the ARPA Internet community. Hosts on the ARPA Internet are expected to adopt and implement this standard. Obsoletes NIC 18639.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="8"/>
        <seriesInfo name="RFC" value="854"/>
        <seriesInfo name="DOI" value="10.17487/RFC0854"/>
      </reference>
      <reference anchor="RFC2822">
        <front>
          <title>Internet Message Format</title>
          <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
          <date month="April" year="2001"/>
          <abstract>
            <t>This document specifies a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2822"/>
        <seriesInfo name="DOI" value="10.17487/RFC2822"/>
      </reference>
      <reference anchor="RFC2915">
        <front>
          <title>The Naming Authority Pointer (NAPTR) DNS Resource Record</title>
          <author fullname="M. Mealling" initials="M." surname="Mealling"/>
          <author fullname="R. Daniel" initials="R." surname="Daniel"/>
          <date month="September" year="2000"/>
          <abstract>
            <t>This document describes a Domain Name System (DNS) resource record which specifies a regular expression based rewrite rule that, when applied to an existing string, will produce a new domain label or Uniform Resource Identifier (URI). [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2915"/>
        <seriesInfo name="DOI" value="10.17487/RFC2915"/>
      </reference>
      <reference anchor="DOI" target="https://doi.org/10.1000/203">
        <front>
          <title>The Digital Object Identifier (DOI) System</title>
          <author>
            <organization>I. D. Foundation</organization>
          </author>
          <date year="2001" month="February"/>
        </front>
      </reference>
      <reference anchor="ANVL" target="https://n2t.net/ark:/13030/c7x921j3h">
        <front>
          <title>A Name-Value Language</title>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <author initials="B." surname="Kahle">
            <organization/>
          </author>
          <author initials="J." surname="Masanes">
            <organization/>
          </author>
          <author initials="G." surname="Mohr">
            <organization/>
          </author>
          <date year="2005"/>
        </front>
      </reference>
      <reference anchor="ARK" target="https://n2t.net/ark:/13030/c7n00zt1z">
        <front>
          <title>Towards Electronic Persistence Using ARK Identifiers</title>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <date year="2003" month="August" day="03"/>
        </front>
        <seriesInfo name="IWAW/ECDL Annual Workshop Proceedings" value=""/>
      </reference>
      <reference anchor="ARKagency" target="https://arks.org">
        <front>
          <title>ARK Maintenance Agency</title>
          <author>
            <organization>ARK Alliance</organization>
          </author>
          <date year="2021"/>
        </front>
      </reference>
      <reference anchor="ARKAtech" target="https://wiki.lyrasis.org/display/ARKs/Technical+Working+Group">
        <front>
          <title>ARK Alliance Technical Working Group</title>
          <author>
            <organization>ARK Alliance</organization>
          </author>
          <date year="2022"/>
        </front>
      </reference>
      <reference anchor="ARKdrafts" target="https://github.com/arks-org/arkspec">
        <front>
          <title>ARK Drafts Repository</title>
          <author>
            <organization>ARK Alliance</organization>
          </author>
          <date year="2022"/>
        </front>
      </reference>
      <reference anchor="ARKspecs" target="https://arks.org/specs/">
        <front>
          <title>ARK Maintenance Agency Specifications</title>
          <author>
            <organization>ARK Alliance</organization>
          </author>
          <date year="2021"/>
        </front>
      </reference>
      <reference anchor="CURIE" target="https://www.w3.org/TR/2010/NOTE-curie-20101216/">
        <front>
          <title>CURIE Syntax 1.0</title>
          <author>
            <organization>W3C</organization>
          </author>
          <date year="2010" month="December"/>
        </front>
      </reference>
      <reference anchor="DCKernel" target="https://dublincore.org/groups/kernel/">
        <front>
          <title>Kernel Metadata Working Group</title>
          <author>
            <organization>Dublin Core Metadata Initiative</organization>
          </author>
          <date year="20012008"/>
        </front>
      </reference>
      <reference anchor="ERC" target="https://n2t.net/ark:/13030/c7sn0141m">
        <front>
          <title>Kernel Metadata and Electronic Resource Citations</title>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <author initials="A." surname="Turner">
            <organization/>
          </author>
          <date year="2007" month="October"/>
        </front>
      </reference>
      <reference anchor="Handle" target="https://eric.ed.gov/?id=ED450775">
        <front>
          <title>Handle System Overview</title>
          <author initials="L." surname="Lannom">
            <organization/>
          </author>
          <date year="1999" month="April"/>
        </front>
        <seriesInfo name="ICSTI Forum No. 30" value=""/>
      </reference>
      <reference anchor="Kernel" target="https://n2t.net/ark:/13030/c7rr1pm49">
        <front>
          <title>A Metadata Kernel for Electronic Permanence</title>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <date year="2002" month="January"/>
        </front>
        <seriesInfo name="Journal of Digital Information Vol 2, Issue 2, ISSN 1368-7506" value=""/>
      </reference>
      <reference anchor="N2T" target="https://n2t.net">
        <front>
          <title>Name-to-Thing Resolver</title>
          <author>
            <organization>ARK Alliance</organization>
          </author>
          <date year="2006" month="August"/>
        </front>
      </reference>
      <reference anchor="NAANregistry" target="https://n2t.net/e/pub/naan_registry.txt">
        <front>
          <title>NAAN Registry</title>
          <author>
            <organization>ARKs.org</organization>
          </author>
          <date year="2019"/>
        </front>
      </reference>
      <reference anchor="NAANrequest" target="https://n2t.net/e/naan_request">
        <front>
          <title>NAAN Request Form</title>
          <author>
            <organization>ARKs.org</organization>
          </author>
          <date year="2018"/>
        </front>
      </reference>
      <reference anchor="NLMPerm" target="https://www.nlm.nih.gov/pubs/techbull/ma05/ma05_archive.html">
        <front>
          <title>Permanence Levels and the Archives for NLM's Permanent Web Documents</title>
          <author initials="M." surname="Byrnes">
            <organization/>
          </author>
          <date year="2005" month="March"/>
        </front>
      </reference>
      <reference anchor="NOID" target="https://metacpan.org/dist/Noid/view/noid">
        <front>
          <title>Nice Opaque Identifiers</title>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <date year="2006" month="April"/>
        </front>
      </reference>
      <reference anchor="PStatements" target="https://n2t.net/ark:/13030/c7833mx7t">
        <front>
          <title>Persistence statements: describing digital stickiness</title>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <date year="2016" month="October"/>
        </front>
      </reference>
      <reference anchor="PURL" target="https://www.internetsociety.org/inet96/proceedings/a4/a4_1.htm">
        <front>
          <title>Introduction to Persistent Uniform Resource Locators</title>
          <author initials="K." surname="Shafer">
            <organization/>
          </author>
          <date year="1996"/>
        </front>
      </reference>
      <reference anchor="shoulderrequest" target="https://n2t.net/e/shoulder_request">
        <front>
          <title>Shoulder Request Form</title>
          <author>
            <organization>ARKs.org</organization>
          </author>
          <date year="2021"/>
        </front>
      </reference>
      <reference anchor="SPT" target="http://n2t.net/e/suffix_passthrough.html">
        <front>
          <title>What is Suffix Passthrough?</title>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <date year="2021" month="May"/>
        </front>
      </reference>
      <reference anchor="THUMP" target="https://www.ietf.org/archive/id/draft-kunze-thump-03.txt">
        <front>
          <title>The HTTP URL Mapping Protocol</title>
          <author initials="K." surname="Gamiel">
            <organization/>
          </author>
          <author initials="J." surname="Kunze" fullname="John Kunze">
            <organization/>
          </author>
          <date year="2007" month="August"/>
        </front>
      </reference>
    </references>
    <?line 1996?>

<section anchor="ark-maintenance-agency-arksorg">
      <name>ARK Maintenance Agency: arks.org</name>
      <t>The ARK Maintenance Agency <xref target="ARKagency"/> at arks.org has several
functions.</t>
      <ul spacing="normal">
        <li>
          <t>To manage the registry of organizations that will be assigning
  ARKs.  Organizations can request or update a NAAN by filling out
  the NAAN Request Form <xref target="NAANrequest"/>.</t>
        </li>
        <li>
          <t>To be a clearinghouse for information about ARKs, such as best
  practices, introductory documentation, tutorials, community
  forums, etc.  These supplemental resources help ARK implementors
  in high-level applications across different sectors and
  disciplines, and with a variety of metadata standards.</t>
        </li>
        <li>
          <t>To be a locus of discussion about future versions of the ARK
  specification.</t>
        </li>
      </ul>
    </section>
    <section anchor="looking-up-nmas-distributed-via-dns">
      <name>Looking up NMAs Distributed via DNS</name>
      <t>This subsection introduces an older method for looking up NMAs that
is based on the method for discovering URN resolvers described in
<xref target="RFC2915"/>.  It relies on querying the DNS system for Name Authority
Pointer (NAPTR) records that mirror the contents of the plain text
<xref target="NAANregistry"/> database.  A query is submitted to DNS asking for a
list of resolvers that match a given NAAN.  DNS distributes the query
to the particular DNS servers that can best provide the answer,
unless the answer can be found more quickly in a local DNS cache as a
side-effect of a recent query.  Responses come back inside NAPTR
records.  The normal result is one or more candidate NMAs.</t>
      <t>In its full generality the <xref target="RFC2915"/> algorithm ambitiously
accommodates a complex set of preferences, orderings, protocols,
mapping services, regular expression rewriting rules, and DNS record
types.  This subsection proposes a drastic simplification of it for
the special case of ARK mapping authority discovery.  The simplified
algorithm is called Maptr.  It uses only one DNS record type (NAPTR)
and restricts most of its field values to constants.  The following
hypothetical excerpt from a DNS data file for the NAAN known as 12026
shows three example NAPTR records ready to use with the Maptr
algorithm.</t>
      <artwork><![CDATA[
12026.ark.arpa.
;; US Library of Congress
;;       order pref flags service regexp  replacement
 IN NAPTR  0     0   "h"  "ark"   "USLC"  lhc.nlm.nih.gov:8080
 IN NAPTR  0     0   "h"  "ark"   "USLC"  foobar.zaf.org
 IN NAPTR  0     0   "h"  "ark"   "USLC"  sneezy.dopey.com
]]></artwork>
      <t>All the fields are held constant for Maptr except for the "flags",
"regexp", and "replacement" fields.  The "service" field contains the
constant value "ark" so that NAPTR records participating in the Maptr
algorithm will not be confused with other NAPTR records.  The "order"
and "pref" fields are held to 0 (zero) and otherwise ignored for now;
the algorithm may evolve to use these fields for ranking decisions
when usage patterns and local administrative needs are better
understood.</t>
      <t>When a Maptr query returns a record with a flags field of "h" (for
host, a Maptr extension to the NAPTR flags), the replacement field
contains the NMA (host) of an ARK service provider.  When a query
returns a record with a flags field of "" (the empty string), the
client needs to submit a new query containing the domain name found
in the replacement field.  This second sort of record exploits the
distributed nature of DNS by redirecting the query to another domain
name.  It looks like this.</t>
      <artwork><![CDATA[
12345.ark.arpa.
;; Digital Library Consortium
;;       order pref flags service regexp replacement
 IN NAPTR  0     0    ""  "ark"     ""   dlc.spct.org.
]]></artwork>
      <t>Here is the Maptr algorithm for ARK mapping authority discovery.  In
it replace <tt>&lt;NAAN&gt;</tt> with the NAAN from the ARK for which an NMA is
sought.</t>
      <ol spacing="normal" type="1"><li>
          <t>Initialize the DNS query: <tt>type=NAPTR, query=&lt;NAAN&gt;.ark.arpa</tt>.</t>
        </li>
        <li>
          <t>Submit the query to DNS and retrieve (NAPTR) records, discarding
any record that does not have "ark" for the service field.</t>
        </li>
        <li>
          <t>All remaining records with a flags fields of "h" contain
candidate NMAs in their replacement fields.  Set them aside, if
any.</t>
        </li>
        <li>
          <t>Any record with an empty flags field ("") has a replacement field
containing a new domain name to which a subsequent query should
be redirected.  For each such record, set <tt>query=&lt;replacement&gt;</tt>
then go to step (2).  When all such records have been recursively
exhausted, go to step (5).</t>
        </li>
        <li>
          <t>All redirected queries have been resolved and a set of candidate
NMAs has been accumulated from steps (3).  If there are zero
NMAs, exit -- no mapping authority was found.  If there is one or
more NMA, choose one using any criteria you wish, then exit.</t>
        </li>
      </ol>
      <t>A Perl script that implements this algorithm is included here.</t>
      <sourcecode type="perl"><![CDATA[
#!/usr/bin/env perl

use Net::DNS;                           # include simple DNS package
my $qtype = "NAPTR";                    # initialize query type
my $naa = shift;                        # get NAAN script argument
my $mad = new Net::DNS::Resolver;       # mapping authority discovery

&maptr("$naa.ark.arpa");                # call maptr - that's it

sub maptr {                             # recursive maptr algorithm
        my $dname = shift;              # domain name as argument
        my ($rr, $order, $pref, $flags, $service, $regexp,
                $replacement);
        my $query = $mad->query($dname, $qtype);
        return                          # non-productive query
                if (! $query || ! $query->answer);
        foreach $rr ($query->answer) {
                next                    # skip records of wrong type
                        if ($rr->type ne $qtype);
                ($order, $pref, $flags, $service, $regexp,
                        $replacement) = split(/\s/, $rr->rdatastr);
                if ($flags eq "") {
                        &maptr($replacement);   # recurse
                } elsif ($flags eq "h") {
                        print "$replacement\n"; # candidate NMA
                }
        }
}
]]></sourcecode>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+S97ZYb15Ul+P8+RTQ8XpnZBWSSlKgPeqpdaVKyWZZIFkmV
pkelsQNAZGYogQg4IpBJqOz6P28y79EvNmfvc869NwCQksq9ZvVao2XJmQlE
xI37cT732Wc2m4WhHlbVk2Ly9qYqLl//sXi+rJqhvqqrrnizuKnW1SSU83lX
3cl35PNJWJRDdd12uydF3Vy14f76SfGiGu7b7rb4Vv5TN9fF77t2uwnLdtGU
a7n3siuvhtnttvmxmpXd7eyjz0O96Z4UQ7fth0cPHnz+4FHot/N13fd12wy7
jVzz/Iu3X4alPOpJ8ejBo4/Dom36qum3PS+rwqZ+EoqiH7p6MTwpdlUvvy3a
9VoGL19pWvm1WtaDjMZ+G9qFf09+bNebMl0of1hWm+HmSfERbtp2Q1dd9f5p
v1vnv+5dKwOPf5EHhTvc5LbayYQsZYizoo4Tit/KbnFT31X48dXzZ/L1qtlW
eJXrerjZzmWSZYb6WdtdX+CHTbWYyIcrmYheHjC5GYZN/+Tiwr90rped161/
/UJnG/OMX89vhvVqEkK5HW7aDg+ayb+FrJ280D+fF3/EqvAvulb/3N40xWX+
d3nKk+J129RN8bzpZbtsB/1g0W6bAfvgmzeX/EO1LuuVDPKH8vZ2vvqna/x6
LpMzGT918sV58buqW/+P/6efZE+efLFelzIZq1U1/pgDmPyP/3vRyidNOcge
KeWnZdUXT2/KTmZGvyeboaowSZ88Ll5v8YXidS1beFVXW/3Goh5kuK/Kru7t
DZby4E8fP5ANOHqjL7uyWVSjl6ri6M7nMrqq/6eFPvx806/O8YSA89CtZYB3
XNHXXz599MnDT+zHxw8efpT++tB/fPhx/PHRZ5/Zjx99/plf9vDBRx/bjw8+
e+w/Pvrs0SP/8fOHj58E+fnZy+dPOOKh7K4xD75Xlm19jv308MH5wwcPHlw8
evCRfi87+c9q2Ujlqng5/6FaDLkQOJX7nhVvdv1QrXUW01ZKq/P8vHh2Xnwp
87fkAuk3/fw+eDiTGZY/Xb7416/Gg4w7unk0nDfVgG385OLhRw8+enCx+PTd
548e/vDRzWQ03svihWyY2b+WK1nkr8rmelteV8eGNrP/H+3ttLHzL3Bj/k62
fXmzes+ncli+Lvuyqfrjn/9ePm9vuvGLP+Zbv/7jkyPDOzqouCjtfdkt++KL
laxHJ6dvUbyqur6WZZCdWXzTQ86O5bUfg6qrqx57Eevy7eW3F188ffZVcdk0
W1lgiOj+pt0Ur7p2UYmIbK77vcX6aPbgs5nvkb29dHSVmgcPfhwe/qhvKmvR
LHbH3jfNF/cMBn+5WtXxpMX1lQ++LutG3hSfFZe843iQjx4eHR5kIPa6DuVy
qBY3f+9I/IPirdxMlsHmMKq5vXE9Ojqu+/q2Pl/tulIWkGdxWfebVbm7kCf0
F/HO/2B3/gdVoHwJivP+732LZ7xL8bratH09iPb+WcM25SIi/GJfK+ng8NPf
PbbDtS7eyH1lTy8oS/pftPQXHNOFfOfpN6+ff/EzBvftR09HY+J1IvGaoXxX
PDx/MH78wwezh+9Z5Pv78/uPOIa3ry/wzYsXL99+MVts5UDO8PvDRw8/wcie
Pf1j1TXV6mcM7tl2vhLN+7TtquLraihlGKXoYbFsqGdGA9ebpq99YJ8+eDiV
/3x2XF/wkQt5It/lGlf3F7e8OUb/xeunHx74z5O2YmS83co9uw++Q9kscxn4
uurbbScb5amoqyOb48Gns4cPfr7k6psHooDXcsEf5EGr6sPvxWF/dQ6d07Tr
0bD1clOTxcu7qrurq/tjAvnpm7fPRVF223Xxoj0vPhptr4eff/757MHHR19A
7rI4r5bn1+3dxW/r5T9+8ezjxw8+/fSxfPnn7KYPapvLNOG2AGLJ7OkeMX+g
eo680z/LkohJVrRX0Y547qZQ2xT/2q6KR9Pied+LvsYPb968KB5+9MlnM7G8
Ptlbv0ezB8fP99H167qHm/XHn8sFLx69/XvkEC2KoZ29vcGBwS5byRruje2T
2XtOjI0Nw7i8fNFV16Kmu5+pA11fZWORe8gQ9CZ7wufzD85NdbHZzi+asmz+
5IM4H96lcf1lCy/i7xsW74ENvN4b2genRoZmw+L1GNFXX2NT/YwT97W4C7vO
7S4fTtqRxVfVXbXqKSoGeLHqYvXcw/KYkz5u36H4tpoXz9rFlo7i3vo+fp/V
A8nerNbnTX3D4yez3F/AuJhvV6uLdfngMf/zJ3Pu6HPhFV8+f/Z3HMoXtbzb
y00pM3Zo5eWb8ri8WMuJXmzKxu2N4eJFWy8vIJcuGvlJLnr1RoRopT7zf36c
uV3apxvCQVt09RwHamliQdzHhaikqt97i4ef/CKx/dlHH63ffYpd9Oqb11/9
jC30x/PizU15tadrnouz1y63C0qpoU0G9lB809QQYEnffNWKMdKOZ1+k9Sfv
3S+waWTTDn27qKthx1WQNx8+/+Rik0zvi/Jj+d+fHmLLyK3EMt+ullX3dx7V
N3abDxzX91hR6bj6ULIj++bVT8jYD26Tb2/Koaj74s326qp+J1543w83Yltc
3/x2f2izB48PRjceHO/xp026h5+5t3/45utXP29H/L5c19Xql70EfOU/vH37
qpB9J4brZoPdLa4UQkqrA1PkPeqC26Mars7VnqbMuJCjmcfJxPBeb0QeUX6H
2WxWlHOR5+VCfvvf/8sMw/2VGBB4lPy1XmEc9zf1UPWbUrarmIxXormHQnSw
7MNCttym6gbR2cV9vVoVi3LbV7yH/iNbTjY3LoMEve3K9bK9b2bd1aLYlJ1o
+/Pii7uqwRc8yvZfcDlvMfq6nfpqWdxUXXXUl1iU8/Yiv4h3ms3+WwgehTxV
IS4iI57AP1a7MywO3rRnZBK7SR5XXzfytKENV+VCJgISiG9xU1/fzP4iTm89
7KgcNul8e1BOPQyxXFLwBr8yCtKfy3aS+6zKuRhEiMs9mch8ip/B24uo6wbY
PGUBWxnDDinWJ1+R7b4om2JeyUXLqigpZ8q5mInznSxItakayADebC7qumnw
mwylxO6Sh39dlTJUEUxyi23PK2WD4N7tstyJWms07sqbwIdsV+21LHGYVzLN
lbyGmDHVUE1tMBilHmvcsZMvXTf1j7yvLfzVdtjKl0pRpuF61c7L1WpXbJsa
KgjLUjdLDhtTKG+OS3AQbtp+wLGZ8mxMi2pYyPAvwxXiQRjdphOHot7Ig+Qq
iCwsHQe1yZSH/G0jj5dHlr5vZTZ62NLyKVawqWQXyZ/rBpsL69jI3229ikb0
/aJtriA/l4WsYz1gqssgW1gUz3ZVdnED0buzBZ5DRJbNLgvVcuWWLYa0qspl
kNMix0OWwkZjo++3m00ru6Br51u5R1ddYViLCm8vk7laza62DdddHhowg7ib
7h/cEnfEz/HBS38XedupHNXhhp9PfovtOcEmhU2OPSqyBwsh3+oqWbSmx6S5
EY+17ZacspIHth5wZkNUzzp8ebt5K48QWVM2M359Xcq5a6pZJ+PEzsAUta1Y
V9U7WSaYVEEmEHH1aSGqfckfcGFHm9miUv15CHJwN+KfiQHAAwhjbLiRJ7r1
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
m+GsCZHWo0C4teK/u+KHlijRazEZN3qQbqsZXE/oiJH5Gesosmr0lNhcb9nH
ZTQXFng+z6quAxxMbVvI3mD63AhEg7iruk1l+f9OqUKjWG0t2gY8U0WRwZ4R
OdJCkYbYuLsMBRMzZXK6yS2aN5iL2TMnjM5Eo34/VlJo2Y+S/43iCmXx8PGD
mX1bX0r1FHNcGVzEx3n66ON3n54FY1VwyIhHSBMARW4rA7zv0MePlJhWAoh6
9Kv6emuE3GgGCqgFW6/jYhgT5IWJ2jIRJybASiRXcay9llXlsxNZRraNb0uM
t262UJ++/BH4S0OuqqwlpIHmogtiJ0cenD/D7ZY01gigm8bYiGOMRoHIU1L8
fNWfmSywnumZpImi9zxnGRWzpZ2Tlis6Ovc3ChAYC+cu6Xkoz2DWHHBLLyIR
jYqBZy+fZ0nb58+ii6mUgZH6MOQkzeBIQfBSQ7BcuSv5UStnXEKDv/Vc+4C3
hAJpkpRq1noojUjZlxUKBXDKoO9N1xEc2DAPurQoQlBDUQ91ZtcjXiuTqilz
O6haXmJyZbUz/CFA9Go0Ka+DGNeW76RRh3gfljMhGAFz23b+/Zl8PwMhqQeS
F8orF1GhMQA6i8gWZfdTk7WrgqyoNnrP1IXO4Hvulw1BmQRGd33R+5r2WTKS
zGQtqQrVIs9Qf3jWaGmXzscss/RjFeOA5ZBBC1LZb62ExMFQxVcm2fPKPlJu
kHEDBmXi31Aj1iP2IRWFIHHOA82n/qA+qAYFkkWSmobB3IZ5JxvD7BbVK6J9
5qL3rgzwt0uoKrpbvu00CCGmnBXyouCfKe1TzS/ilLJixwqX2S8WuAoxs0pv
D7I2wxJTwXZF/aBRoVFwHAQ5d2W90kIPPSTP6V9UiGDf1V3LaOR5uGQ11gwQ
shjLy6KVOeVQIhix1Kxx/kWSbMTwfwJoZS07D+SnYq/QNRY1j4hx4Df+Vd2z
sxxYlaK6sRD/AJCb41sTec4XxmxvBPQxn7+PZ4IVk+BWe+aMyzCv9bi8dMYM
xp/M+wjRJxq9LiExWWouzrVZAd+8ycy04GbaXpSe3It98fLpV081svayAUEV
i9e3cEjsFuFp5T3W1+UPSNe0HSBMpTjr7bUWCCPc3ytU3tqfZtMbfHqPmI4F
ZLKlPGXlvnr69EWfqml5W0VRcpjO3qV8jDYCxeawnje2RGexjQZZeqsIGdpA
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
37S8GtoQgJ828+yX5y+CtaOELe/XAziMmxSGWFxMB19bVFb9ExTjTDARy95R
OjMlJz/ZXc8q9fkaDwYUWsshcYPQSRWblJqBPRYeqhxjkkv8YrklsJQSGljq
lbK60cyVIdncHXN3XAHM3kk9kBI/SivkuxIFCTppYRidEfWKizyWKX6AVHcZ
Q+JUZunPT4JFHtSwqR5KPj7GJtGQQRVPke/77eBlBlVg0olIM6HZ4F00d2Xa
QwnsNQ3h999/j0fmwgRJqFv+1deHdw5u0V2bH+x/fffOIVvkd4NvGNeOpe8t
EPytNyD+rDrlNUbPAToqd6EYduy2Dtr5Lw0rMvPeuZD3TmemdgiAdxHMhveC
ZQtMAinnBVqhJkstEOa/L+smYVK1iKPUfKvtF7s7brAdVw9raqRABCGSa+re
ua/Om1oQD2pWEyH8heSw0s5QXiRPOVQZfCZz80VQjF52yNiGx3Dub3H28oz7
B/AO/X5Y9uerieD+LDyKSa6zSbci85GMRCA/JMDSYXxvfvfdTWyarpMmSQNK
FE7ysuata/hkyuxK9ywDbbuPkJcmqkT16m1QA1EbSVi17HSbmohTbx6MuAxW
NcSMl4VzAyuOzCe2pFwpX9ItXM8ZfCm18AMwMCOOCIKOOR0DPU4q9ykhvkSH
uH5oZhbVBiyV2QbFMqkT1orXoBrzE7Cyo4j8N+8PXYhV2Zyxg91R1pGbXeDV
xZi/Kg5mdybTbOu+KZo5t3b21WU8prHo4svZXeCmvORz4bUOfn2a59/MDu6a
bq2UQ5Lasez6IHcfHygX1WR3g8g6TH0xmlQRH8XvXjx6Fvz1a2e8A/79imHq
aaHZWVK27alVOyiKR0fFK4QwOhvh1zR28WMse6sm/wzbJ0N2sHeg1/N/z4/8
4+L2/n7xy0+hOOTHmjqYvYjr+6hI69Eu49jPkIjbxne3v/eVXy+/f1I3Z0fF
t9f06AGOb/dHHqgc3dPr7PKqnR+Fg33+PZ6Wj+KnD7fYJKbFk7JtL+x7OEYd
4ez9vN/Ka/51edEvz2EI/xrnWhzpX+LZd3X8v/+aL1dV6j/O3fHCg28Ob2cf
tfFZbUwJbSxXe0bCv43rrlps+US3Lj9S1vOZxnHiExzmT/Ay1Rqh0HsNysIX
0Vx0WoJYV93Oc12fv9p5jjj4dw9u79/5889iV75Sr9OnG/fMtDoYzRcr4YtI
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

-->

</rfc>
