Re: [P2PSIP] WGLC for draft-ietf-p2psip-service-discovery-06

Jouni Mäenpää <jouni.maenpaa@ericsson.com> Sat, 16 February 2013 17:55 UTC

Return-Path: <jouni.maenpaa@ericsson.com>
X-Original-To: p2psip@ietfa.amsl.com
Delivered-To: p2psip@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C44A821F8970 for <p2psip@ietfa.amsl.com>; Sat, 16 Feb 2013 09:55:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.749
X-Spam-Level:
X-Spam-Status: No, score=-4.749 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_SE=0.35, J_CHICKENPOX_12=0.6, J_CHICKENPOX_15=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id APCg1mQV2bat for <p2psip@ietfa.amsl.com>; Sat, 16 Feb 2013 09:55:55 -0800 (PST)
Received: from mailgw2.ericsson.se (mailgw2.ericsson.se [193.180.251.37]) by ietfa.amsl.com (Postfix) with ESMTP id D41BA21F8964 for <p2psip@ietf.org>; Sat, 16 Feb 2013 09:55:54 -0800 (PST)
X-AuditID: c1b4fb25-b7f366d000004d10-f0-511fc829bda9
Received: from ESESSHC017.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw2.ericsson.se (Symantec Mail Security) with SMTP id CD.1B.19728.928CF115; Sat, 16 Feb 2013 18:55:53 +0100 (CET)
Received: from ESESSMB305.ericsson.se ([169.254.5.61]) by ESESSHC017.ericsson.se ([153.88.183.69]) with mapi id 14.02.0318.004; Sat, 16 Feb 2013 18:55:53 +0100
From: Jouni Mäenpää <jouni.maenpaa@ericsson.com>
To: Marc Petit-Huguenin <petithug@acm.org>, Joscha Schneider <j.schneider@hs-mannheim.de>
Thread-Topic: [P2PSIP] WGLC for draft-ietf-p2psip-service-discovery-06
Thread-Index: AQHOCuV2i3CDhCh/50uVYPVOI0rEM5h6qB+AgABqnICAAbIJQA==
Date: Sat, 16 Feb 2013 17:55:53 +0000
Message-ID: <27112A697EB8204D9943EAB8A0E16B710753ED3E@ESESSMB305.ericsson.se>
References: <1359673911.4472.18.camel@acorde.it.uc3m.es> <511D341E.6060905@acm.org> <511E0E0B.6070103@hs-mannheim.de> <511E6779.80706@acm.org>
In-Reply-To: <511E6779.80706@acm.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.17]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrPLMWRmVeSWpSXmKPExsUyM+Jvja7mCflAg3OPNS1+Td3CZvH/+SkW iyU3zzBaXFhzl8mBxePyFW+PQ8fvMHksWfKTyePL5c9sASxRXDYpqTmZZalF+nYJXBkTlzYy FTwKrpj5VqeBsculi5GTQ0LAROJDwzM2CFtM4sK99UA2F4eQwCFGibM/TzBBOIsZJY7++MgE UsUm4C5x+OZPVhBbRCBa4vfVk+wgNrNAhsSuuT8YQWxhAVeJTX0zoWrcJJ52fWeCsJ0k1nzc zQxiswioSmxp+goW5xXwlbh7YTM7xLJJjBKNpw+xgCQ4gYq+XL0HNogR6Lzvp9YwQSwTl7j1 ZD4TxNkCEkv2nGeGsEUlXj7+B1TPAWQrSizvl4Mo15O4MXUKG4StLbFs4WtmiL2CEidnPmGZ wCg2C8nUWUhaZiFpmYWkZQEjyypG9tzEzJz0cqNNjMBIOrjlt+oOxjvnRA4xSnOwKInzhrte CBASSE8sSc1OTS1ILYovKs1JLT7EyMTBKdXAuE1s8p3NX+celLv9dYreR67+h4uOJB2ec5P3 SvBpxw6RjGevOJg2eG2MkfjcVdrwYs5x248HHj/8/zOktWRflVLTvgu3Him4/DK9GfpNL1Zz V9+fla0WR9St8u5u3Hazvia4wsmr5NCMHbEx67fei3hzY/MB7l651Kz529jOpumx5657L7ia rV6JpTgj0VCLuag4EQAj3rHIcgIAAA==
Cc: "p2psip-chairs@tools.ietf.org" <p2psip-chairs@tools.ietf.org>, "p2psip@ietf.org" <p2psip@ietf.org>
Subject: Re: [P2PSIP] WGLC for draft-ietf-p2psip-service-discovery-06
X-BeenThere: p2psip@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Peer-to-Peer SIP working group discussion list <p2psip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/p2psip>, <mailto:p2psip-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/p2psip>
List-Post: <mailto:p2psip@ietf.org>
List-Help: <mailto:p2psip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/p2psip>, <mailto:p2psip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Feb 2013 17:55:56 -0000

Hi Marc and Joscha,

Thanks for the comments! Answers inline.

Regards,
Jouni

-----Original Message-----
From: p2psip-bounces@ietf.org [mailto:p2psip-bounces@ietf.org] On Behalf Of Joscha Schneider
Sent: 15. helmikuuta 2013 12:30
To: Marc Petit-Huguenin
Cc: p2psip-chairs@tools.ietf.org; p2psip@ietf.org
Subject: Re: [P2PSIP] WGLC for draft-ietf-p2psip-service-discovery-06

I can confirm that the draft might need some improvements to make the implementation easier.
I did a basic implementation but I'm not quite sure that I handled everything correct.

[Jouni]: I'll try to improve the text in the next version of the draft.

Especially the definition of the successor seams a bit unclear for me. A simple example:
Only a single service provider with Node-ID 2 provides a service. Node with ID 7 performs a lookup...
How should it be handled? I implemented it as follows: in case a lookup reveals only a single service provider it must be the direct successor.

[Jouni]: What would happen in this case is that the upward walk of the service lookup reaches the root level because no successor can be found from the lower levels in the tree. In my implementation, when this happens, I'm selecting either the closest successor at the root level or, if there is no successor, select one of the available service providers randomly (or pick the only service provider if there is only one like you are doing in your implementation). Anyway, I'll add text to clarify this to the next version of the draft.

Further notice, due to the periodically triggered re-registration the consistency of the ReDiR tree can not be always ensured. Theoretically this can lead to failed lookup processes.
This derives from the fact that each new service provider registration might affect the re-registration of the former service providers which again might affect the re-registrations of other service providers.

[Jouni]: Not sure about this. I could be wrong, but why would the re-registration of a service provider affect the re-registrations of other service providers? I mean, when a service provider X re-registers or registers, it simply stores its own record at different levels in the ReDiR tree as a part of the upward and downward walks. This re-registration process does not influence the (re-)registrations of other service providers. Or did I understand your comment incorrectly?

more inline...

Regards
Joscha

Am 14.02.2013 19:59, schrieb Marc Petit-Huguenin:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> I did a review of this draft, and I have some concerns.
>
> First of all some parts of the I-D are verbatim copy of the text in 
> the original paper.  Is that OK?

[Jouni]: I guess the main reason for that is that ReDiR is pretty complex to describe. So we took a safe bet and tried to reuse some of the text (the algorithm description) from the paper. But since there are also comments that the text is difficult to follow, I'll make an attempt to reformulate it in the next version of the draft.

> Probably because some of the text comes from a research paper, it was 
> very difficult to understand fro me, and I am not sure that I yet 
> understood everything - I still have to write an implementation of 
> this, and unfortunately to not have enough time to do so before the 
> end of the WGLC.  On the other hand, I know that RELOAD.NET has an 
> implementation, so I guess it is implementable.

[Jouni]: I have also implemented the draft and think I got the implementation right. So if you have any further questions about things that are unclear, let me know and I can check the code to see how that specific thing was implemented (and clarify the same issue in the draft if necessary).

> But I was not able to make sense of something in the example in section 7:
> Why is the 4th peer added to level 0? Bullet 4 in Section 4.3 says 
> "Node N MUST continue [repeating steps 2 and 3] until it reaches 
> either the root or a level a which n.id is not the lowest or highest 
> Node-ID in the interval I(level, n.id)".  In this case 4 is not the 
> lowest or highest Node-ID in the interval (lowest is 2, highest is 7), so why is it added to this node?
I think the example is simply following the rules. At level 1 peer 4 is the lowest. So go up and fetch and store.

[Jouni]: That's correct. Node 4 starts from the starting level, which is level 2. It stores its record on level 2. Since Node-ID 4 is the lowest (only) Node-ID in its interval, the upward walk continues to level 1. At level 1, Node-ID 4 is also the lowest Node-ID in its interval and thus the upward walk continues all the way to the root level. Node 4 stores its record in that level. Since Node-ID is neither the lowest nor highest Node-ID, the upward walk stops at level 0 (although it would stop anyway at level 0 since it is of course not possible to go further up in the tree).

> But if i reveal correct that fact caused a few headaches for 
> me too. Why does the store does not depend on the information 
> that was fetched before?

[Jouni]: That is how it goes - if there has been a decision that the upward walk shall continue to the next level, a record is stored at that level 'automatically', regardless of the contents of the tree node. The contents of the tree node (i.e., whether n.id is sandwiched or not) will influence the decision on whether to stop the upward walk or continue it. The idea in the upward and downward walks is to ensure that the tree is populated densely enough so that service lookups will finish without requiring too many Fetch operations.

> BTW a similar example for the service lookup would be useful.

[Jouni]: Ok, I'll add an example in the next version of the draft.

> More comments:
>
> - - Section 3, 3 paragraph: "contains a list of Node-IDs"
>
> Technically each node is a Dictionary whose keys are Node-IDs and 
> values contain a list of Destinations.

[Jouni]: Ok, I'll modify this in the next version of the draft.

> - - Section 4.1
>
> s/detination_list/destination_list/

[Jouni]: Ok, will change this one also in the next version of the draft.

> - - Section 4.1
>
> namespace is an opaque value but the charset and conversion between 
> character string and byte string for the namespace is not defined.
confirm

[Jouni]: Would specifying that it is an opaque UTF-8 encoded string be enough?

>
> - - Section 8
>
> The document says that the redir namespace is added to the 
> <mandatory-extension> element, meaning that all nodes MUST understand 
> ReDIR, but isn't that against one of the goal of ReDIR, which is that 
> by using standard Store/Fetch, only a node wishing to store or fetch 
> has to implement ReDIR?
I think at least the RedirServiceProvider Data Structure must be supported. And also the Access Control Rules.
But the algorithm might not be mandatory  needed.

The RedirServiceProvider Data Structure does not need to be understood by the peer storing it, but you are right about the Access Control rule.  My own draft about storing the Access Control rule solves this problem but, even if it is accepted as WG item, we do not want to add a normative reference to it.

So I withdraw what I said - redir needs to be a a mandatory extension at least until new access control policies no longer have to be hardcoded.

[Jouni]: Ok, so if I understood correctly, it is ok to leave the text as it is.

> - - Section 10.3
>
> I think that we need a bit more explanation on what the turn-server 
> and voice-mail service providers are.

[Jouni]: I could remove the voice-mail service provider from the next version of the draft as I don't have a good explanation for that. For turn-server I will add some text.

> On 01/31/2013 03:11 PM, Carlos Jesús Bernardos Cano wrote:
>> Hi,
>>
>> Hereby we are issuing a WGLC for draft-ietf-p2psip-service-discovery-06.
>>
>> The WGLC will be open till the 15th of February. We kindly ask the WG 
>> to review the document and provide comments.
>>
>> If you have no comments and think the document is ready to be 
>> submitted to IESG, please do send a note stating that to the WG ML.
>>
>> Additional information about the document is below:
>>
>> Title           : Service Discovery Usage for REsource LOcation And
>> Discovery (RELOAD) Author(s)       : Jouni Maenpaa Gonzalo Camarillo
>> Filename        : draft-ietf-p2psip-service-discovery-06.txt Pages : 15
>> Date            : 2012-10-01
>>
>> Abstract: REsource LOcation and Discovery (RELOAD) does not define a 
>> generic service discovery mechanism as part of the base protocol.  
>> This document defines how the Recursive Distributed Rendezvous 
>> (ReDiR) service discovery mechanism used in OpenDHT can be applied to 
>> RELOAD overlays to provide a generic service discovery mechanism.
>>
>>
>> The IETF datatracker status page for this draft is:
>> https://datatracker.ietf.org/doc/draft-ietf-p2psip-service-discovery
>>
>> There's also a htmlized version available at:
>> http://tools.ietf.org/html/draft-ietf-p2psip-service-discovery-06
>>
>>
>
> - --
> Marc Petit-Huguenin
> Email: marc@petit-huguenin.org
> Blog: http://blog.marc.petit-huguenin.org
> Profile: http://www.linkedin.com/in/petithug
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.12 (GNU/Linux)
>
> iQIcBAEBCAAGBQJRHTQcAAoJECnERZXWan7EmukP/A1P3JutcxuDooxYPFjty3ua
> lhhbiJTd7PLEs9jsaG9hKHjuDi2qu0BNp9Ss+ki+ybtXBNKaJwkrqNqwB3R+dXpx
> Q7zamHvCUJekNmybG2kpc5IUP2MxhDzYp3paocOdF/vdWYE+re3u9WqBN1JNuCwk
> E6GmfEIgw28p5wKldHPCGQrRYx6QnszsQc7F3+siFrsSEzRww7ATpUXjMCVxUfWU
> KTmBh0H+9+PhoXeH6leue2v0Y5Xb1lD8HU6WmrssWYrd9rXgc3s26kzsUrATJCKc
> bj7M6uiKIzUDFwaj13U6bPbldVeJWd+DhWCR2k4Y3rJIfj5bdp55ApDZnF/14v91
> i/w0hnqnuiT/KEDuW+E7jsKwXq/ILKIDZqonyFlF7KuGUT3HGi9WFkc7AnkaOi5U
> qgsuFEYjxkUqAbTAO7nwa9YtGX0qKHhH5SkzWpITTabu48c5FKqG0vAVpGce8z3K
> AyqtwNXAz9nIL6ZwJNg9L8tLhLBQS1lePeSiN7pog4jsKD51VaT7Y1iMysA2OqRs
> Nw70wF7TYh4EikCHsECPQBEI/a+cJEQSro0I4kHGGttVcEdrDqM4xdfaFYN+Ag1b
> vHEf3Zzv/x820fjbfN1eoySj/qFU7Mcuw8Rik//J63HKZbmGdbaYsdrHasgaDIqk
> TgSsgGCf6d5FX9TFFNvd
> =u3Pi
> -----END PGP SIGNATURE-----
> _______________________________________________
> P2PSIP mailing list
> P2PSIP@ietf.org
> https://www.ietf.org/mailman/listinfo/p2psip

_______________________________________________
P2PSIP mailing list
P2PSIP@ietf.org
https://www.ietf.org/mailman/listinfo/p2psip