Re: [Rfid] XML vs. Text vs. Binary

Margaret Wasserman <margaret@thingmagic.com> Fri, 22 July 2005 14:43 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dvykc-0007Bj-Ed; Fri, 22 Jul 2005 10:43:46 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dvyka-0007Be-6X for rfid@megatron.ietf.org; Fri, 22 Jul 2005 10:43:44 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA21257 for <rfid@ietf.org>; Fri, 22 Jul 2005 10:43:41 -0400 (EDT)
Received: from [204.9.221.21] (helo=thingmagic.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1DvzEq-0008Sc-20 for rfid@ietf.org; Fri, 22 Jul 2005 11:15:00 -0400
Received: from [66.30.121.250] (account margaret HELO [192.168.1.105]) by thingmagic.com (CommuniGate Pro SMTP 4.1.8) with ESMTP-TLS id 448589; Fri, 22 Jul 2005 10:37:35 -0400
Mime-Version: 1.0
Message-Id: <p062007ccbf06aca8d9aa@[192.168.1.105]>
In-Reply-To: <B327225C-65DB-44B2-859C-F645C2A36AA1@dbc.mtview.ca.us>
References: <0E03681B885F3B4296B999E34435A16E01234C2B@ms08.mse3.exchange.ms> <p062007c3bf05ec0041ed@[192.168.1.105]> <B327225C-65DB-44B2-859C-F645C2A36AA1@dbc.mtview.ca.us>
Date: Fri, 22 Jul 2005 10:42:04 -0400
To: Marshall Rose <mrose+internet.ietf.rfid@dbc.mtview.ca.us>
From: Margaret Wasserman <margaret@thingmagic.com>
Subject: Re: [Rfid] XML vs. Text vs. Binary
Content-Type: text/plain; charset="us-ascii"; format="flowed"
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 73734d43604d52d23b3eba644a169745
Cc: rfid@ietf.org
X-BeenThere: rfid@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Control and Access of Infrastructure for RFID Operations Discussion List <rfid.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rfid>, <mailto:rfid-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/rfid>
List-Post: <mailto:rfid@lists.ietf.org>
List-Help: <mailto:rfid-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rfid>, <mailto:rfid-request@lists.ietf.org?subject=subscribe>
Sender: rfid-bounces@lists.ietf.org
Errors-To: rfid-bounces@lists.ietf.org

Hi Marshall,

At 8:17 AM +0530 7/22/05, Marshall Rose wrote:
>i guess we'd need to agree on the meaning of specialized before 
>agreeing on this point.

Yes, absolutely.

The distinction I would make is that "specialized" == written 
specifically for this protocol.

A TCP/IP stack, an SSL client and a canonical XML parser aren't 
specialized, because those are widely deployed technologies that are 
used for things other than this specific reader control protocol. 
They are already available for most OS's and HW platforms, there are 
embedded and non-embedded versions of them available, etc.

A parser for a SLRRP-specific text or binary protocol and/or a 
library that understands how to break higher level functions into 
specific SLRRP commands would be "specialized", by my definition.

As an example...
If SNMP's subset of ASN.1 and/or it's BER encoding had been more 
widely used, then there might have been widely deployed, 
non-specialized tools that could encode/decode SNMP PDUs (there 
aren't, unfortunately).  However, SNMP's PDU structure is specific to 
SNMP and requires a specialized tool to parse incoming messages 
and/or format outgoing messages.

IMO, the more we can leverage non-specialized, widely deployed 
technology (such as TCP/IP, SSH or TLS, XML, etc.) on both the client 
and reader sides, the better.  People will be able to build clients 
and/or readers that are stable and robust in much less time if they 
can use tools/libraries for this purpose that have already been 
written and debugged.  It lowers the barrier for entry and (most 
importantly, IMO) makes it possible for anyone with basic Perl, 
Python or Ruby programming skills to interact with a reader using our 
protocol and widely-available tools and libraries.

My preference for using canonical XML is based on three things:

(1) I think that we should focus only on network-connected RFID 
readers.  There are very limited, low-cost DSP-only readers available 
(including one from ThingMagic), but these are embedded modules that 
are accessed over serial lines from a host CPU, and they are included 
in devices like label printers and box folders.  If it is necessary 
to control the RFID reader portion of these devices over the network, 
that will have to be done through the host CPU, anyway.  It isn't 
practical to put TLS/TCP/IP on those embedded devices, so the fact 
that it isn't practical to run an XML parser on those devices is 
moot, IMO.

(2) There are embedded (or embeddable) XML parsers available (like 
expat) that can parse canonical XML using a SAX parser.  These 
parsers are neither CPU-intensive nor memory-intensive compared to a 
TCP/IP stack, DHCP, TFTP (or FTP or both), NTP, a DNS resolver, HTTP, 
TLS, OpenSSL (or your favorite encryption library), some web pages, 
SSH (or Telnet?), some command-line management/configuration tools, 
and all of the code necessary to implement EPC Global's Gen2 
specification including the anti-collision and dense reader mode 
features. I fully expect that all of this (and maybe more -- SNMP, 
MIB-2 and RFID MIBs?) will be available on every network-accessible 
Gen2 RFID reader.

(3) I do not believe that we should design RFID networks so that 
there is a real-time requirement for communication of control data 
between a controller and many readers.  But, even if we did, I cannot 
picture a world in which the XML parsing is a big latency factor in a 
system that involves network transmission of control information over 
TLS/TCP/IP on the same network that is used for the data 
communication.

I understand, though, that some people do not find XML acceptable 
because of its bandwidth requirements...  If that is a real concern 
(and I'd like to see some explanation of why it would be a real 
concern), then I'd like to see if we could address that concern 
through _how_ we encode the information in XML, or through a 
specialized text encoding.  Either approach would still maintain some 
of the benefits of XML -- like the ability to interact with the 
reader using text-processing tools without using a specialized (as 
defined above) parser on the client side.

Margaret




_______________________________________________
Rfid mailing list
Rfid@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/rfid