[6lowapp] Reliability Requirements in draft-shelby-6lowapp-coap-00

Andreas Scholz <scholza@in.tum.de> Mon, 08 February 2010 17:46 UTC

Return-Path: <scholza@in.tum.de>
X-Original-To: 6lowapp@core3.amsl.com
Delivered-To: 6lowapp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9088F28C12C for <6lowapp@core3.amsl.com>; Mon, 8 Feb 2010 09:46:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.249
X-Spam-Level:
X-Spam-Status: No, score=-2.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_DE=0.35]
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 mnSg3iL8xdw6 for <6lowapp@core3.amsl.com>; Mon, 8 Feb 2010 09:46:57 -0800 (PST)
Received: from mail-out1.informatik.tu-muenchen.de (mail-out1.informatik.tu-muenchen.de [131.159.0.8]) by core3.amsl.com (Postfix) with ESMTP id 92A9928C0DE for <6lowapp@ietf.org>; Mon, 8 Feb 2010 09:46:57 -0800 (PST)
Received: from [131.159.16.116] (notekemper16.informatik.tu-muenchen.de [131.159.16.116]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.in.tum.de (Postfix) with ESMTP id D42CFBE36 for <6lowapp@ietf.org>; Mon, 8 Feb 2010 18:47:57 +0100 (CET)
Message-ID: <4B704E48.4030000@in.tum.de>
Date: Mon, 08 Feb 2010 18:47:52 +0100
From: Andreas Scholz <scholza@in.tum.de>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: 6lowapp@ietf.org
Content-Type: text/plain; charset="ISO-8859-15"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: ClamAV using ClamSMTP
Subject: [6lowapp] Reliability Requirements in draft-shelby-6lowapp-coap-00
X-BeenThere: 6lowapp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Application protocols for constrained nodes and networks <6lowapp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6lowapp>
List-Post: <mailto:6lowapp@ietf.org>
List-Help: <mailto:6lowapp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Feb 2010 17:46:58 -0000

As a short introduction: I am writing my Ph.D. thesis in the area of 
constrained networks for control and automation. So I have a rather 
automation-oriented point of view on the requirements for an application 
protocol.

I have a remark regarding REQ10 in the CoAP draft. It states 
"Reliability must be provided for application layer messages". I am not 
sure that really all application layer messages have to be transmitted 
reliably. Consider for example a temperature sensor that provides 
readings on a frequent basis, e.g., every second. Based on the 
application that uses this data, a loss of a single packet (or even a 
bursty loss of multiple messages) may be tolerable. I am thinking of an 
application that controls a heater, or a monitoring application. In fact 
a retransmission of lost messages might even be a problem if this delays 
the transmission of the newly acquired data values. On the other hand 
there a plenty of messages that have to be transmitted reliably.

I think it is very difficult to find a general set of such requirements 
(and other QoS requirements such as latency etc) that is suitable for 
all applications running in a resource constained network. Because QoS 
requirements are typically application specific, the subscriptions could 
be a good location for specifiying such requirements. I am thinking 
about a subscription mechanism that allows a subscriber to not only 
specify the resource he is interested in, but also additional parameters 
such as reliability. This could also be an interesting way for switching 
between UDP and TCP based communication; a subscriber could specify that 
the data should be delivered via TCP instead of the default transmission 
via UDP.

Based on such a subscription mechanism, a node would also be able to 
reject subscriptions based on the specified non-functional parameters. 
For example because it possesses no protocol that supports reliable 
message transmission, or because it has not enough free memory to 
support an additional reliable connection (which requires storing sent 
messages).


Best regards

Andreas

-- 
Andreas Scholz               Lehrstuhl Informatik III
Tel. +49 89 289-17292        TU München, Zimmer 02.11.037 FMI
andreas.scholz@in.tum.de     Boltzmannstr. 3, 85748 Garching