Internet Engineering Task Force (IETF)
Request for Comments: 6588
Category: Informational
ISSN: 2070-1721
C. Ishikawa
YRP Ubiquitous Networking Lab
April 2012

A URN Namespace for ucode


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

Copyright Notice

Copyright © 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 ( 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
   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:

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.



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,
   [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,
   [UIDTAG]     T-Engine Forum, Ubiquitous ID Center, "ucode Tag
                Architecture", 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
   [ITU-T-F771] ITU-T, "Service description and requirements for
                multimedia information access triggered by tag-based
                identification", ITU-T Recommendation F.771,
   [ITU-T-H621] ITU-T, "Architecture of a system for multimedia
                information access triggered by tag-based
                identification", ITU-T Recommendation H.621,

7.2 Informative References

   [W3CXML]     W3C, "Extensible Markup Language (XML) 1.1",
   [UIDC]       Ubiquitous ID Center, <>.
   [TEF]        T-Engine Forum, <>.

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 (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
   Tel: +81-3-5437-2270
   FAX: +81-3-5437-2271