Re: [vwrap] [ogpx] type-system : version tag and handling unknown tags

"Robert G. Jakabosky" <bobby@sharedrealm.com> Thu, 01 April 2010 08:08 UTC

Return-Path: <bobby@sharedrealm.com>
X-Original-To: vwrap@core3.amsl.com
Delivered-To: vwrap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6CB613A6A4A for <vwrap@core3.amsl.com>; Thu, 1 Apr 2010 01:08:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.99
X-Spam-Level:
X-Spam-Status: No, score=0.99 tagged_above=-999 required=5 tests=[AWL=0.045, BAYES_40=-0.185, DNS_FROM_OPENWHOIS=1.13]
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 o7mzmmaeuYE3 for <vwrap@core3.amsl.com>; Thu, 1 Apr 2010 01:08:08 -0700 (PDT)
Received: from mail.neoawareness.com (ns2.sharedrealm.com [IPv6:2001:470:1f05:4f4::13]) by core3.amsl.com (Postfix) with ESMTP id 711F33A672E for <vwrap@ietf.org>; Thu, 1 Apr 2010 01:08:07 -0700 (PDT)
Received: from localhost ([127.0.0.1] helo=[10.200.0.30]) by mail.neoawareness.com with esmtpa (Exim 4.69) (envelope-from <bobby@sharedrealm.com>) id 1NxFS9-0003zv-Rx for vwrap@ietf.org; Thu, 01 Apr 2010 01:08:37 -0700
From: "Robert G. Jakabosky" <bobby@sharedrealm.com>
To: vwrap@ietf.org
Date: Thu, 1 Apr 2010 00:08:33 -0800
User-Agent: KMail/1.9.10
References: <b325928b1003281033j1ccaa3dend06ebbce29a13359@mail.gmail.com> <201003282229.21448.bobby@sharedrealm.com> <80CE754B-4BF5-4DA1-A63C-DD18695BF4D0@lindenlab.com>
In-Reply-To: <80CE754B-4BF5-4DA1-A63C-DD18695BF4D0@lindenlab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <201004010108.34044.bobby@sharedrealm.com>
X-SA-Exim-Connect-IP: 127.0.0.1
X-SA-Exim-Mail-From: bobby@sharedrealm.com
X-SA-Exim-Scanned: No (on mail.neoawareness.com); SAEximRunCond expanded to false
Subject: Re: [vwrap] [ogpx] type-system : version tag and handling unknown tags
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual World Region Agent Protocol - IETF working group <vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 08:08:09 -0000

The only use cases I can see for a version field are:
1. A new more compact binary encoding (i.e. remove closing tags, remove 'k' 
tags, variable-length encoded sizes, support for compression codecs).
2. A new basic/container type is added to LLSD.

Case 1 would make the new version completely incompatible with old readers.  
In this case the sender could downgrade to the old format if the reader 
rejected a 2.0 format.

Case 2 would require some type of extension tag in version 1.0 to allow old 
readers to even skip/ignore the new type.  This case would also require 
changes to the JSON & XML encoding formats.  It might not be possible to 
downgrade the LLSD content in this case.  XML readers can ignore unknown 
tags, but what about JSON readers?  LLSD uses all the JSON types, there isn't 
anyway to add an extension that will be ignored by 1.0 readers.

Since LLSD already has three encoding formats defined, there will need to be a 
way (MIME-type/Content-Type) to identify which format was used to encode a 
LLSD message and a way for the client & server to negotiate which formats 
they accept.  So I see no reason for adding a version tag to the binary 
format, when a new MIME-type will provide the same functionality.

-- 
Robert G. Jakabosky