Re: [ESDS] Interaction models for Discovery Services

"Kenneth R. Traub" <kt@alum.mit.edu> Thu, 10 July 2008 15:18 UTC

Return-Path: <esds-bounces@ietf.org>
X-Original-To: esds-archive@optimus.ietf.org
Delivered-To: ietfarch-esds-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 463AD3A688A; Thu, 10 Jul 2008 08:18:06 -0700 (PDT)
X-Original-To: esds@core3.amsl.com
Delivered-To: esds@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7AFB03A683C for <esds@core3.amsl.com>; Thu, 10 Jul 2008 08:18:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.449
X-Spam-Level:
X-Spam-Status: No, score=-2.449 tagged_above=-999 required=5 tests=[AWL=0.150, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PWdsBM2w7E8j for <esds@core3.amsl.com>; Thu, 10 Jul 2008 08:18:03 -0700 (PDT)
Received: from smtp02.lnh.mail.rcn.net (smtp02.lnh.mail.rcn.net [207.172.157.102]) by core3.amsl.com (Postfix) with ESMTP id 1531F3A685C for <esds@ietf.org>; Thu, 10 Jul 2008 08:18:02 -0700 (PDT)
Received: from mr02.lnh.mail.rcn.net ([207.172.157.22]) by smtp02.lnh.mail.rcn.net with ESMTP; 10 Jul 2008 11:18:18 -0400
Received: from smtp01.lnh.mail.rcn.net (smtp01.lnh.mail.rcn.net [207.172.4.11]) by mr02.lnh.mail.rcn.net (MOS 3.8.6-GA) with ESMTP id OVN93136; Thu, 10 Jul 2008 11:18:16 -0400 (EDT)
Received: from 209-6-134-118.c3-0.lex-ubr3.sbo-lex.ma.cable.rcn.com (HELO Ulysses) ([209.6.134.118]) by smtp01.lnh.mail.rcn.net with ESMTP; 10 Jul 2008 11:18:01 -0400
From: "Kenneth R. Traub" <kt@alum.mit.edu>
To: 'Mark Harrison' <mark.harrison@cantab.net>
References: <8438190C-CAE5-4D1F-8FD6-758D7C909DAF@cantab.net><4875FAD4.9010808@hut.fi> <F1E8CE72-929D-408D-BB79-080B636CDCEF@cantab.net> <E4D3C33AACB84BB6A2FCFCE18A6CD6F3@Ulysses> <1A707C8E-C299-44CC-BCEB-28CA114B6615@cantab.net>
In-Reply-To: <1A707C8E-C299-44CC-BCEB-28CA114B6615@cantab.net>
Date: Thu, 10 Jul 2008 11:17:59 -0400
Message-ID: <611BCB5BAFD141CC94BC614CE2853EA5@Ulysses>
MIME-Version: 1.0
X-Mailer: Microsoft Office Outlook 11
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18000
Thread-Index: AcjilZuuA5DSbL4kQX6w2oJXnzxtCgAAE0IQ
X-Junkmail-Status: score=10/50, host=mr02.lnh.mail.rcn.net
X-Junkmail-SD-Raw: score=unknown, refid=str=0001.0A010204.48762839.007D,ss=1,fgs=0, ip=207.172.4.11, so=2007-10-30 19:00:17, dmn=5.4.3/2008-02-01
X-Junkmail-IWF: false
Cc: "'\"'Kary Främling'\"'" <Kary.Framling@hut.fi>, esds@ietf.org
Subject: Re: [ESDS] Interaction models for Discovery Services
X-BeenThere: esds@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "Discussion of the ESDS \(Extensible Supplychain Discovery Service\)" <esds.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/esds>, <mailto:esds-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/esds>
List-Post: <mailto:esds@ietf.org>
List-Help: <mailto:esds-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/esds>, <mailto:esds-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: esds-bounces@ietf.org
Errors-To: esds-bounces@ietf.org

> In practice, all currently defined EPC identifier schemes have URI
representations (in fact URNs) - although it is conceivable that a URL could
be used as the identifier (although a URN, Digital Object Identifier (DOI)
or Handle might be less 'fragile' or more likely to be maintained for
long-term resolution).

If an enterprise wishes to create a private identifier, the HTTP URI scheme
is the easiest to use.  All  the enterprise needs is an Internet domain
name, which of course can be obtained rather inexpensively and easily.
There need not be a web page corresponding to that HTTP URL -- it can just
be used as a unique identifier.

In contrast, it's rather difficult for an enterprise to get URNs for private
use.  Registering a new URN namespace with IANA is a tortuous process, and
may take several years to complete.  It's a little easier to apply for a
Private Enterprise Number (PEN) which may be used with OID URNs of the form
urn:oid:1.3.6.1.4.1....  But these are limited to a numeric (though
hierarchical) structure, and are also somewhat obscure.

So... I would indeed expect to find URLs as identifiers, specifically HTTP
URLs used when a single enterprise or small organization wants to use
private identifiers or otherwise embed an existing numbering system into URI
syntax.


> ... The EPCglobal Tag Data Standard defines URI patterns for EPC
identifiers in which wildcard characters  (*) or [lo-hi] ranges indicate
which absolute URIs should match the specified pattern ... Not sure whether
this is based on an established convention for URI patterns (Ken would know
this) - but either the same approach could be adopted for non-EPC URI
patterns - or regular expressions could be used ...

There is no established convention for URI patterns, to my knowledge.  Of
course, many operating systems have a wildcard syntax for filenames, so it's
easy to imagine URI patterns for the file: URI scheme (though I don't
believe the file: scheme actually defines a pattern syntax).

What we did for EPC was entirely ad hoc.

We purposely avoided a powerful syntax like regular expressions, however,
because that presents considerable implementation difficulty.  It's easy to
create a database schema in which EPC patterns can be searched efficiently
(you add columns for each of the individual EPC components, and then a given
pattern translates into a set of conjoined equality or inequality clauses on
each such column).  It would be quite difficult to do that for regexps,
unless the database had built-in support for regular expressions of equal or
greater expressive power.


> The XSD schema files for the Application Level Events (ALE) and EPC
Information Services (EPCIS) standards developed by the EPCglobal community
do not in fact constrain an EPC to be anything other than a URI - so it
seems quite likely that a future EPCglobal standard for Discovery Services
would take a similar approach of 'any URI' for EPCs or individual IDs.

That's entirely true for EPCIS, and indeed I'm familiar with many EPCIS
deployments that use non-EPC URIs (often HTTP URLs as described above).

The situation for ALE is a little different, because where EPCs appear in
ALE they are initimately tied to reading or writing to an RFID tag.  So the
only URIs that may be used there are ones for which a translation to binary
form is defined in the EPC Tag Data Standard; ie, EPC Tag URIs or EPC "raw"
URIs.


> Using structured identifiers and in particular URIs and URI patterns could
have advantages in the operations of a Discovery Service, since URI patterns
could be used as a convenient shorthand for registering or querying about
multiple IDs that have a common URI prefix and a contiguous range of serial
numbers.  They could also be helpful for any high-level indices that might
be used for expressing the scope or identifier types / ranges handled by a
particular DS.

Again, there is no general definition of "URI patterns".  So any notion of
URI pattern matching would have to be defined on a per-URI scheme basis, or
even on a smaller scope (e.g., urn:epc:id:... defines one pattern syntax,
but urn:foobar:... might define a different one).


> Regarding ensuring global uniqueness, as Ken pointed out in his earlier
e-mail, it is possible to prepend a non-URI string with a URI prefix in
order to qualify its namespace and thereby construct a globally unique URI
identifier from a combination of one or more locally unique identifier
strings.

Though to achieve global uniqueness, one can't just prepend any old URI
prefix.  One has to fit the non-URI string into an established URI scheme
that's properly registered with IANA and any other lower-level registration
authority mandated by that scheme.  As noted before, registering a new URI
scheme or URN namespace is probably only within the reach of an industry
consortium or standards body.  HTTP URIs are the easiest thing for
individual enterprises or small organizations, as the only registration
necessary is the purchase of a domain name.

Ken

---
Ken Traub Consulting LLC
+1 (617) 285-4495
kt@alum.mit.edu


_______________________________________________
ESDS mailing list
ESDS@ietf.org
https://www.ietf.org/mailman/listinfo/esds