RE: [Sipping] RE: Queries and commentson draft-hilt-sipping-overload-00.txt

"Michael Hammer \(mhammer\)" <mhammer@cisco.com> Wed, 03 January 2007 15:42 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1H28GJ-0005Ls-4y; Wed, 03 Jan 2007 10:42:43 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H28GH-0005Lm-Q7 for sipping@ietf.org; Wed, 03 Jan 2007 10:42:41 -0500
Received: from sj-iport-5.cisco.com ([171.68.10.87]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H28GG-0005Hc-57 for sipping@ietf.org; Wed, 03 Jan 2007 10:42:41 -0500
Received: from sj-dkim-7.cisco.com ([171.68.10.88]) by sj-iport-5.cisco.com with ESMTP; 03 Jan 2007 07:42:38 -0800
Received: from sj-core-4.cisco.com (sj-core-4.cisco.com [171.68.223.138]) by sj-dkim-7.cisco.com (8.12.11/8.12.11) with ESMTP id l03FgctS022544; Wed, 3 Jan 2007 07:42:38 -0800
Received: from xbh-rtp-211.amer.cisco.com (xbh-rtp-211.cisco.com [64.102.31.102]) by sj-core-4.cisco.com (8.12.10/8.12.6) with ESMTP id l03FgGJ3003306; Wed, 3 Jan 2007 07:42:38 -0800 (PST)
Received: from xmb-rtp-20b.amer.cisco.com ([64.102.31.53]) by xbh-rtp-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 3 Jan 2007 10:42:36 -0500
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Subject: RE: [Sipping] RE: Queries and commentson draft-hilt-sipping-overload-00.txt
Date: Wed, 03 Jan 2007 10:42:35 -0500
Message-ID: <072C5B76F7CEAB488172C6F64B30B5E3026B632D@xmb-rtp-20b.amer.cisco.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Sipping] RE: Queries and commentson draft-hilt-sipping-overload-00.txt
Thread-Index: AccvPuBD2qRZ2puhROSG1Ijik/jjIwADnSAQ
From: "Michael Hammer (mhammer)" <mhammer@cisco.com>
To: Janet P Gunn <jgunn6@csc.com>, Darshan Bildikar <dbildikar@ipunity.com>
X-OriginalArrivalTime: 03 Jan 2007 15:42:36.0097 (UTC) FILETIME=[CA930B10:01C72F4D]
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=8804; t=1167838958; x=1168702958; c=relaxed/simple; s=sjdkim7002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=mhammer@cisco.com; z=From:=20=22Michael=20Hammer=20\(mhammer\)=22=20<mhammer@cisco.com> |Subject:=20RE=3A=20[Sipping]=20RE=3A=20Queries=20and=20commentson=09draf t-hilt-sipping-overload-00.txt |Sender:=20; bh=hejzqXRlyisI+swZumx3ALqWdvNSvQcUQZTVJDwbGBY=; b=nOhmByVrGWrH2wWfKqq6p2ILGomTLr9CSL8VGe0+2dFvXukGFCi8Cg0B5uYfqCeJjLcVc/On R109i1JtP7tcELBg1XTkMrQG4lK+71E6F82B8l86XSJxHXTsrwgC1JM3;
Authentication-Results: sj-dkim-7; header.From=mhammer@cisco.com; dkim=pass ( sig from cisco.com/sjdkim7002 verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 32029c790f79bd4a84a26bd2915c54b9
Cc: Volker Hilt <volkerh@bell-labs.com>, sipping <sipping@ietf.org>
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SIPPING Working Group \(applications of SIP\)" <sipping.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
Errors-To: sipping-bounces@ietf.org

Janet and others,

Just out of curiosity, do you assume that SIP is the ONLY protocol
operating on a particular platform?

If not, then do you assume that each protocol has its own oveload
control mechanism and that each will independently determine when the
machine is overloaded?

Mike


> -----Original Message-----
> From: Janet P Gunn [mailto:jgunn6@csc.com] 
> Sent: Wednesday, January 03, 2007 8:53 AM
> To: Darshan Bildikar
> Cc: 'Volker Hilt'; 'sipping'
> Subject: Re: [Sipping] RE: Queries and commentson 
> draft-hilt-sipping-overload-00.txt
> 
> 
> 
> I think it is important to focus on overload of the ability 
> to PROCESS SIP messages.  In particular, the focus should be 
> on the situation where, if the SIP messages keep coming, the 
> box will crash (usually preceded by unproductive thrashing).
> 
> As such, the mechanism and messaging must be as "lightweight" 
> as possible, in order to avoid making the machine congestion worse.
> 
> The other kinds of resource specific overload mechanisms you 
> discuss sound very useful.  But I don't think it is a good 
> idea to try to overload them on THIS effort.
> 
> Janet
> 
> 
> "Darshan Bildikar" <dbildikar@ipunity.com> wrote on 
> 01/02/2007 11:35:04 PM:
> 
> > Hello Volker,
> >
> > Thank you for the response.
> >
> > My responses inline marked by <Darshan>
> >
> > BR
> > Darshan
> >
> > -----Original Message-----
> > From: Volker Hilt [mailto:volkerh@bell-labs.com]
> > Sent: Wednesday, January 03, 2007 9:39 AM
> > To: Darshan Bildikar
> > Cc: 'sipping'
> > Subject: Re: Queries and comments on 
> > draft-hilt-sipping-overload-00.txt
> >
> > Darshan Bildikar wrote:
> > > 1) How does this document relate to
> > > "draft-rosenberg-sipping-overload-reqs-01"? Does it take into
> cognisance
> > the
> > > requirements defined in this document?
> > >
> > Yes, it should.
> >
> > > 2) It is envisioned that overload information is 
> exchanged through a
> > header
> > > in response messages. Why not a more EXPLICIT mechanism like 
> > > SUBSCRIBE/NOTIFY? Define an event package for overload 
> and define a
> body
> > > that can be used to indicate a rich set of overload parameters to 
> > > the upstream entity.
> > >
> > Using SUBSCRIBE/NOTIFY would require a proxy to subscribe to a 
> > downstream neighbor when (or before) sending requests to 
> this neighbor 
> > to inquire the current load status. This would cause some messaging 
> > overhead, in particular, for proxies that talk to many downstream 
> > neighbors. The nice property of using a response header is 
> that it is 
> > very light-weight and it automatically provides feedback from the 
> > downstream entities a proxy is currently talking to.
> >
> > <Darshan 1> Say a downstream entity has indicated that it 
> is loaded at
> 100%.
> > This would result in the upstream proxy NOT forwarding it 
> ANY requests.
> How
> > does the proxy determine when to send the next request 
> then? It would
> never
> > know EXACTLY when the downstream element becomes available. 
> A sub/not 
> > mechanism allows the downstream element to indicate to an upstream
> element,
> > load status at discrete points of time instead of waiting for a 
> > request which might never come!
> >
> > Also, I don't agree that this would cause a messaging 
> overhead. It's 
> > just one more SIP dialog per downstream element. Even with your 
> > approach an upstream element still needs to maintain some kind of 
> > "STATE" about the
> load
> > of each downstream element. We only avoid the SIP messaging.
> >
> > What did you have in mind for the rich set of overload parameters?
> > <Darshan> By rich set, I only meant overload PER resource 
> instance on 
> > the SIP downstream entity.
> >
> > > 3) The draft talks about overload w.r.t certain resources. If a 
> > > sub/not mechanism was used, it would allow overload control to be 
> > > more "fine grained". For example, the SUBSCRIBE message would 
> > > indicate what
> resource
> > > the requester is wants the overload throttling and statistics for.
> > >
> > Overload control is used when a SIP entity is unable to handle all 
> > incoming messages because it ran out of resources it needs for 
> > processing messages. To an upstream neighbor, it really does not 
> > matter which resource on the downstream element is the bottleneck. 
> > What matters is that the downstream element can't process 
> all messages 
> > and, thus, the load has to be reduced. As long as the downstream 
> > element has enough capacity to return a meaningful response 
> (e.g. 488 
> > if a PSTN gateway runs out of trunk lines) it should do so.
> >
> > <Darshan 2> While I do agree with you, I think it's a 
> useful feature 
> > to
> be
> > able to throttle specific traffic. There is definitely a 
> use case for it.
> > Why should I waste time on generating 488 responses when I 
> KNOW that I
> wont
> > be able to process certain requests beyond a limit. If I am able to
> indicate
> > load to an upstream entity for a specific resource, I would 
> be able to
> run
> > my system much more efficiently. Ideally I SHOULD be able 
> to throttle 
> > my traffic in order to spend resources processing request I 
> KNOW I can
> handle
> > and not reject.
> >
> > It would also allow me to partition resources on my box 
> beautifully as 
> > I would be able to control requests I receive for a 
> particular resource.
> (I'm
> > thinking more from the point of view of an AS running services).
> >
> > > A use case that I can think of
> > >
> > > I have two applications on my box; CRBT and video conferencing. I 
> > > might
> be
> > > fast running out of ports for video conferencing but 
> might still be
> able
> > to
> > > do CRBT at 100%. I should be able to control the load based on the
> REQUEST
> > > URI.
> >
> > I don't think this is a valid example for the use of 
> overload control.
> > If the box is still able to do CRBT, it should also be able 
> to reject 
> > the additional requests for video conferencing.
> >
> > <Darshan> See previous response
> >
> > > I'm thinking that the SUBSCRIBE shall indicate, "Give me overload
> > statistics
> > > as if I were sending you this REQUEST URI". I'm assuming that a 
> > > request
> > URI
> > > maps to a "resource" but there could be a better way this could be
> done.
> > >
> > > This mechanism would help throttling based on SIP method, 
> URI, host,
> port
> > > etc and will be able to support REQ 18 defined in 
> > > draft-rosenberg-sipping-overload-reqs-01".
> > >
> > > Two things that I haven't really thought through.
> > >
> > > 1) Throttling based on codecs and media lines would be useful. For
> > example,
> > > I can support audio right now, but NOT video.
> > > 2) Is it possible to make this mechanism more generic? It 
> is after 
> > > all
> a
> > > throttling mechanism and could be applied to domains OTHER than
> overload
> > > control. For example, Tele voting applications where an 
> application
> server
> > > indicates filtering to a switch i.e. "Notify every 100'th 
> INVITE to me"
> > >
> > I don't think that the scope of overload control should be extended 
> > into these domains. Overload control specifically helps devices to 
> > deal with signaling overload. If a device is still able to return a 
> > SIP response it is not in signaling overload and should create a 
> > response with the appropriate response code.
> >
> > <Darshan 3> As I said I haven't really thought this through. My only
> point
> > being that we should try and "generify" wherever possible. 
> If someone 
> > decides to implement SIP mechanism for tele voting/throttling
> applications,
> > they would find that what they want to do is already ALMOST done in 
> > overload.
> >
> > Volker
> >
> >
> > _______________________________________________
> > Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
> > This list is for NEW development of the application of SIP Use 
> > sip-implementors@cs.columbia.edu for questions on current sip Use 
> > sip@ietf.org for new developments of core SIP
> 
> 
> _______________________________________________
> Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
> This list is for NEW development of the application of SIP 
> Use sip-implementors@cs.columbia.edu for questions on current 
> sip Use sip@ietf.org for new developments of core SIP
> 

_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sip@ietf.org for new developments of core SIP