<?xml version='1.0' encoding='US-ASCII'?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY rfc2141 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2141.xml'>
<!ENTITY rfc4234 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4234.xml'>
<!ENTITY rfc3401 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3401.xml'>

<!ENTITY xmlschema PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xmlschema-1-20041028.xml'>
<!ENTITY xmlnames PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-names11-20040204.xml'>
<!ENTITY xml PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-20040204.xml'>
        
    ]>

<rfc number="5134" category="info">
<?rfc rfcedstyle="yes"?>
<?rfc toc="no"?>
<?rfc compact="yes"?>
<?rfc symrefs="no"?>
<?rfc subcompact="no"?>

<front>
<title abbrev="The EPC URN">A Uniform Resource Name Namespace for the
EPCglobal Electronic Product Code (EPC) and Related Standards</title>

   <author initials="M.M." surname="Mealling" fullname="Michael
   Mealling">
    <organization>Refactored Networks, LLC</organization>
    <address>
     <postal>
      <street>1635 Old Hwy 41</street>
        <street>Suite 112, Box 138</street>
      <city>Kennesaw</city> <region>GA</region> <code>30152</code>
      <country>US</country>
      </postal>
      <phone>+1 678 581 9656</phone>
     <email>michael@refactored-networks.com</email>
     <uri>http://www.refactored-networks.com</uri>
    </address>
   </author>

   <date month="January" year="2008" />
   <keyword>Uniform Resource Name</keyword>
   <keyword>Auto-ID, RFID, EPCglobal, EPC</keyword>
  
<!-- [rfced] Please insert any keywords (beyond those that appear in
    the title) for use on http://www.rfc-editor.org/rfcsearch.html. --> 

  <abstract><t>This document describes URN namespaces that will
   identify
   various objects within the EPCglobal system for identifying
   products within ecommerce and supply chain management
   applications.</t>
   </abstract>
</front>
<middle>


<section anchor="Introduction" title="Introduction">
<t>
The <xref target="EPC-Framework">EPCglobal Architecture
Framework</xref>
   is a set of specifications for reading, managing,
   and acting on object codes and other sensor data as physical
   objects pass
   through a supply chain.  Events and metadata about physical objects
   are
   exchanged via EPCglobal Electronic Product Code Information Services (EPCIS) that are essentially
   web
   services that implement agreed upon schema and interfaces.
</t>
<t>
Each object that is tracked by the EPCglobal Architecture Framework is
identified by one or more
managed identifiers. In many cases, these identification systems
existed prior
to the Internet becoming widely used. One such namespace is the <xref
target="gs1">Global Trade Item
Number, or GTIN</xref>.  GTINs are widely used in global commerce and
are managed by 
GS1.  In order for the EPCglobal Architecture Framework to leverage
the Internet to
the fullest extent possible, the GTIN namespace (and others, such as
Global Location
Numbers (GLNs), Serialized Shipping Container Code (SSCC), etc. <xref
target="gs1" />) need to be 
directly compatible with the URI family of identifiers. 
</t>
<t>The use of GTINs, GLNs, and SSCCs are all managed by GS1.  Their use
within the
EPCglobal Architecture Framework is managed by the GS1 subsidiary 
known as EPCglobal, Inc.  For these, and possibly future
identification systems, a single Uniform Resource Name (URN) Namespace
ID (NID)
is being requested: 'epc'.  Each of the identifier namespaces
mentioned will
have a separate sub-space beneath the top level 'epc' NID. 
</t>
<t>In addition to physical object identifiers, the EPCglobal
Architecture Framework requires new namespaces for naming system
components.  In
many cases, an interface within the EPCglobal Architecture Framework is 
<xref target="W3C.REC-xml-20040204">XML</xref> based and as such will
require naming schemes for its <xref
target="W3C.REC-xmlschema-1-20041028">XML schema</xref>
and various <xref
target="W3C.REC-xml-names11-20040204">namespaces</xref>.  For
these uses, another Uniform Resource Name (URN) Namespace ID (NID) is
being requested: 'epcglobal'.  Each specification or system component
within
the EPCglobal Architecture Framework will have a separate sub-space
beneath the top level 'epcglobal' NID.
</t><t>
Since the EPCglobal Architecture Framework is engineered for widespread and general
use, this namespace specification is a formal one, and the namespace
IDs that are being requested are 'epc' and 'epcglobal'.  It is
important to note that it
is the explicit intent that various sub-namespaces of the 'epc' NID
actually name
real, physical objects and/or corporeal entities.  In contrast,
sub-namespaces of the
'epcglobal' NID name logical or software constructs, such as schema
namespaces.
</t>
</section>


<section anchor="epc-Template" title="'epc' Registration Template">
<t>
<list style="hanging">
<t hangText="Namespace ID:"><vspace blankLines="1" />
 <list><t>"epc"</t></list>
 <vspace blankLines="1" />
</t>

<t hangText="Registration Information:"><vspace blankLines="1" />
    <list><t>Registration Version Number: 1</t>
          <t>Registration Date: 2005-02-15</t>
    </list>
<vspace blankLines="1" />
</t>

<t hangText="Declared registrant of the namespace:"><vspace
blankLines="1" />
    <list>
    <t>EPCglobal, Inc. is a subsidiary of GS1</t>
    <t>Princeton Pike Corporate Center</t>
        <t>1009 Lenox Drive, Suite 202</t>
	    <t>Lawrenceville, NJ 08648, USA</t>
        <t>bhogan@epcglobalinc.org</t>
        <t>Tel: +1-609-620-4585</t>
     </list>
<vspace blankLines="1" />
</t>

<t hangText="Declaration of structure:">
  <vspace blankLines="1" />
  <list>
<t>
The normative specification of the structure of the 'epc'
namespace is <xref target="tag-data-standards">"EPC Tag 
Data Standards"</xref>. The examples given below are not normative.
</t>
<vspace blankLines="1" />
<t>The 'epc' namespace is a set of sub-namespaces that can be extended
in the future. The following <xref target="RFC4234">ABNF</xref>
defines how the sub-namespaces are
identified and any restrictions on their syntax (definitions not
specified
below can be found in <xref target="RFC2141">RFC 2141</xref>): 
<figure><artwork><![CDATA[
EPC-URN     = "urn:epc:" sub-ns-name ":" sub-ns
sub-ns-name = let-num [ 1*let-num-hyp ]
sub-ns      = 1*<URN chars>
let-num     = upper / lower / number
let-num-hyp = upper / lower / number / "-"
upper       = %x41-5A ; "A" - "Z"
lower       = %x61-7A ; "a" - "z"
number      = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" /
              "8" / "9"
]]></artwork></figure>
</t>
<t>
For example, the sub-namespace 'sgtin' has the following definition
(this
ABNF is non-normative):
<figure><artwork><![CDATA[
SGTIN-URI        = "urn:epc:id:sgtin:" SGTINURIBody
SGTINURIBody     = 2*(PaddedNumericComponent ".") NumericComponent
NumericComponent = ZeroComponent / NonZeroComponent
ZeroComponent    = "0"
NonZeroComponent = NonZeroDigit *Digit
PaddedNumericComponent = *Digit
Digit = "0" / NonZeroDigit
NonZeroDigit = "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9"
]]></artwork></figure>
This equates to a namespace that has three period separated series
of digits:
<figure><artwork><![CDATA[
                     urn:epc:id:sgtin:900100.0003456.1234567
]]></artwork></figure>
The first series is a company prefix, the second denotes a
product reference assigned by that company, and the third is a
serial number for a specific instance of their product.  Note
that leading zeros are significant.
</t>
<vspace blankLines="1" />
  </list>
</t>

<t hangText="Relevant ancillary documentation:">
  <vspace blankLines="1" />
  <list><t>
         The standards that define the EPCglobal Architecture
  Framework and the
         processes for creating new sub-namespaces are managed by
         EPCglobal, Inc. and can be found on its website.  Several
         sub-namespaces are defined in the <xref
  target="tag-data-standards">"EPC Tag Data Standards"</xref>.
</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Identifier uniqueness considerations:">
  <vspace blankLines="1" />
  <list><t>
The namespaces that make up the 'epc' namespace are all managed by an 
organization with almost 50 years of namespace management
  experience. In all
cases (existing or new), the uniqueness of each namespace is an
  inherent part
of the EPCglobal Architecture Framework.
  </t>
  </list>
  <vspace blankLines="1" />
</t>


<t hangText="Identifier persistence considerations:">
  <vspace blankLines="1" />
  <list><t>The assignment process guarantees that names are not
  reassigned
   and that the binding between the name and its resource
   is permanent, regardless of any standards or organizational
  changes.
   </t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Process of identifier assignment:">
  <vspace blankLines="1" />
  <list><t>
         Names are assigned by the EPCglobal standards publication
         process and by any entities that are sub-delegated by
         EPCglobal.  It is important to note that in many cases the
         names assigned will explicitly denote physical objects and
  not
         an electronic representation of that object.
	   </t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Process of identifier resolution:">
  <vspace blankLines="1" />
  <list><t>
    Certain sub-namespaces are resolved via the Object Naming
         Service, defined in <xref target="ONS-1.0">"Object
  Naming Service (ONS) Version 1.0"</xref>,  which is a valid
  implementation of the Dynamic
         Delegation Discovery System that is defined in <xref
  target="RFC3401">RFC 3401</xref>.
</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Rules for Lexical Equivalence:">
  <vspace blankLines="1" />
  <list><t>The entire URN is case-sensitive.</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Conformance with URN Syntax:">
  <vspace blankLines="1" />
  <list><t>There are no additional characters reserved except as
  noted in the ABNF above.</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Validation mechanism:">
  <vspace blankLines="1" />
  <list><t>
  In the case of each sub-namespace, there will be namespace-specific
rules for determining validity. In each case, the reader is referred to
  the 
appropriate EPCglobal-maintained documentation.
</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Scope:">
  <vspace blankLines="1" />
  <list><t>Global</t>
  </list>
  <vspace blankLines="1" />
</t>
</list>
</t>
</section>



<section anchor="epcglobal-template" title="'epcglobal' Registration
  Template">
<t>
<list style="hanging">
<t hangText="Namespace ID:"><vspace blankLines="1" />
 <list><t>"epcglobal"</t></list>
 <vspace blankLines="1" />
</t>

<t hangText="Registration Information:"><vspace blankLines="1" />
    <list><t>Registration Version Number: 1</t>
          <t>Registration Date: 2007-03-06</t>
    </list>
<vspace blankLines="1" />
</t>

<t hangText="Declared registrant of the namespace:"><vspace
blankLines="1" />
    <list>
    <t>EPCglobal, Inc.  is a subsidiary of GS1</t>
    <t>Princeton Pike Corporate Center</t>
        <t>1009 Lenox Drive, Suite 202</t>
	    <t>Lawrenceville, NJ 08648, USA</t>
        <t>bhogan@epcglobalinc.org</t>
        <t>Tel: +1-609-620-4585</t>
     </list>
<vspace blankLines="1" />
</t>

<t hangText="Declaration of structure:">
  <vspace blankLines="1" />
  <list>
<t>
    The normative specification of the structure of the 'epcglobal'
    namespace are various standards available at EPCglobal's public
    website.  
    The examples given below are not normative.
    </t>
<!--[rfced] Should the above paragraph read "The normative 
  specifications" or "...is a group of various standards..." -->
<vspace blankLines="1" />
  <t>
  The 'epcglobal' namespace is a set of sub-namespaces that can be
    extended in the future.  The following ABNF defines how the
    sub-namespaces are identified and any restrictions on their
    syntax (definitions not specified below can be found in 
    <xref target="RFC2141">RFC 2141</xref>):
<figure><artwork><![CDATA[
EPCGLOBAL-URN = "urn:epcglobal:" subnsname ":" subns
subnsname     = let-num [ 1*let-num-hyp ]
subns         = 1*<URN chars>
let-num       = upper / lower / number
let-num-hyp   = upper / lower / number / "-"
upper         = %x41-5A ; "A" - "Z"
lower         = %x61-7A ; "a" - "z"
number        = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" /
                "8" / "9"
]]></artwork></figure>
  For example, the identifier "urn:epcglobal:ale:xsd:1" is defined
    in the <xref target="ale1">"Application Level Events 1.0
    Specficiation"</xref> for use
      as an XML namespace identifier for XML documents conforming to
    that specification.
</t>
<vspace blankLines="1" />
  </list>
</t>

<t hangText="Relevant ancillary documentation:">
  <vspace blankLines="1" />
  <list><t>
         The standards that define the EPCglobal Architecture
  Framework and the
         processes for creating new sub-namespaces are managed by
         EPCglobal, Inc. and can be found on its website.  
</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Identifier uniqueness considerations:">
  <vspace blankLines="1" />
  <list><t>
    The namespaces that make up the 'epcglobal' namespace are all
  managed
    by an organization with almost 50 years of namespace management
      experience.  In all cases, the uniqueness of each namespace is an
        inherent part of the EPCglobal Architecture Framework.
  </t>
  </list>
  <vspace blankLines="1" />
</t>


<t hangText="Identifier persistence considerations:">
  <vspace blankLines="1" />
  <list><t>
    The assignment process guarantees that names are not reassigned
      and that the binding between the name and its resource is
      permanent, regardless of any standards or organizational
      changes.
   </t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Process of identifier assignment:">
  <vspace blankLines="1" />
  <list><t>
    Names are assigned by the EPCglobal, Inc. standards publication
  process.
    </t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Process of identifier resolution:">
  <vspace blankLines="1" />
  <list><t>
    No resolution mechanism is required or provided.
</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Rules for Lexical Equivalence:">
  <vspace blankLines="1" />
  <list><t>The entire URN is case-sensitive.</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Conformance with URN Syntax:">
  <vspace blankLines="1" />
  <list><t>There are no additional characters reserved except as
  noted in the ABNF above.</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Validation mechanism:">
  <vspace blankLines="1" />
  <list><t>
  In the case of each sub-namespace, there will be namespace-specific
rules for determining validity. In each case, the reader is referred to
  the 
appropriate EPCglobal-maintained documentation.
</t>
  </list>
  <vspace blankLines="1" />
</t>

<t hangText="Scope:">
  <vspace blankLines="1" />
  <list><t>Global</t>
  </list>
  <vspace blankLines="1" />
</t>

</list>
</t>
</section>


<section anchor="iana-considerations" title="IANA Considerations">
<t>
This document includes two URN Namespace registrations that have been
entered into the IANA registry for URN NIDs.
</t>
</section>

<section anchor="namespace-consideratinos" title="Namespace
Considerations">
<t>
Due to EPCglobal, Inc. being a subsidiary of an internationally
recognized
authority for the identifiers embedded within the 'epc' namespace, as
well
as being the internationally recognized standards body for the
standards
that define identifiers in the 'epcglobal' namespace, these namespaces
represent the best approach to naming products and entities within the
world
of supply chain management and ecommerce in general.  There are no
other
alternative namespaces that have the level of authority and industry
acceptance that the EPC does.
</t>
</section>
<section anchor="community-considerations" title="Community
Considerations">
<t>
The EPCglobal Architecture Framework is intended to bring the Internet
to the
world of supply chain management and beyond. It can be used to tie
physical objects to their
virtual descriptions and as such has many wide ranging applications
for
the average Internet use. Thus, it is very much the intent that this
namespace,
and the entire EPCglobal Architecture Framework, considers the entire
Internet
as the scope of its community.
</t>
</section>

<section anchor="SecurityConsiderations" title="Security
Considerations">
<t>
The EPCglobal Architecture Framework is based almost exclusively on
Internet and Web standards. Thus,
the security impacts of each of its underlying technologies should be
examined
for weaknesses and threats. The primary threats will come from the
fact
that these names will identify physical things that can be of high
value, thus
the temptation to spoof metadata about that identifier (its cost,
size, etc)
will be much greater. Therefore, the role of digital signatures, secure 
resolution mechanisms, and trust relationships is very fundamental to
the
system.
</t>
</section>
</middle>

<back>

<references title="Normative References">
&rfc2141;
&rfc4234;
&rfc3401;


<reference anchor="ONS-1.0">
<front>
<title>EPCglobal Network Object Name Service (ONS) 1.0</title>
<author>
<organization>EPCglobal, Inc.</organization>
</author>
<date year="2003" month="August" day="12"/>
</front>
</reference>


<reference anchor="tag-data-standards">
<front>
<title>EPC(tm) Tag Data Standards Version 1.3</title>
<author>
<organization>EPCglobal, Inc.</organization>
<uri>http://www.epglobalinc.org</uri>
</author>
<date year="2004" month="Feburary" day="12"/>
</front>
</reference>


<reference anchor="EPC-Framework">
<front>
<title>The EPCglobal Architecture Framework</title>

<author initials='K.' surname='Traub' />
<author initials='G.' surname='Allgair' />
<author initials='H.' surname='Barthe' />
<author initials='L.' surname='Burstein' />
<author initials='J.' surname='Garrett' />
<author initials='B.' surname='Hogan' />
<author initials='B.' surname='Rodrigues' />
<author initials='S.' surname='Sarma' />
<author initials='J.' surname='Schmidt' />
<author initials='C.' surname='Schramek' />
<author initials='R.' surname='Stewart' />
<author initials='K.' surname='Suen' />
<date year="2005" month="July" day="12"/>
</front>
</reference>

<reference anchor="gs1">
<front>
<title>GS1 General Specifications v7.1</title>
<author>
    <organization abbrev='GS1'>GS1</organization>
</author>

<date year="2007" month="January" />
</front>
</reference>

<!--
<reference anchor="PML"
target="http://www.epcglobalinc.org/standards_technology/Secure/v1.0/PML_Core_Specification_v1.0.pdf">
<front>
<title>PML Core Specification 1.0</title>
<author>
<organization>EPCglobal, Inc.</organization>
<uri>http://www.epglobalinc.org</uri>
</author>
<date year="2003" month="September" day="15"/>
</front>
<seriesInfo name="EPCglobal" value="PML 1.0"/>
</reference>
-->

<reference anchor="ale1">
<front>
<title>The Application Level Events (ALE) Specification,
   Version 1.0</title>
<author>
<organization>EPCglobal, Inc.</organization>
</author>
<date year="2005" month="September" />
</front>
</reference>

</references>

<references title="Informative References">
&xmlschema;
&xmlnames;
&xml;
</references>

</back>
</rfc>


