RFC 6588 INFORMATIONAL IDENTIFIERS · RFID · NAMING

A URN Namespace for ucode

A name format for identifying real-world objects with tags.

On rfc-editor.org ↗
PUBLISHED
April 2012
AUTHORS
C. Ishikawa
STREAM
IETF
UCODE LENGTH
128 bits, extensible in 128-bit increments
HEXADECIMAL REPRESENTATION
32 characters for 128-bit ucode
URN FORMAT
urn:ucode:_<32 hex digits...>
MANAGING ORGANIZATION
Ubiquitous ID Center, sub-organization of T-Engine Forum
DOI
10.17487/RFC6588
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                       C. Ishikawa
Request for Comments: 6588                 YRP Ubiquitous Networking Lab
Category: Informational                                       April 2012
ISSN: 2070-1721


                       A URN Namespace for ucode

Abstract

   This document describes a Uniform Resource Name (URN) namespace for
   ucode, an identifier system for objects and places.  ucode technology
   is used in many applications, and this document provides a URN
   namespace for ucode to enable its use in Internet-related devices and
   software.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6588.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

1.  Introduction

   ucode [UCODE] is an identifier to be stored in many types of tags
   (not limited to Radio Frequency Identification (RFID) tags).  Its
   allocation and management is handled by the Ubiquitous ID Center
   [UIDC].  The embedding of ucode in many types of tags (RFID tags,
   optical code, infrared markers, and even sound source) is also
   specified by the Ubiquitous ID Center.

   The basic length of ucode is 128 bits, but it is extensible in units
   of 128 bits if necessary.

   ucode has been devised to identify objects and places where existing
   standards do not fit the application needs or the scope of the
   applications or where the allocation policy of existing standards is
   too limited for Small and Medium Enterprises (SMEs), small-scale
   research laboratories at academic institutions, or individual users.

   Applications that use ucode take advantage of the Internet
   extensively.  Use of ucode is open to anybody.  Those who wish to
   have ucode allocated can do so either by having ucode subspace
   allocated to them directly from the Ubiquitous ID Center [UIDC] or by
   obtaining tags that have pre-stored ucode from so called "providers"
   [UCDMIP].  Such tags are certified as ucode tags [UIDTAG], and the
   reader specifications are published so that there will be many
   readers available for such tags.

   By having a URN for ucode, we can facilitate the use of ucode in many
   Internet-related devices and software for the benefit of existing and
   future users of ucode and people who will access such tags attached
   to objects and places.  Since an application based on ucode can run
   across organizational boundaries and spread across regions and
   countries, a formal URN Namespace Identifier (NID) assignment for
   'ucode' is requested.

2.  'ucode' Registration Template

   Namespace ID:

   'ucode' requested

   Registration Information:

   Registration Version Number: 1
   Registration Date: 2011-12-21
   Declared registrant of the namespace:

   T-Engine Forum
   2-20-1, Nishi-Gotanda
   Shinagawa, Tokyo, 141-0031
   Japan
   office@t-engine.org
   Tel: +81-3-5437-0572

   Declaration of syntactic structure:

   The structure of the namespace for 'ucode' using the hexadecimal
   representation of the identifier is as follows using ABNF [RFC5234].

   UCODE-URN = "urn:ucode:" ucode-name
   ucode-name = "_" ucode-number
   ucode-number = 1*ucode-value
   ucode-value = 32HEXDIG
   HEXDIG         =  DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
   DIGIT          =  %x30-39
                  ; 0-9

   NOTE 1:  "1*" at the start of the ucode-number definition is not a
   typo.  Although the currently used ucode [UCODE] is 128 bits (16
   octets), thus requiring 32 hexadecimal characters to represent
   serially, ucode is designed to be extensible in increments of 128
   bits.  So, in the distant future, we may need to repeat the chunks of
   128 bits.  This is why "1*" precedes ucode-value.

   NOTE 2:  ucode-name starts with a "_" because it is also intended to
   be used as an identifier for XML [W3CXML].  Because an XML tag can't
   start with a digit, an "_" (underscore) is inserted at the beginning
   to make sure ucode-name starts with a non-digit.  For example, the
   128-bit ucode value 0123456789ABCDEF0123456789ABCDEF, expressed in a
   series of hexadecimal digits, is as follows:

   urn:ucode:_0123456789ABCDEF0123456789ABCDEF

   Relevant ancillary documentation:

   ucode, the identifier expressed by ucode-number, is managed by the
   Ubiquitous ID Center [UIDC], which is a sub-organization of the
   T-Engine Forum [TEF].  The document "Ubiquitous Code: ucode" [UCODE]
   defines this identifier system.

   Identifier uniqueness considerations:

   The 'ucode' namespace is managed by the Ubiquitous ID Center.  The
   Ubiquitous ID Center assigns the identifier, ucode, in such a way
   that the uniqueness of the 'ucode' namespace will be maintained.

   Identifier persistence considerations:

   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 or the
   assignment period.

   Process of identifier assignment:

   Names are assigned by the Ubiquitous ID Center and by any entities
   that are sub-delegated by the Ubiquitous ID Center.  This assignment
   process is based on "ucode Management Implementing Procedures"
   [UCDMIP] established by the Ubiquitous ID Center.

   Process of identifier resolution:

   The process of identifier resolution is currently based on the "ucode
   Resolution Protocol" [UCSURP].  It will be enhanced by using newer
   recommendations from ITU-T and/or standards from ISO.

   Rules for lexical equivalence:

   The entire UCODE-URN is case-sensitive.

   NOTE: This is an additional restriction imposed on the ucode
   namespace by the requirements of some major applications of ucode in
   existence.  Only capital "A", "B", "C", ..., "F" are allowed as part
   of hexadecimal characters.

   Conformance with URN syntax:

   There are no special reserved characters.  The URN of this namespace
   conforms to RFC 2141 [RFC2141] and RFC 3986 [RFC3986].

   Validation mechanism:

   No special considerations.

   Scope:

   Global.

3.  IANA Considerations

   One URN Namespace registration for 'ucode'  (46) has been entered
   into the IANA "Formal URN Namespaces" sub-registry for URN NIDs.

4.  Namespace Considerations

   ucode, the identifier expressed by ucode-number, is a unique
   identification number to identify a tangible object or a place.
   Additionally, ucode can be assigned to "content" or "information"
   that does not exist in the real world or a "concept" that is yet more
   abstract.

   ucode has been devised to identify objects and places where existing
   standards do not fit the application needs or the scope of the
   applications or where the allocation policy of existing standards is
   too limited for SMEs, small-scale research laboratories at academic
   institutions, or individual users.

   ucode is only an identification number, and its value (or its sub-
   bitfields) does not contain any pre-assigned meaning.  Any relevant
   information about the object or place to which a ucode is assigned is
   stored in a data server that can be reached after a "resolution
   process" [UCSURP].  This resolution process usually occurs over the
   Internet.

   ucode can be assigned to an object to be identified regardless of the
   type of application.  ucode is expected to be stored in any kind of
   tags (2D optical code, RFID, etc.), and it provides a framework where
   anyone can obtain unique numbers for identification purposes.

   ucode has been designed to provide the services outlined in ITU-T
   Recommendation F.771 [ITU-T-F771] and to operate in the framework of
   ITU-T Recommendation H.621 [ITU-T-H621].

   ucode architecture is general enough to cover many applications for
   the users.

5.  Community Considerations

   This namespace enables ucode to be stored in tags that are designed
   to store URN.  Also, ucode-related information can be described as
   metadata using the URN namespace.  Thus, the namespace facilitates
   the exchange of descriptions regarding objects and places among
   multiple organizations.

   It is expected that many small-scale providers will offer ucode tags
   to small users and that large scale providers will hand out millions
   of tags to users.

   The resolution servers and applications will be available to general
   users with appropriate access control over the Internet.  The
   published specification for resolver and access services for 'ucode'
   allows the creation of client software for many types of computers
   including small mobile terminals and ever-popular smartphones.

6.  Security Considerations

   There are no additional security considerations other than those
   normally associated with the use and resolution of URNs in general.

7.  References

7.1.  Normative References

   [UCODE]      T-Engine Forum, Ubiquitous ID Center, "ucode: Ubiquitous
                Code", UID-00010,
                <http://www.uidcenter.org/spec#UID-00010>.

   [UCDMIP]     T-Engine Forum, Ubiquitous ID Center, "ucode Management
                Implementing Procedures", UID-00034,
                <http://www.uidcenter.org/spec#UID-00034>.

   [UCSURP]     T-Engine Forum, Ubiquitous ID Center, "Simplified ucode
                Resolution Protocol", UID-00005,
                <http://www.uidcenter.org/spec#UID-00005>.

   [UIDTAG]     T-Engine Forum, Ubiquitous ID Center, "ucode Tag
                Architecture", UID-00017,
                <http://www.uidcenter.org/spec#UID-00017>.

   [RFC2141]    Moats, R., "URN Syntax", RFC 2141, May 1997.

   [RFC3986]    Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
                Resource Identifier (URI): Generic Syntax", STD 66, RFC
                3986, January 2005.

   [RFC5234]    Crocker, D., Ed., and P. Overell, "Augmented BNF for
                Syntax Specifications: ABNF", STD 68, RFC 5234, January
                2008.

   [ITU-T-F771] ITU-T, "Service description and requirements for
                multimedia information access triggered by tag-based
                identification", ITU-T Recommendation F.771,
                <http://www.itu.int/rec/T-REC-F.771-200808-I>.

   [ITU-T-H621] ITU-T, "Architecture of a system for multimedia
                information access triggered by tag-based
                identification", ITU-T Recommendation H.621,
                <http://www.itu.int/rec/T-REC-H.621-200808-I>.

7.2  Informative References

   [W3CXML]     W3C, "Extensible Markup Language (XML) 1.1",
                <http://www.w3.org/TR/xml11/>.

   [UIDC]       Ubiquitous ID Center, <http://www.uidcenter.org/>.

   [TEF]        T-Engine Forum, <http://www.t-engine.org/>.

8.  Acknowledgments

   The author would like to thank Peter Saint-Andre, the Document
   Shepherd/Responsible Area Director for this document, for providing
   valuable suggestions.  The author would also like to thank the
   following people who helped to improve this document:

   Adrian Farrel

   David Harrington

   Pete Resnick

   Stephen Farrel

   Ted Hardie

   Wesley Eddy

   The author would also like to thank the members of T-Engine Forum who
   have built prototype and real-world applications using ucode and
   offered valuable feedback.  Application examples from these members
   can be found on the Ubiquitous ID Center web site [UIDC] and on
   www.youtube.com (search for "uidcenter" without the quotes).

9.  Contributors

   Ken Sakamura

   Noboru Koshizuka

   Katsunori Shindo

   Tomonori Usaka

   Past and current members of the uID architecture group at the
   University of Tokyo and the YRP Ubiquitous Networking Laboratory (YRP
   UNL)

Author's Address

   Chiaki Ishikawa
   YRP Ubiquitous Networking Laboratory
   2-20-1, Nishi-Gotanda
   Shinagawa, Tokyo, 141-0031
   Japan

   Tel: +81-3-5437-2270
   FAX: +81-3-5437-2271
   EMail: chiaki.ishikawa@ubin.jp

AI ELI5

On this page
PROBLEMucode is a 128-bit identifier system for tagging objects and places, managed by Japan's Ubiquitous ID Center. Developers wanted to use ucode with Internet protocols but needed an official URN (Uniform Resource Name) namespace to do so.
MECHANISMRFC 6588 registers 'ucode' as a formal URN namespace identifier, defining the syntax, structure, uniqueness guarantees and resolution process for ucode identifiers in the format urn:ucode:_<32-hex-digits>.
OPENS UCODE TO INTERNET USEApplications can now embed ucode identifiers in tags (RFID, optical codes, infrared) and reference them on the Internet as URNs, enabling small organizations and individuals to label objects without expensive licensing of existing identifier systems.

§1What is ucode?

ucode is a 128-bit identifier system for objects and places, managed by the Ubiquitous ID Center, a sub-organization of Japan's T-Engine Forum. The identifier was created to fill a gap where existing identifier standards did not fit application needs or had allocation policies that were too restrictive for small and medium enterprises (SMEs), academic research labs, or individual users. The basic ucode length is 128 bits (16 bytes, or 32 hexadecimal digits), and it is extensible in 128-bit increments if longer identifiers are needed. ucode can be embedded in many types of tags: RFID tags, 2D optical codes, infrared markers, and even sound sources. Unlike identifiers that encode meaning in their bit structure, ucode is opaque—any relevant information about the object is stored separately on a resolution server reachable over the Internet. Applications using ucode take advantage of Internet connectivity; for example, a smartphone can scan a QR code containing ucode, query a server to retrieve information about the object, and display it to the user. The ucode system was designed to be compatible with ITU-T Recommendation F.771 (multimedia information access triggered by tag-based identification) and ITU-T Recommendation H.621 (architecture for such systems).

ucode is a number you can put on a physical thing—a tag on a product, a label on a place. Anybody can get numbers, unlike expensive barcodes. Software looks up the number on the internet to find information about the thing.

§2The URN Namespace and Syntax

A URN (Uniform Resource Name) is a persistent identifier that can be used on the Internet, similar to a URL but not bound to a physical location. The RFC registers ucode as a formal URN Namespace Identifier (NID), enabling ucode to be used in the format urn:ucode:identifier. The syntax is defined in ABNF (Augmented Backus-Naur Form) as: ucode URNs take the form urn:ucode:_ followed by one or more 32-character hexadecimal strings (for future extensibility beyond the current 128 bits). For example, a 128-bit ucode with the hexadecimal value 0123456789ABCDEF0123456789ABCDEF is written as urn:ucode:_0123456789ABCDEF0123456789ABCDEF. The underscore prefix is required to make the identifier compatible with XML tag naming rules, which do not allow tags to start with a digit. The entire URN is case-sensitive, and only capital letters A through F are allowed in hexadecimal digits, not lowercase. The namespace conforms to RFC 2141 (URN Syntax) and RFC 3986 (URI Generic Syntax).

A ucode URN is like a web address for a physical object. It always starts with urn:ucode: followed by the 32-digit code. The underscore at the start lets it work with XML.

§3How ucode is Managed and Resolved

The Ubiquitous ID Center maintains the ucode namespace and assigns identifiers in a way that guarantees uniqueness. Uniqueness is assured because all identifiers are assigned from a single registry managed by the Center. Identifiers are never reassigned, and the binding between a ucode and its assigned owner is permanent, regardless of organizational changes or assignment periods. Subspace allocation and delegation are possible: the Ubiquitous ID Center can sub-delegate assignment authority to other organizations. All assignment follows the ucode Management Implementing Procedures (UCDMIP) established by the Center. Identifier resolution—looking up what a ucode refers to—is currently handled by the ucode Resolution Protocol (UCSURP), which is published by the Center. The RFC notes that the resolution process will be enhanced using newer recommendations from ITU-T and standards from ISO in the future. Applications that encounter a ucode URN can use standard URN resolution mechanisms to query a resolver server and obtain metadata about the object or place the ucode identifies.

The Ubiquitous ID Center keeps the master list of codes and makes sure each one is unique. When a program finds a code, it can ask a server 'what is this code for?' and get back information about the thing.

§4Benefits for Small Organizations and Communities

The URN namespace registration enables ucode to be used in Internet protocols and software for the first time. Before this RFC, ucode was managed outside the IETF framework and could not be formally referenced in Internet specifications. With a registered URN namespace, ucode can be stored directly in tags designed to store URNs, metadata about objects can be exchanged using standard formats, and application developers can build ucode support into widespread platforms. The RFC emphasizes that this is particularly beneficial for small-scale providers, SMEs, academic research labs, and individual users who would otherwise have to use existing identifier systems that require expensive licensing or membership fees. Because ucode assignment is open to anyone who applies to the Ubiquitous ID Center or purchases pre-assigned tags from certified providers, the system provides an alternative to closed identifier systems. Applications can now be developed by client software for many types of devices, including smartphones and mobile terminals. The RFC also notes that the resolution servers and applications will be available to general users with appropriate access control, enabling widespread adoption.

Small groups and individuals can now use ucode like big companies use barcodes. The internet recognizes it as a real identifier system. This is cheaper and more flexible than traditional bar codes.

§5References

[RFC2141]RFC 2141Moats, R., "URN Syntax", RFC 2141, May 1997.May 1997[RFC3986]RFC 3986Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.January 2005[RFC5234]RFC 5234Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.January 2008
[UCODE]T-Engine Forum, Ubiquitous ID Center, "ucode: Ubiquitous Code", UID-00010.
[UCDMIP]T-Engine Forum, Ubiquitous ID Center, "ucode Management Implementing Procedures", UID-00034.
[UCSURP]T-Engine Forum, Ubiquitous ID Center, "Simplified ucode Resolution Protocol", UID-00005.