Re: [decade] Object naming in -req and -arch

Stephen Farrell <stephen.farrell@cs.tcd.ie> Wed, 04 July 2012 21:08 UTC

Return-Path: <stephen.farrell@cs.tcd.ie>
X-Original-To: decade@ietfa.amsl.com
Delivered-To: decade@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 220EC21F84F3 for <decade@ietfa.amsl.com>; Wed, 4 Jul 2012 14:08:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.299
X-Spam-Level:
X-Spam-Status: No, score=-102.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_63=0.6, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L6+b0wV7A0En for <decade@ietfa.amsl.com>; Wed, 4 Jul 2012 14:08:27 -0700 (PDT)
Received: from scss.tcd.ie (hermes.scss.tcd.ie [IPv6:2001:770:10:200:889f:cdff:fe8d:ccd2]) by ietfa.amsl.com (Postfix) with ESMTP id 1BD6721F84F6 for <DECADE@ietf.org>; Wed, 4 Jul 2012 14:08:27 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by hermes.scss.tcd.ie (Postfix) with ESMTP id 5182815754B; Wed, 4 Jul 2012 22:08:38 +0100 (IST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cs.tcd.ie; h= content-transfer-encoding:content-type:in-reply-to:references :subject:mime-version:user-agent:from:date:message-id:received :received:x-virus-scanned; s=cs; t=1341436117; bh=5WpOk/pQjplhnU LHvCCFG1+Wwb856N5OXDawBM6TuCg=; b=WMLtKK19IwywfMVnE9kdoN9gmZhU2Y 3RmQ9tyig1Dz3/q1LYaOcFMMBIrhFZGXuVmNi1rh5IxKb+y04FMRS800FFDsyS+X uCg0CtcXMU6YTwmYa+GzQoPOBRbbUEOrX63NVFctS8f0hU6Yv5/xsKVinMMuBbin ey0TiXPjdkb9sX8tvX5MmS34O1M+CCPoyFw0B6qszM3HtIS4u8+ssGm9e1c2U8Mq rKuOIwPKryofewZeVlZbj/22RbmXpEFk4Xs2khlMtHVAUGIfVhfzIZWCqx2IRPhn WUVqRxuPxn0ineYnGr4KL7owhglGB01LCXvYoxAyMmPl0o9UnYvMVfRg==
X-Virus-Scanned: Debian amavisd-new at scss.tcd.ie
Received: from scss.tcd.ie ([127.0.0.1]) by localhost (scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10027) with ESMTP id N-qqq9HRBzQj; Wed, 4 Jul 2012 22:08:37 +0100 (IST)
Received: from [10.87.48.11] (unknown [86.41.15.232]) by smtp.scss.tcd.ie (Postfix) with ESMTPSA id B7F0B17147F; Wed, 4 Jul 2012 22:08:37 +0100 (IST)
Message-ID: <4FF4B0D5.40906@cs.tcd.ie>
Date: Wed, 04 Jul 2012 22:08:37 +0100
From: Stephen Farrell <stephen.farrell@cs.tcd.ie>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1
MIME-Version: 1.0
To: "pzhang.thu" <pzhang.thu@gmail.com>
References: <20120703003402663560214@gmail.com>, <4FF2ACC3.1020004@cs.tcd.ie> <20120704160541638826251@gmail.com>
In-Reply-To: <20120704160541638826251@gmail.com>
X-Enigmail-Version: 1.4.2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: "DECADE@ietf.org" <DECADE@ietf.org>
Subject: Re: [decade] Object naming in -req and -arch
X-BeenThere: decade@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "To start the discussion on DECoupled Application Data Enroute, to discuss the in-network data storage for p2p applications and its access protocol" <decade.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/decade>, <mailto:decade-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/decade>
List-Post: <mailto:decade@ietf.org>
List-Help: <mailto:decade-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/decade>, <mailto:decade-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Jul 2012 21:08:28 -0000

On 07/04/2012 09:05 PM, Zhang Peng wrote:
> Hi Stephen,
> 
> I have read your documents on hash-based naming. It designs a good URI format and mapping scheme to HTTP URL. For DECADE, since our requirements include uniqueness, name-object binding validation, I wonder how we can apply your scheme to meet them. 

ni URIs are as unique as the collision resistance of your hash
function supports basically. If you pick sha-256 that won't be
an issue.

ni URis support name-data integrity (incl. in the code we've
released) which I think is the same as what you're calling
name-object binding validation.

So my answer for both is: just use ni URIs to meet these
requirements:-)

> BTW, can you give more details on what you mean by "meets these requirements"? Thanks.

I meant: if there's some requirement that can't be met using ni URIs,
then I'd like to know about that before its too late. (I realise
that the decade WG might still change reqs of course but wanted to
check now before we're done with our doc.)

S

> B,
> 
> Peng.
> 
> From: Stephen Farrell
> Date: 2012-07-03 03:26
> To: pzhang.thu
> CC: DECADE@ietf.org
> Subject: Re: [decade] Object naming in -req and -arch
> 
> Hiya,
> 
> I guess I hope that our draft (just exited IETF LC) meets
> these requirements. If not, I'd be interested in what's
> missing.
> 
> Cheers,
> S.
> 
> [1] http://tools.ietf.org/html/draft-farrell-decade-ni
> 
> On 07/03/2012 06:34 AM, Zhang Peng wrote:
>> Dear DECADE participants,
>>
>> As pointed out by Richard in previous discussions, both the -req and -arch documents has some paragraphs describing content naming, and they need better organization: some generic requirements should be in -req, while some more specific ones should be in -arch. Here are some suggestions about how to split the content on naming in these two documents. 
>>
>> The rationale for the following split is that I recognize there are two generic requirements, that is, uniqueness, and binding validation. They should be placed in the -req. In -arch, we should present the specific requirements to enable uniqueness, and binding validation, respectively. There are also some more requirements on how to improve the responsiveness of the system, i.e., the support of early name generation. See below for details (references to the original documents are given after each specific requirements):
>>
>> Generic requirements (to be put in -req)
>>
>> 1. It SHOULD ensure that uniqueness of object names. 
>> 2. It SHOULD support the validation of name-object binding.
>> 3. It SHOULD support the operation of DECADE-compatible servers under diverse administrative domains with no coordination. (not sure about what operations are meant here)
>>
>> Specific requirements (to be put in -arch)
>>
>> Requirements to enable uniqueness: 
>> 1. It MAY enable applications to construct unique names by themselves with a high probability (ref: last sentence, pp. 11, -arch). If this is the case, it SHOULD indicate conflicts when duplicate names are constructed (ref: first para, 4.5.1, -req).
>> 2. It MAY support content-dependent hash-based schemes (for general immutable objects), and content-independent enumeration-based schemes (for live streaming) 
>> (ref: 2nd para, pp. 12, -arch)
>>
>> Requirements to enable name-object binding validation:
>> 3. Different name-object binding validation mechanisms MAY be supported, and an application can decide which mechanism to use. (ref: 2nd para, 4.4, -arch)
>> 4. Names MAY be self-describing so that a receiving entity (Content Consumer) knows which mechanism is used (ref: 1st para, pp. 12, -arch)
>> 5. It SHOULD provide the following name elements: (1) A "type" field, (2) Cryptographic data, (3) Application or publisher information. (ref: pp. 12, -arch)
>>
>> More requirements about performance:
>> 6. It SHOULD support the scenarios where a client needs to know the name of a data object before it is completely stored at the server. (This is to let clients advertise the object before having fully uploaded it) (ref: second last para, pp. 12, -arch)
>> 7. It SHOULD support the scenarios where a client need to know the name of a data object before it is locally created. (This is to support live streaming) (ref: last para, pp. 12, -arch)
>>
>> Any comments are welcome, thanks.
>>
>> Peng.