Re: [core] Can all responses be instant? (Re: Fwd: New Version Notification for draft-hartke-coap-observe-00)

"Angelo P. Castellani" <angelo@castellani.net> Thu, 24 June 2010 08:46 UTC

Return-Path: <angelo.castellani@gmail.com>
X-Original-To: core@core3.amsl.com
Delivered-To: core@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AA1183A6979 for <core@core3.amsl.com>; Thu, 24 Jun 2010 01:46:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.193
X-Spam-Level:
X-Spam-Status: No, score=0.193 tagged_above=-999 required=5 tests=[AWL=-0.244, BAYES_40=-0.185, FM_FORGED_GMAIL=0.622]
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 o+ll0gP0UNQ1 for <core@core3.amsl.com>; Thu, 24 Jun 2010 01:46:45 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id A9B9B3A6864 for <core@ietf.org>; Thu, 24 Jun 2010 01:46:42 -0700 (PDT)
Received: by fxm20 with SMTP id 20so1011280fxm.31 for <core@ietf.org>; Thu, 24 Jun 2010 01:46:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received :in-reply-to:references:from:date:x-google-sender-auth:message-id :subject:to:cc:content-type:content-transfer-encoding; bh=hvWLQ+izGjb5k2oISBh78tSgH5qwy88436uNjcD7H2w=; b=LMs4tEwZG3jwBEmfZLx2d1xKImYMcJhJZUv6s5L/V8TcxAdyHOVIjlPtliqghC3wT/ waNCl1mQT42vN2ouSts9MWG+GiJmJSE2VG0Gka9v3ervoQSivuvSFKNY3f1iFWEZm1sN lA3FOxGq5Kckg3aKHJkY2aYeLXrvf+hAf7u7c=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; b=djMhanhcPXwBhAYqvNU7RZLXaS7B1K0N2zJRzzwZx70uKLhXHv47viBDu0pWVGkBJE /uMxtg+ZatJ8EfTXe6oQQ2pEGuiJ54ZHERJ1zDRjKWpD/FGb98FxQDj9jEWnAJ0ns0j5 Gnw0AJ28UTGzm82hf6Y854AlVkLg9kLjgE9wc=
Received: by 10.204.47.17 with SMTP id l17mr6369710bkf.82.1277369204819; Thu, 24 Jun 2010 01:46:44 -0700 (PDT)
MIME-Version: 1.0
Sender: angelo.castellani@gmail.com
Received: by 10.204.71.4 with HTTP; Thu, 24 Jun 2010 01:46:24 -0700 (PDT)
In-Reply-To: <08C9302C-72D4-496B-A7B3-3F37DD1CA759@tzi.org>
References: <20100622203528.0519A28C0D0@core3.amsl.com> <A9654C45-840C-4682-AA1A-9EAF44D81138@tzi.org> <3A0432F2-457D-47B4-A826-9678E8F5DB57@sensinode.com> <08C9302C-72D4-496B-A7B3-3F37DD1CA759@tzi.org>
From: "Angelo P. Castellani" <angelo@castellani.net>
Date: Thu, 24 Jun 2010 10:46:24 +0200
X-Google-Sender-Auth: I8osleBV066slZtN2g_v0RszCHI
Message-ID: <AANLkTik2CmPfdiTcfh2ulbd5LIzrcnj-T3GoRZQeUqyq@mail.gmail.com>
To: Carsten Bormann <cabo@tzi.org>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: core <core@ietf.org>
Subject: Re: [core] Can all responses be instant? (Re: Fwd: New Version Notification for draft-hartke-coap-observe-00)
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/core>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Jun 2010 08:46:48 -0000

Possible solution: CoAP server, if the final response will be
available after RESPONSE_TIMEOUT, must send a response with code 100
Continue (HTTP).

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.1.1

However in this discussion application level and transport level
issues are handled at the same time... Is it convenient?

Angelo

On Wed, Jun 23, 2010 at 18:55, Carsten Bormann <cabo@tzi.org> wrote:
> Zach,
>
> that are a number of very good questions.
>
> Let's start discussing this one:
>
>> - I am not sure about the implications of allowing a delayed GET and PUT response on implementations. Currently in coap-00 if an end-point doesn't make use of subscribe/notify it doesn't have to implement code to wait for asynchronous notifications. For example it might simply make a request, open a temporary UDP socket waiting for the response, and then close that and go to sleep. Well, I guess if it gets an intermediate response code it would know to stay awake waiting for the response. Is this an efficient way of using energy in a constrained network though? What if a client doesn't want a delayed response?
>
> Right now, CoAP is silent on how much time a server has to answer a request.
>
> Certainly, that time will never be zero.
>
> Can we live with limiting this time to < RESPONSE_TIMEOUT hard?
>
> If yes, everything gets simpler.
> If not, there is always the alternative not to do an inversion of control; in that case, the server would reply with a "please wait and try again", maybe including a duration that gives the estimated time until an answer, and the client would simply repeat asking at its convenience.
> (Of course, the server could simply remain silent, prompting retransmissions, but this means that we limit the time to RESPONSE_TIMEOUT * MAX_RETRANSMIT, assuming no errors, and we increase the likelihood of a transfer failing just because of lost packets.)
>
> On the other hand, if we do have a "notify" style packet, there is very little stopping us from implementing an "I'll give it to you later" reply (the "ACK" packet in Figure 1 of coap-observe).  A client that doesn't want to wait can simply treat that as a failure.
>
> As usual, we should probably err on the side of simplicity, but only after having discussed whether we are hitting Einstein's "but no simpler".
>
> Gruesse, Carsten
>
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core
>