Re: [core] draft-ietf-core-coap-09 - Proxying of multicast requests

"Dijk, Esko" <esko.dijk@philips.com> Thu, 26 April 2012 13:59 UTC

Return-Path: <esko.dijk@philips.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C0D0921F8425 for <core@ietfa.amsl.com>; Thu, 26 Apr 2012 06:59:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.434
X-Spam-Level:
X-Spam-Status: No, score=-5.434 tagged_above=-999 required=5 tests=[AWL=1.165, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 mUpqL0Xri-Ym for <core@ietfa.amsl.com>; Thu, 26 Apr 2012 06:59:43 -0700 (PDT)
Received: from tx2outboundpool.messaging.microsoft.com (tx2ehsobe002.messaging.microsoft.com [65.55.88.12]) by ietfa.amsl.com (Postfix) with ESMTP id E65E821F8573 for <core@ietf.org>; Thu, 26 Apr 2012 06:59:42 -0700 (PDT)
Received: from mail185-tx2-R.bigfish.com (10.9.14.244) by TX2EHSOBE003.bigfish.com (10.9.40.23) with Microsoft SMTP Server id 14.1.225.23; Thu, 26 Apr 2012 13:59:41 +0000
Received: from mail185-tx2 (localhost [127.0.0.1]) by mail185-tx2-R.bigfish.com (Postfix) with ESMTP id 6D59F22010D; Thu, 26 Apr 2012 13:59:41 +0000 (UTC)
X-SpamScore: -46
X-BigFish: VPS-46(zz217bL15d6O9251J542M1453M98dKzz1202hzz1033IL8275bh8275dhz2dh2a8h668h839h93fhd25h)
X-Forefront-Antispam-Report: CIP:157.55.7.222; KIP:(null); UIP:(null); IPV:NLI; H:mail.philips.com; RD:none; EFVD:NLI
Received: from mail185-tx2 (localhost.localdomain [127.0.0.1]) by mail185-tx2 (MessageSwitch) id 1335448778974600_4615; Thu, 26 Apr 2012 13:59:38 +0000 (UTC)
Received: from TX2EHSMHS006.bigfish.com (unknown [10.9.14.248]) by mail185-tx2.bigfish.com (Postfix) with ESMTP id E9751C043D; Thu, 26 Apr 2012 13:59:38 +0000 (UTC)
Received: from mail.philips.com (157.55.7.222) by TX2EHSMHS006.bigfish.com (10.9.99.106) with Microsoft SMTP Server (TLS) id 14.1.225.23; Thu, 26 Apr 2012 13:59:38 +0000
Received: from 011-DB3MMR1-020.MGDPHG.emi.philips.com (10.128.28.101) by 011-DB3MMR1-004.MGDPHG.emi.philips.com (10.128.28.54) with Microsoft SMTP Server (TLS) id 14.1.355.3; Thu, 26 Apr 2012 14:59:34 +0100
Received: from 011-DB3MPN1-012.MGDPHG.emi.philips.com ([169.254.2.221]) by 011-DB3MMR1-020.MGDPHG.emi.philips.com ([fe80::65e7:4d4c:4c67:daa9%11]) with mapi id 14.01.0355.003; Thu, 26 Apr 2012 15:02:28 +0100
From: "Dijk, Esko" <esko.dijk@philips.com>
To: "Angelo P. Castellani" <angelo@castellani.net>, Carsten Bormann <cabo@tzi.org>
Thread-Topic: [core] draft-ietf-core-coap-09 - Proxying of multicast requests
Thread-Index: Ac0ciu7lLw120uPlTeKfdF2mdWqI2AAHQrsAAb5CIwAAA+W1QA==
Date: Thu, 26 Apr 2012 13:59:34 +0000
Message-ID: <031DD135F9160444ABBE3B0C36CED6180B27C4@011-DB3MPN1-012.MGDPHG.emi.philips.com>
References: <031DD135F9160444ABBE3B0C36CED6180936F2@011-DB3MPN1-013.MGDPHG.emi.philips.com> <7F92E32D-5F89-4EFF-980C-EA56B4960508@tzi.org> <CAPxkH3hJgMb927i_T9QiTZuoe-DSmfLejhQHQvVdsfCB1tMUgQ@mail.gmail.com>
In-Reply-To: <CAPxkH3hJgMb927i_T9QiTZuoe-DSmfLejhQHQvVdsfCB1tMUgQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [194.171.252.101]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: philips.com
Cc: "core@ietf.org WG" <core@ietf.org>
Subject: Re: [core] draft-ietf-core-coap-09 - Proxying of multicast requests
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.12
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: <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, 26 Apr 2012 13:59:43 -0000

Suppose a proxy has no knowledge of hosts participating in a multicast group. Then indeed it can't rely on its cached multicast responses alone. I was thinking more about this case and how it can still use cached responses:

 1- proxy caches previous responses to a multicast request
 2- for each new Proxy-Uri multicast request that comes in, it always sends out a CoAP multicast request to the multicast group
   [since there may be new group members that joined meanwhile or ones that did not get the previous request]
 3- proxy caches all incoming responses, possibly overwriting the older stored responses
 4- invalid / expired responses are of course removed from the cache
 5- proxy sends all responses (both cached-still-fresh and 'new') back to the original client.

Here caching helps to get a more complete set of responses: if for some reason 20% of group members don't receive a 2nd multicast request; the proxy may still have valid information in cache about all or most of these 20% nodes which was received during a 1st multicast CoAP request.

Note in the above case an implicit assumption is that a CoAP server, who sends out a cacheable response in response to a multicast request, expects/promises to be part of that multicast group for at least the time (Max-Age) of the response. That could be written explicitly (if we want to say something about caching of responses to multicast requests).

Aren't there 4 cases by the way?

        |  reuse for multicast Y/N
--------+----------------------------
reuse   |   Y/Y         Y/N
for     |
unicast |   N/Y         N/N
Y / N   |

regards
Esko

-----Original Message-----
From: angelo.castellani@gmail.com [mailto:angelo.castellani@gmail.com] On Behalf Of Angelo P. Castellani
Sent: Thursday 26 April 2012 14:38
To: Carsten Bormann
Cc: Dijk, Esko; core@ietf.org WG
Subject: Re: [core] draft-ietf-core-coap-09 - Proxying of multicast requests

On Tue, Apr 17, 2012 at 17:40, Carsten Bormann <cabo@tzi.org> wrote:
> with a special "virtual" critical option "this was a response to multicast"?

How can we reuse this response?

case A) We can use it to respond to successive unicast requests.

Then the cache updates the older entry (if any).

case B) We cannot reuse it to respond to successive unicast requests.

Multicast responses should be cached separately.

###### PROBLEMS WITH CASE B
In case B there is (at least) one issue, which is briefly discussed in
Sec. 4.3.3 of http-mapping I-D
(http://tools.ietf.org/html/draft-castellani-core-http-mapping-03#section-4.3.3).
I synthetize the problem afterwards.

When a new multicast request cames in, generally speaking the proxy
couldn't rely only on cached responses to serve client request, since
multicast group membership could be dynamic, and the cached
representation(s) may represent a subset of the actual group, due to
network loss of the previous request/response exchange.

The proxy can, in general, effectively reuse cached representation(s)
only when it has an updated knowledge of the hosts partecipating to
the multicast group, if something is missing the request should be
repeated anyway.
#######

However if we are satisfied with case A, multicast itself could be a
very interesting approach to update the proxy cache for popular
resources, and could even be paired with Observe to obtain this in a
very efficient way.

Best,
Angelo

________________________________
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.