This is a purely informative rendering of an RFC that includes verified errata. This rendering may not be used as a reference.
The following 'Verified' errata have been incorporated in this document:
EID 3188, EID 3189
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 = 32UCHEXDIG
| UCHEXDIG = %x30-39 / 0x41-46 ; digits 0..9, uppercase A..F
|
EID 3188 (Verified) is as follows:Section: 2, pg.3
Original Text:
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
Corrected Text:
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 = 32UCHEXDIG
| UCHEXDIG = %x30-39 / 0x41-46 ; digits 0..9, uppercase A..F
|
Notes:
Note: The above clause is part of the 'ucode' URN Namespace Registration Template, so the above correction needs to be applied to the template archived at IANA as well.
Rationale: The maintainers of the namespace intended to admit only uppercase letters in the hexadecimal representation, in order to accomodate usage of assigned <ucode-value>s in case-sensitive XML context; this is specified in other parts of the RFC, but should be specified also in the formal definition. According to the ABNF Standard, RFC 5234, string literals in ABNF are explicitly case-insensitive (cf. page 5 of RFC 5234).
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 Namespace-Specific String (NSS) in 'ucode' URNs
| (i.e. the <ucode-name> in the ABNF) is case-sensitive.
| So this namespace imposes no additional lexical equivalences
| beyond what is specified in RFC 2141 (i.e., according to
| RFC 2141, the "urn:ucode:" part is case-insensitive, the NSS
| is not).
EID 3189 (Verified) is as follows:Section: 2, pg.4
Original Text:
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.
Corrected Text:
Rules for lexical equivalence:
| The Namespace-Specific String (NSS) in 'ucode' URNs
| (i.e. the <ucode-name> in the ABNF) is case-sensitive.
| So this namespace imposes no additional lexical equivalences
| beyond what is specified in RFC 2141 (i.e., according to
| RFC 2141, the "urn:ucode:" part is case-insensitive, the NSS
| is not).
Notes:
Note: The above clause is part of the 'ucode' URN Namespace Registration Template, so the above correction needs to be applied to the template archived at IANA as well.
Rationale: The RFC text violates Section 5 of RFC 2141, which specifies that the case-insensitivity of the URI Scheme ("URN") and the URN Namespace ID (NID) cannot be overridden by a URN Namespace registration. It was the intent of the maintainers of the 'ucode' namespace to follow RFC 2141, but the language in the RFC has happened to indicate otherwise.
The correction of the ABNF recorded in Errata Note #3188 makes the original NOTE superflous, since the corrected ABNF now precisely specifies what this NOTE intended to superimpose on the original ABNF in the RFC.
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