Re: [clue] Protocol draft attempt

Paul Kyzivat <pkyzivat@alum.mit.edu> Wed, 10 July 2013 21:22 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: clue@ietfa.amsl.com
Delivered-To: clue@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 080BB11E8124 for <clue@ietfa.amsl.com>; Wed, 10 Jul 2013 14:22:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.117
X-Spam-Level:
X-Spam-Status: No, score=-0.117 tagged_above=-999 required=5 tests=[AWL=0.320, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1]
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 rkD+X1PjVNHo for <clue@ietfa.amsl.com>; Wed, 10 Jul 2013 14:22:44 -0700 (PDT)
Received: from qmta04.westchester.pa.mail.comcast.net (qmta04.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:40]) by ietfa.amsl.com (Postfix) with ESMTP id 8E9FE21F9DB2 for <clue@ietf.org>; Wed, 10 Jul 2013 14:22:43 -0700 (PDT)
Received: from omta06.westchester.pa.mail.comcast.net ([76.96.62.51]) by qmta04.westchester.pa.mail.comcast.net with comcast id ybLc1l00316LCl054lNiyW; Wed, 10 Jul 2013 21:22:42 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta06.westchester.pa.mail.comcast.net with comcast id ylNi1l00l3ZTu2S3SlNiTJ; Wed, 10 Jul 2013 21:22:42 +0000
Message-ID: <51DDD0A1.50703@alum.mit.edu>
Date: Wed, 10 Jul 2013 17:22:41 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
To: clue@ietf.org
References: <13C8B6E2-329E-49EB-B66B-C08E61A7171E@unina.it>
In-Reply-To: <13C8B6E2-329E-49EB-B66B-C08E61A7171E@unina.it>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1373491362; bh=eanhEPQE9AB/HK6qSiYAvPKsBpy6B4Key2hQUOkyvMI=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=CxZCmPSnFxYhcXuFWe60mHAkZl31S1bMab84SVHE+oVDcLIOi5u4pLywpNFehKDeP j+FDGK02zVw4S9FaKoaZy2fFv6K9uw8XaDg8dymy8HoL1ipfHUpZG0HZbdXcQcJGjG FgKRUic2ZjpHzcx5XjDBZAu7qFwqvY4IYUY0x/62uayCbdknL3TPeAKMvimtj0xgF8 jgGc/VYnFL+LdlcUQErxKgaJNL5QcxDmw10UiPqYAuHiUqTcz2xlx2cr0Stq0Yz9Ya 3VezltZNQSDq6bGJ8e3hQZGPX7ZhLeDo8FzTLSKEbwU7dr8YlF0j9dbMyOUANoaWqC A6oByMOV61kfw==
Subject: Re: [clue] Protocol draft attempt
X-BeenThere: clue@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: CLUE - ControLling mUltiple streams for TElepresence <clue.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/clue>, <mailto:clue-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/clue>
List-Post: <mailto:clue@ietf.org>
List-Help: <mailto:clue-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/clue>, <mailto:clue-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jul 2013 21:22:54 -0000

(as individual)

Simon & Paula,

Thanks for doing this! I have some questions about it:

You have separate state machines for MP and MC, and note that typically 
a node will be both. Are you assuming the messages for both will flow 
over the same data channel? (I assume so.) If so, then I guess there 
must be a low level demux that sorts out the incoming messages and 
directs them to either the MP or MC state machine. And if it becomes 
necessary to add any other messages it will be necessary to ensure that 
the same message type can't be received by both the MC and the MP.

You propose that RE-ADV contain a reason. While I understand 'refresh' 
as a reason, don't the other reasons you mention duplicate the response 
code that would presumably have been sent first? If the reason is 
because there was something incorrect in the prior ADV, is there any 
reason to expect that it will get better when retried? I guess we at 
least ought to recognize that some things can't be fixed by RE-ADV, and 
have a more extreme transition. (Perhaps to reinitialize the data channel.)

Re both state machines:

obviously we need to think about timeouts. ISTM that however we set the 
timeout value, it can result from either a transport level problem or an 
application level problem. Presumably transport level problems will be 
detected by the transport itself, and we may have no control over the 
timeout level for that. If its like TCP, then it is probably longer than 
we would want to wait, so we may get a timeout at application level that 
reflects a transport problem, and that can't be distinguished from an 
application level problem.

If its a transport problem, then there is no point in retrying, since 
the reliable transport will have done what it can and an application 
level retry will be behind that.

Even if we knew we had an application level problem, is it worthwhile to 
retry it over the same data channel?

I see that you call for every ADV to get a response. Were you thinking 
of a tight timeout here, or a loose one.

In MC state machine:

I think it will be easy to get into an infinite loop between ADV 
RECEIVED and TRYING when the CONF is not acceptable. We need to find a 
way to break that loop. Again, I'm not sure how ofter a retry at this 
level will be helpful.

I think there is a missing transition: if in TRYING due to having sent a 
CONF from IN CALL, then it is possible to receive another ADV before the 
response to the CONF. This is also the case where the subsequent 
response to the CONF might be an error. But then the fix is to send a 
CONF to the *new* ADV, rather than the old one.

In MP state machine:

If in WAIT FOR CONF and take the "change tp settings" transition, will 
end up back in WAIT FOR CONF. But now there will be *two* CONFs coming, 
one for each ADV sent. Assuming the messages are properly coded, then it 
will be possible to detect that one is for the wrong ADV. I guess this 
is covered by the "send error response" transition from CONF RECEIVED to 
WAIT FOR CONF. But, as above, having this singe error transition opens 
possibility of an infinite loop. Can fix this one with a separate 
transition from CONF RECEIVED to itself when the received CONF is for 
and old ADV.

	Thanks,
	Paul

On 7/10/13 1:19 PM, Simon Pietro Romano wrote:
> Hello guys,
>
> as you probably noticed, we have just submitted a first attempt at
> defining a state machine for both the CLUE Media Producer and CLUE Media
> Consumer entities.
>
> http://www.ietf.org/id/draft-presta-clue-protocol-00.txt
>
> Please have a look at it and treat it like no more than a first stone in
> the lake of discussion!
>
> Cheers,
>
> Simon