Re: [sip-overload] draft-ietf-soc-overload-control-02 and algorithm agility

"Vijay K. Gurbani" <vkg@bell-labs.com> Thu, 31 March 2011 08:50 UTC

Return-Path: <vkg@bell-labs.com>
X-Original-To: sip-overload@core3.amsl.com
Delivered-To: sip-overload@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1579E3A6B2B for <sip-overload@core3.amsl.com>; Thu, 31 Mar 2011 01:50:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 HP9NN9kXP+yp for <sip-overload@core3.amsl.com>; Thu, 31 Mar 2011 01:50:16 -0700 (PDT)
Received: from ihemail1.lucent.com (ihemail1.lucent.com [135.245.0.33]) by core3.amsl.com (Postfix) with ESMTP id 6B9D43A6B00 for <sip-overload@ietf.org>; Thu, 31 Mar 2011 01:50:16 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id p2V8ptNS002106 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <sip-overload@ietf.org>; Thu, 31 Mar 2011 03:51:55 -0500 (CDT)
Received: from shoonya.ih.lucent.com (vkg.lra.lucent.com [135.244.0.140]) by umail.lucent.com (8.13.8/TPES) with ESMTP id p2V8pstk014475 for <sip-overload@ietf.org>; Thu, 31 Mar 2011 03:51:55 -0500 (CDT)
Message-ID: <4D94411B.9020307@bell-labs.com>
Date: Thu, 31 Mar 2011 03:53:47 -0500
From: "Vijay K. Gurbani" <vkg@bell-labs.com>
Organization: Bell Laboratories, Alcatel-Lucent
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9
MIME-Version: 1.0
To: sip-overload@ietf.org
References: <9AD888D2-CCED-4C4C-8F21-C3FA209538C3@acmepacket.com>
In-Reply-To: <9AD888D2-CCED-4C4C-8F21-C3FA209538C3@acmepacket.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.33
Subject: Re: [sip-overload] draft-ietf-soc-overload-control-02 and algorithm agility
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 31 Mar 2011 08:50:18 -0000

Hadriel: Please see inline.

On 03/29/2011 11:09 AM, Hadriel Kaplan wrote:
 > Howdy, in today's WG session the new oc-algo mechanism was described,
 > and it was stated the WG had agreed to support multiple algorithms,
 > with a pointer to this thread:
 > http://www.ietf.org/mail-archive/web/sip-overload/current/msg00436.html
[...]
 > So I'm going to try to argue for NOT doing this (at least not right
 > now).  Here's why:
 >
 > 1) Every time we add something optional, interop issues happen.  [...]

Hadriel: Indeed, I am sympathetic to that as well.

 > 2) Currently, there is only one algorithm: loss.  Other algorithms
 > were tested (rate and window), but since the results were effectively
 > the same, it would seem rather foolish to add support for those other
 > two.  So this would have to be a 4th, as yet unknown, algorithm.
 > That's fine, but we don't need to create a param or logic to handle
 > unknown future algorithms *now*. Think about it - nothing prevents a
 > future algorithm from adding this oc-algo param in a
 > backwards-compatible manner.  Ergo, we don't need to do it now.  In
 > fact, since we don't know the future algorithm(s), we have no idea if
 > they could even use the other params we have.

Just so that we are all on the same page, Hadriel is arguing that
we do not have the "oc-algo" parameter at all.  We go with the loss-
based algorithm right now, and if that does not work then at some
future time we have an updated RFC that adds the new "oc-algo" Via
parameter.  The backward compatibility will be acheived by older
implementations defaulting to using loss-based because they will
not have the context to understand the new "oc-algo" parameter.

I think this is reasonable, especially since it cuts out the
complexity listed next:

 > 3) Doing this is not as trivial as the draft currently has it.  You
 > cannot just "negotiate" it by having *only* the client-side send the
 > param again in the next request when it wants to re-negotiate it,
 > because the client has no idea when its next-hop server has rebooted,
 > or the next-hop server's had *its* config changed.  If that happens,
 > the server would get a request form the client without the param, and
 > thus think the client is using loss, even if they previously
 > negotiated some new algo.

Yes, I am sympathetic to this as well.  Although the current text
says that the algorithms must not be re-negotiated frequently, it
does not define the interval.  RjS pointed out that this will
create interoperability problems.  And since the renegotiation is
driven by the client, there are the other problems you mention
above.

 > 4) When you're the server-side, you'll now have to keep a negotiated
 > algorithm setting pre previous hop client.  For some server systems
 > that's easy, but for some servers that's untenable - they don't keep
 > state per previous hop client.  And I believe our charter requires us
 > to support a model of unknown previous-hop clients.

Right; btw, keeping less state in the server is an argument to pick
loss-based as the default algorithm instead of rate-based.  The
latter requires the server to assign --- and keep track --- of a
share of its overall capacity with each upstream client.

In summary, I think it is worth debating Hadriel's point 2
above, i.e., should we put algorithm negotiation right
now or do it later in a backwards compatible manner.

Thoughts?

Thanks,

- vijay
-- 
Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60566 (USA)
Email: vkg@{bell-labs.com,acm.org} / vijay.gurbani@alcatel-lucent.com
Web:   http://ect.bell-labs.com/who/vkg/