Re: [core] Please have another look at no-response (Re: WG last-call (WGLC) of draft-ietf-core-http-mapping-07)
Abhijan Bhattacharyya <abhijan.bhattacharyya@tcs.com> Thu, 15 October 2015 11:07 UTC
Return-Path: <prvs=723a9cef4=abhijan.bhattacharyya@tcs.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7FF461B2AF2 for <core@ietfa.amsl.com>; Thu, 15 Oct 2015 04:07:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.209
X-Spam-Level:
X-Spam-Status: No, score=-4.209 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lKaiJTbBMSzo for <core@ietfa.amsl.com>; Thu, 15 Oct 2015 04:07:29 -0700 (PDT)
Received: from inkolg01.tcs.com (inkolg01.tcs.com [121.241.215.10]) by ietfa.amsl.com (Postfix) with ESMTP id BC0321B2AE7 for <core@ietf.org>; Thu, 15 Oct 2015 04:07:26 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A2DKAQDBhx9W/wQXEqxeg3puvTsBDYFZIYV7AhyBUhQBAQEBAQEBgQqEJgEBAQMBGgEIBCIlCwULCQIHBgQDAQEBASABAgQDAgICRAkIBgoBCAkSiAsVkgKcRQEBAW+TMgEBAQEBAQEBAQEBAQEBAQEBAQEBAReFS2qFP4Q7AQEFGwoEBwoMBAEHBoJjMYEUBY4DiBiFGYVLhA8VM4Nykg6DbxEOAQGCUx0WgUdpAYQdBAMCgUABAQE
X-IPAS-Result: A2DKAQDBhx9W/wQXEqxeg3puvTsBDYFZIYV7AhyBUhQBAQEBAQEBgQqEJgEBAQMBGgEIBCIlCwULCQIHBgQDAQEBASABAgQDAgICRAkIBgoBCAkSiAsVkgKcRQEBAW+TMgEBAQEBAQEBAQEBAQEBAQEBAQEBAReFS2qFP4Q7AQEFGwoEBwoMBAEHBoJjMYEUBY4DiBiFGYVLhA8VM4Nykg6DbxEOAQGCUx0WgUdpAYQdBAMCgUABAQE
X-IronPort-AV: E=Sophos;i="5.17,684,1437417000"; d="scan'208";a="13454439"
X-DISCLAIMER: FALSE
In-Reply-To: <dbeecaf98e5c4a309542b9573623229c@HE1PR9001MB0170.MGDPHG.emi.philips.com>
References: <560316D3.20807@tzi.org> <OF684E751B.728945D2-ON65257EDD.00292965-65257EDD.002A77B1@tcs.com> <9e35a2dc23f14906b0cc4dca0013540c@HE1PR9001MB0170.MGDPHG.emi.philips.com> <OF73A23903.52622BC0-ON65257EDF.001073E3-65257EDF.00157C6C@tcs.com> <dbeecaf98e5c4a309542b9573623229c@HE1PR9001MB0170.MGDPHG.emi.philips.com>
To: "Dijk, Esko" <esko.dijk@philips.com>
MIME-Version: 1.0
X-KeepSent: 7EB4635E:55918900-65257EDF:003C8EA3; type=4; name=$KeepSent
X-Mailer: IBM Notes Release 9.0 March 08, 2013
Message-ID: <OF7EB4635E.55918900-ON65257EDF.003C8EA3-65257EDF.003D1867@tcs.com>
From: Abhijan Bhattacharyya <abhijan.bhattacharyya@tcs.com>
Date: Thu, 15 Oct 2015 16:37:19 +0530
X-MIMETrack: Serialize by Router on INKOLM102/TCS(Release 9.0.1FP4|June 07, 2015) at 10/15/2015 16:37:20, Serialize complete at 10/15/2015 16:37:20
Content-Type: multipart/alternative; boundary="=_alternative 003D186265257EDF_="
Archived-At: <http://mailarchive.ietf.org/arch/msg/core/-4PHyDu53yaVUqFDrXj1Pz7wDSw>
Cc: "core@ietf.org WG" <core@ietf.org>
Subject: Re: [core] Please have another look at no-response (Re: WG last-call (WGLC) of draft-ietf-core-http-mapping-07)
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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, 15 Oct 2015 11:07:35 -0000
Hi Esko, > If we just put in that “a client SHOULD NOT send a GET request with > a No-Response option that suppresses one or more classes of > responses” We are in sync. Actually I modified the draft a bit before receiving your mail. The modified text reads: This SHOULD NOT be used with GET under usual circumstances when the client requests the contents of a resource. Thanks for your thoughtful comments. Regards Abhijan Bhattacharyya Associate Consultant Scientist, Innovation Lab, Kolkata, India Tata Consultancy Services Mailto: abhijan.bhattacharyya@tcs.com Website: http://www.tcs.com ____________________________________________ Experience certainty. IT Services Business Solutions Consulting ____________________________________________ "Dijk, Esko" <esko.dijk@philips.com> wrote on 10/15/2015 04:26:53 PM: > From: "Dijk, Esko" <esko.dijk@philips.com> > To: Abhijan Bhattacharyya <abhijan.bhattacharyya@tcs.com> > Cc: Carsten Bormann <cabo@tzi.org>, "core@ietf.org WG" <core@ietf.org> > Date: 10/15/2015 04:27 PM > Subject: RE: [core] Please have another look at no-response (Re: WG > last-call (WGLC) of draft-ietf-core-http-mapping-07) > > Hello Abhijan, > > Thanks and some further remarks for discussion below: > > > Actually we did not have any use case which would require a GET > not to send any response payload, other than the case of observe- > cancellation. We kept the restriction to ensure that any accidental > use of No-Response with usual GET does not suppress the response > payload, which would be actually intended. If you have any use case > then would request you to please share. > > Well if it has no use case why would anyone accidentally include the > No-Response option? I would argue that the first person who does > this probably has found an obscure use case that we did not yet > think about. We should aim to have the simplest possible concept and > also simplest implementation (least amount of rules or exceptions), > I think. And keeping the option’s behavior the same for all methods > makes sense in this respect. > One common use case from the Web/HTTP domain is for example doing > HTTP GET requests with some non-RESTful, modifying side effect > effected by supplying query arguments. (A bit like doing a POST > “execute resource” – anything may occur) There the response may not > be of interest. Why do people implement a web server in such a > foolish way going against all conventions ? I don’t know all the > reasons – I only know I did this once myself ;) one reason is that a > HTTP GET with query arguments is available in the address line of > any web browser. While POST with some specific request payload is not. > Another use case may be that you want the GET response but only if > successful, not the error ones to save on bandwidth. (E.g. if you’re > scanning a lot of URI paths from a client to find out which ones a > server supports, i.e. “reverse engineer” a server design). > > If we just put in that “a client SHOULD NOT send a GET request with > a No-Response option that suppresses one or more classes of > responses” that should be enough. It implies that a server MAY > expect to get a GET with No-Response option that suppresses some > responses in case of one of those obscure use cases. Also it seems > to make the server implementation simpler (less exceptions to > rules). Would that be a good idea? > > > 'Leisure' is a component of the total time the client should wait > when suppressing responses selectively. We are re-using the > definition of the leisure as a common parameter for both unicast and > multicast. We just wanted to keep clarity on how leisure can be > defined as a general definition and unicast becomes a special case. > > Ok, clear – you use it in a slightly different way to have a good > estimate for the time it takes the server to transmit back the > response. Good to keep this; however the current text to explain > this is not very explicit and could be improved. Maybe explain that > although this Leisure concept comes from the multicast usage of > CoAP, you have taken and re-used it to get a suitable estimated > upper bound for the transfer time of the response back to the client. (or so) > > Regards, > Esko > > From: Abhijan Bhattacharyya [mailto:abhijan.bhattacharyya@tcs.com] > Sent: Thursday, October 15, 2015 05:55 > To: Dijk, Esko <esko.dijk@philips.com> > Cc: Carsten Bormann <cabo@tzi.org>; core@ietf.org WG <core@ietf.org> > Subject: RE: [core] Please have another look at no-response (Re: WG > last-call (WGLC) of draft-ietf-core-http-mapping-07) > > Hi Esko, > Thanks for your detail comments and your support. Here are my responses: > > > I did not understand fully why the document is not going to be a WG > > draft. > > We could not get enough hands raised for WG adaptation. :) So taking > the individual submission route as suggested by Carsten. > > > 1. > > “Using this option with CON type of requests may not have any > > significance if piggybacked responses are triggered. Even if the > > response is suppressed it does not reduce any traffic in that > > case.” > > > > I don’t fully agree with the second sentence; since an ACK message > > without the response inside can be very short while an ACK with the > > complete response (payload) inside can be quite lengthy. The first > > sentence I agree with (“may not have any significance” suggests that > > in some cases it *may* have significance). > > Good point. Accepted. May be the 'may' should be "MAY". :)) > > > Also in the same paragraph “reduces one additional traffic” -> maybe > > replace it by “reduce traffic by one message” to be more correct. > > OK > > > 2. > > “This option is not applicable and should have no effect for usual > > GET requests asking for resource representation.” > > > > Don’t agree on this – the option should just do its work whether it > > is inside a GET, PUT, POST or DELETE. > > Actually we did not have any use case which would require a GET not > to send any response payload, other than the case of observe- > cancellation. We kept the restriction to ensure that any accidental > use of No-Response with usual GET does not suppress the response > payload, which would be actually intended. If you have any use case > then would request you to please share. > > > 3. Table 2, row DELETE: remove the SHOULD / SHOULD NOT language here > > perhaps? .... > > OK > > > 4. Section 1: “This option enables to express disinterest in all > > kinds of response by default.” -> incorrect, by default it expresses > > interest in all classes. Also replace “kinds” by “classes” preferably. > > Yes. This error crept in after we changed the option values in the > last draft. Will correct. > > > 5. Table 3, first row: “<empty>” is possible but also 00000000 > > binary is possible there – by making the option length 1 instead of > > 0. > > This is done in accordance with canonical representation. There was > some discussion in the past on this in mailing list. > > > 6. Section 4.1: “However, a request with No-Response does not have > > any response path.” > > -> replace by “However, a request with No-Response typically does > > not have a guaranteed response path.” > > O.K. > > > 7. Section 4.1: “SHOULD use a unique token for request with No- > > Response” -> “SHOULD use a unique token for each request with No- > > Response to the same server endpoint” > > OK. Good to be precise. > > > 8. Section 4.1 starting with “NON_LIFETIME and MAX_LATENCY are > > defined in 4.8.2 ….” up to the end of the section: I don’t > > understand here why “Leisure” and the equations are used here for > > unicast requests. It is only defined in RFC 7252 for multicast > > requests and their associated unicast response. Suggestion: replace > > text by something that does not depend on Leisure. (Or else > > describe why Leisure plays a role for unicast requests!) > > 'Leisure' is a component of the total time the client should wait > when suppressing responses selectively. We are re-using the > definition of the leisure as a common parameter for both unicast and > multicast. We just wanted to keep clarity on how leisure can be > defined as a general definition and unicast becomes a special case. > > Regards > Abhijan Bhattacharyya > Associate Consultant > Scientist, Innovation Lab, Kolkata, India > Tata Consultancy Services > Mailto: abhijan.bhattacharyya@tcs.com > Website: http://www.tcs.com > ____________________________________________ > Experience certainty. IT Services > Business Solutions > Consulting > ____________________________________________ > > > "Dijk, Esko" <esko.dijk@philips.com> wrote on 10/13/2015 09:18:24 PM: > > > From: "Dijk, Esko" <esko.dijk@philips.com> > > To: Abhijan Bhattacharyya <abhijan.bhattacharyya@tcs.com>, Carsten > > Bormann <cabo@tzi.org> > > Cc: "core@ietf.org WG" <core@ietf.org> > > Date: 10/13/2015 09:20 PM > > Subject: RE: [core] Please have another look at no-response (Re: WG > > last-call (WGLC) of draft-ietf-core-http-mapping-07) > > > > Hello Abhijan, Carsten, > > > > Below some more review comments for this draft! Some points may be > > a repetition of some of my previous review comments but I send them > > nevertheless. > > I did not understand fully why the document is not going to be a WG > > draft. I did miss the discussion on this. Anyhow it appears to me as > > a quite useful option to have in the “official” CoAP repertoire. > > > > 1. > > “Using this option with CON type of requests may not have any > > significance if piggybacked responses are triggered. Even if the > > response is suppressed it does not reduce any traffic in that > > case.” > > > > I don’t fully agree with the second sentence; since an ACK message > > without the response inside can be very short while an ACK with the > > complete response (payload) inside can be quite lengthy. The first > > sentence I agree with (“may not have any significance” suggests that > > in some cases it *may* have significance). > > > > Also in the same paragraph “reduces one additional traffic” -> maybe > > replace it by “reduce traffic by one message” to be more correct. > > > > 2. > > “This option is not applicable and should have no effect for usual > > GET requests asking for resource representation.” > > > > Don’t agree on this – the option should just do its work whether it > > is inside a GET, PUT, POST or DELETE. > > > > 3. Table 2, row DELETE: remove the SHOULD / SHOULD NOT language here > > perhaps? Again if a client wants to send DELETE with no-response > > then the client can do so. The expectation is that the option is > > parsed by the server and applied, assuming the server knows/ > > understands the elective option. On the previous rows a SHOULD NOT > > etc. was also not necessary. > > > > 4. Section 1: “This option enables to express disinterest in all > > kinds of response by default.” -> incorrect, by default it expresses > > interest in all classes. Also replace “kinds” by “classes” preferably. > > > > 5. Table 3, first row: “<empty>” is possible but also 00000000 > > binary is possible there – by making the option length 1 instead of > > 0. That has the same effect as empty, so good to list it in the > > table as well! Maybe within the same table cell. > > > > 6. Section 4.1: “However, a request with No-Response does not have > > any response path.” > > -> replace by “However, a request with No-Response typically does > > not have a guaranteed response path.” > > (since e.g. for the default option value 0 there is a guaranteed > > response path.) > > > > 7. Section 4.1: “SHOULD use a unique token for request with No- > > Response” -> “SHOULD use a unique token for each request with No- > > Response to the same server endpoint” > > > > 8. Section 4.1 starting with “NON_LIFETIME and MAX_LATENCY are > > defined in 4.8.2 ….” up to the end of the section: I don’t > > understand here why “Leisure” and the equations are used here for > > unicast requests. It is only defined in RFC 7252 for multicast > > requests and their associated unicast response. Suggestion: replace > > text by something that does not depend on Leisure. (Or else > > describe why Leisure plays a role for unicast requests!) > > > > Best regards > > Esko > > > > From: core [mailto:core-bounces@ietf.org] On Behalf Of Abhijan Bhattacharyya > > Sent: Tuesday, October 13, 2015 09:44 > > To: Carsten Bormann <cabo@tzi.org> > > Cc: core <core-bounces@ietf.org>; core@ietf.org WG <core@ietf.org> > > Subject: Re: [core] Please have another look at no-response (Re: WG > > last-call (WGLC) of draft-ietf-core-http-mapping-07) > > Importance: High > > > > Hi Carsten, > > > > > ... provide Abhijan (and the core WG list, if you like) with your > > > feedback, preferably so that he has time to react before the Yokohama > > > I-D deadline (maybe send in the comments before 2015-10-12). > > > > While the tentative deadline set for sharing the comments is over, > > we have so far received one comment from Akbar. It is about > > mentioning the behaviour of a reverse proxy in the context of > > applications requiring No-Response at the CoAP end (http:// > > www.ietf.org/mail-archive/web/core/current/msg06506.html). > > > > Should we consider the final review process to be over by now? > > Requesting your suggestion regarding the way forward. > > Awaiting your response soon as Yokohama deadlines are approaching fast. > > > > Regards > > Abhijan Bhattacharyya > > Associate Consultant > > Scientist, Innovation Lab, Kolkata, India > > Tata Consultancy Services > > Mailto: abhijan.bhattacharyya@tcs.com > > Website: http://www.tcs.com > > ____________________________________________ > > Experience certainty. IT Services > > Business Solutions > > Consulting > > ____________________________________________ > > > > > > Carsten Bormann <cabo@tzi.org> wrote on 09/24/2015 02:47:07 AM: > > > > > From: Carsten Bormann <cabo@tzi.org> > > > To: "Rahman, Akbar" <Akbar.Rahman@InterDigital.com> > > > Cc: Abhijan Bhattacharyya <abhijan.bhattacharyya@tcs.com>, core > > > <core-bounces@ietf.org>, "core@ietf.org WG" <core@ietf.org> > > > Date: 09/24/2015 02:47 AM > > > Subject: Please have another look at no-response (Re: [core] WG > > > last-call (WGLC) of draft-ietf-core-http-mapping-07) > > > > > > Rahman, Akbar wrote: > > > > Any feedback? > > > > > > We'll need to have a reference. > > > > > > That (and the current discussion in ACE about unidirectional exchanges) > > > reminds me that the draft for Option 284 could still benefit from some > > > final review. So, if you are interested in this topic, please have a > > > look at > > > > > > http://tools.ietf.org/html/draft-tcs-coap-no-response-option-11.txt > > > > > > and provide Abhijan (and the core WG list, if you like) with your > > > feedback, preferably so that he has time to react before the Yokohama > > > I-D deadline (maybe send in the comments before 2015-10-12). > > > > > > (To avoid confusion, I'll add that we decided not to make a WG document > > > out of this option, but there has been some review and some support > > > already, and we all should be interested in facilitating the extension > > > registration processes defined in RFC 7252.) > > > > > > Grüße, Carsten > > =====-----=====-----===== > > Notice: The information contained in this e-mail > > message and/or attachments to it may contain > > confidential or privileged information. If you are > > not the intended recipient, any dissemination, use, > > review, distribution, printing or copying of the > > information contained in this e-mail message > > and/or attachments to it are strictly prohibited. If > > you have received this communication in error, > > please notify us by reply e-mail or telephone and > > immediately and permanently delete the message > > and any attachments. Thank you > > > > The information contained in this message may be confidential and > > legally protected under applicable law. The message is intended > > solely for the addressee(s). If you are not the intended recipient, > > you are hereby notified that any use, forwarding, dissemination, or > > reproduction of this message is strictly prohibited and may be > > unlawful. If you are not the intended recipient, please contact the > > sender by return e-mail and destroy all copies of the original message. > > The information contained in this message may be confidential and > legally protected under applicable law. The message is intended > solely for the addressee(s). If you are not the intended recipient, > you are hereby notified that any use, forwarding, dissemination, or > reproduction of this message is strictly prohibited and may be > unlawful. If you are not the intended recipient, please contact the > sender by return e-mail and destroy all copies of the original message.
- [core] Please have another look at no-response (R… Carsten Bormann
- Re: [core] Please have another look at no-respons… Abhijan Bhattacharyya
- Re: [core] Please have another look at no-respons… Dijk, Esko
- Re: [core] Please have another look at no-respons… Abhijan Bhattacharyya
- Re: [core] Please have another look at no-respons… Dijk, Esko
- Re: [core] Please have another look at no-respons… Abhijan Bhattacharyya