[SWMP] introducing RPC to an asynchronous protocol

"Jay C. Weber" <jweber@mediamachines.com> Fri, 24 August 2007 16:03 UTC

Return-path: <swmp-bounces@ietf.org>
Received: from [] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IObdR-0000Lp-WD; Fri, 24 Aug 2007 12:03:46 -0400
Received: from [] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IObdP-0000Fx-Sh for swmp@ietf.org; Fri, 24 Aug 2007 12:03:43 -0400
Received: from worlds.webers.org ([] helo=william.mediamachines.com) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IObdP-0007uG-Ie for swmp@ietf.org; Fri, 24 Aug 2007 12:03:43 -0400
Received: from [] (h-66-134-93-202.snvacaid.covad.net []) by william.mediamachines.com (Postfix) with ESMTP id BA46D46404E; Fri, 24 Aug 2007 11:01:32 -0500 (CDT)
Message-ID: <46CF0160.6020201@mediamachines.com>
Date: Fri, 24 Aug 2007 09:03:44 -0700
From: "Jay C. Weber" <jweber@mediamachines.com>
User-Agent: Thunderbird (Windows/20070728)
MIME-Version: 1.0
To: john_patterson@us.ibm.com
References: <OFE08B3427.B3EA5603-ON8525732C.0077710F-85257333.0024F03B@lotus.com>
In-Reply-To: <OFE08B3427.B3EA5603-ON8525732C.0077710F-85257333.0024F03B@lotus.com>
X-Spam-Score: 1.7 (+)
X-Scan-Signature: 7baded97d9887f7a0c7e8a33c2e3ea1b
Cc: swmp@ietf.org
Subject: [SWMP] introducing RPC to an asynchronous protocol
X-BeenThere: swmp@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Discussion of a Simple Wide-area Multiuser-3D Protocol <swmp.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/swmp>, <mailto:swmp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/swmp>
List-Post: <mailto:swmp@ietf.org>
List-Help: <mailto:swmp-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/swmp>, <mailto:swmp-request@ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1590161473=="
Errors-To: swmp-bounces@ietf.org

john_patterson@us.ibm.com wrote:
D)  I believe that swmp will need the full complement of CRUD (create, read, update, delete) operations.  I think the absence of read methods derived from the implicit subscription to all state.  Now, that one can subscribe to some, but not all of the state, I believe it will become desirable to request the values of unsubscribed state.  This prompted me to add a GETNODE and a GETFIELD request, which required GETNODEREPLY and GETFIELDREPLY messages to return the response.
Interesting, but the danger here is "return the response".  There's a big advantage to resisting the introduction of RPC-style elements in a context of minimizing latency -- obviously RPC involves a round-trip of messaging.  Keeping SWMP asynchronous will keep it mapping simply and efficiently onto datagram transports.

I like the PUB-SUB suggestions you've made, especially because PUB-SUB can be designed to work well in an asynchronous protocol.

Jay C. Weber, Ph.D.
CTO, Media Machines Inc.
SWMP mailing list