Re: [alto] WebSocket-based notifications

Enrico Marocco <enrico.marocco@telecomitalia.it> Mon, 23 July 2012 07:44 UTC

Return-Path: <enrico.marocco@telecomitalia.it>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4916321F86C5 for <alto@ietfa.amsl.com>; Mon, 23 Jul 2012 00:44:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.954
X-Spam-Level:
X-Spam-Status: No, score=-100.954 tagged_above=-999 required=5 tests=[AWL=0.165, BAYES_00=-2.599, HELO_EQ_IT=0.635, HOST_EQ_IT=1.245, J_CHICKENPOX_42=0.6, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
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 bLwS9oe8meYr for <alto@ietfa.amsl.com>; Mon, 23 Jul 2012 00:44:20 -0700 (PDT)
Received: from GRFEDG702RM001.telecomitalia.it (grfedg702rm001.telecomitalia.it [217.169.121.21]) by ietfa.amsl.com (Postfix) with ESMTP id 24CCD21F86AB for <alto@ietf.org>; Mon, 23 Jul 2012 00:44:17 -0700 (PDT)
Received: from grfhub703rm001.griffon.local (10.19.3.10) by GRFEDG702RM001.telecomitalia.it (10.173.88.21) with Microsoft SMTP Server (TLS) id 8.3.245.1; Mon, 23 Jul 2012 09:44:09 +0200
Received: from host11-247-static.125-81-b.business.telecomitalia.it (163.162.33.18) by smtp.telecomitalia.it (10.19.9.236) with Microsoft SMTP Server (TLS) id 8.3.245.1; Mon, 23 Jul 2012 09:44:09 +0200
Message-ID: <500D00C9.6070706@telecomitalia.it>
Date: Mon, 23 Jul 2012 09:44:09 +0200
From: Enrico Marocco <enrico.marocco@telecomitalia.it>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20120713 Thunderbird/14.0
MIME-Version: 1.0
To: Ravi nandiraju <ravi.nandiraju@huawei.com>
References: <5003C514.70806@telecomitalia.it> <7FA18E7BC523F04096632E46DA905D7A51DC0EA7@szxeml523-mbs.china.huawei.com>, <500956C6.6050809@telecomitalia.it> <7FA18E7BC523F04096632E46DA905D7A51DC1F08@szxeml523-mbs.china.huawei.com>
In-Reply-To: <7FA18E7BC523F04096632E46DA905D7A51DC1F08@szxeml523-mbs.china.huawei.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha1"; boundary="------------ms060803060801010203050409"
X-TI-Disclaimer: Disclaimer1
Cc: "alto@ietf.org" <alto@ietf.org>
Subject: Re: [alto] WebSocket-based notifications
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/alto>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Jul 2012 07:44:21 -0000

Ok, I see you point. I agree that, for resources that rarely change
there may be even a substantial gain with having the connection
initiated by the server only upon an update event. On the flip side, for
constantly changing resources (e.g. representing uptime-like information
about server load) the overhead of a full HTTP request for each and
every update would easily exceed the overhead due to maintaining a
websocket connection.

More concerning than overhead is however the reachability requirement
that a mechanism based on server-initiated connections pose on the
client side, and that in fact would make it unsuited for any host
residing behind a NAT -- the vast majority of end-user devices.

Enrico

On 7/23/12 9:04 AM, Ravi nandiraju wrote:
> Hi Enrico,
>    The overhead which I was mentioning in my previous e-mail was about managing the connections even when there is no change in the ALTO map information. I think an explicit subscription/notification mechanism which we proposed in [http://tools.ietf.org/html/draft-alto-caching-subscription-00#section-8] does not have this overhead because the server would initiate the connection only when required. The server does'nt need to maintain the connection when there is no change in the map information.
>    The mechanism which is proposed in the websocket based notification is an implicit subscription where the connection implies the subscription. To keep the subscription alive, the connection needs to be alive. In many cases, the client just wants to subscribe and get notified only when there is a change in the map data otherwise the connection is just an overhead.
> 
> -Ravi
> ________________________________________
> From: Enrico Marocco [enrico.marocco@telecomitalia.it]
> Sent: Friday, July 20, 2012 6:31 PM
> To: Ravi nandiraju
> Cc: alto@ietf.org
> Subject: Re: [alto] WebSocket-based notifications
> 
> There certainly is additional overhead with any push notification
> mechanism, esp. as compared to the simple pull model. For sure in terms
> of resources needed for maintaining the subscription state of the
> clients to be notified and for keeping the notification channels alive.
> But that's a price you have to pay if you want to have server-initiated
> notifications and in the end I believe the transport protocol will
> hardly have a significant impact on it. Can you point out where you
> think in WebSocket lays the additional overhead other alternatives do
> not suffer from?
> 
> Enrico
> 
> On 7/20/12 2:15 PM, Ravi nandiraju wrote:
>> Hi Enrico,
>>   I went through the proposed mechanism of notifications based on WebSocket protocol. I think this mechanism has the additional overhead of server needing to keep the connection alive for all the clients which need notification. This works well if the number of clients are less. In case of scenarios where the clients are more, then the server needs to manage a lot of connections.
>>
>> The additonal drawback of this mechanism is that if there is no change in the map data then the connections still needs to be managed by the server.
>>
>> -Ravi
>>
>> ________________________________________
>> From: alto-bounces@ietf.org [alto-bounces@ietf.org] on behalf of Enrico Marocco [enrico.marocco@telecomitalia.it]
>> Sent: Monday, July 16, 2012 1:09 PM
>> To: alto@ietf.org
>> Subject: [alto] WebSocket-based notifications
>>
>> Folks,
>>
>> Jan and I have just submitted a draft proposing a server-to-client
>> notification mechanism based on the WebSocket protocol:
>> http://tools.ietf.org/html/draft-marocco-alto-ws-01
>>
>> The mechanism proposed is one of the several possible, and the draft at
>> this point delineates the idea only at quite a high level, without
>> delving too deep into the details. Yet it should be enough to start a
>> focused discussion, so please, if you are interested in the topic, take
>> a quick read and share your thoughts on the list -- whether you feel
>> this is a promising way to go, or if you have alternatives that you
>> think would fit better.
>>
>> --
>> Ciao,
>> Enrico