Re: [RAM] The mapping problem: rendezvous points?

Ted Hardie <hardie@qualcomm.com> Wed, 09 May 2007 19:15 UTC

Return-path: <ram-bounces@iab.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Hlrcw-0006fA-Gu; Wed, 09 May 2007 15:15:06 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Hlrcu-0006cO-SW for ram@iab.org; Wed, 09 May 2007 15:15:04 -0400
Received: from ithilien.qualcomm.com ([129.46.51.59]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Hlrcr-0001TW-Dr for ram@iab.org; Wed, 09 May 2007 15:15:04 -0400
Received: from hamtaro.qualcomm.com (hamtaro.qualcomm.com [129.46.61.157]) by ithilien.qualcomm.com (8.13.6/8.12.5/1.0) with ESMTP id l49JEv8I026513 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 9 May 2007 12:14:58 -0700
Received: from [76.102.225.135] (carbuncle.qualcomm.com [129.46.226.38]) by hamtaro.qualcomm.com (8.13.6/8.13.6/1.0) with ESMTP id l49JEtXQ019767; Wed, 9 May 2007 12:14:56 -0700 (PDT)
Mime-Version: 1.0
Message-Id: <p06240605c267c2877eb6@[76.102.225.135]>
In-Reply-To: <380DB505-2581-4E48-B413-37BB6AB6272F@virtualized.org>
References: <8F47F550-6224-4AFF-8359-CBA98D3F2FAB@muada.com> <271CF87FD652F34DBF877CB0CB5D16FC054EA470@WIN-MSG-21.wingroup.windeploy.nt dev.microsoft.com> <9C228355-9425-4C66-A9A7-47498490E3B1@virtualized.org> <271CF87FD652F34DBF877CB0CB5D16FC054EA59D@WIN-MSG-21.wingroup.windeploy.nt dev.microsoft.com> <86588E66-ACED-4DD2-B286-3DA5B2518B1A@virtualized.org> <4641750A.9010906@cisco.com> <283D52E5-AD3A-40FA-B81C-27DD950176CA@virtualized.org> <4641F33B.4070103@cisco.com> <2CB91D98-4CA3-4F4E-A2F6-CFEF5E04C0DB@virtualized.org> <p06240602c267b7bdf733@[76.102.225.135]> <380DB505-2581-4E48-B413-37BB6AB6272F@virtualized.org>
Date: Wed, 09 May 2007 12:14:53 -0700
To: David Conrad <drc@virtualized.org>
From: Ted Hardie <hardie@qualcomm.com>
Subject: Re: [RAM] The mapping problem: rendezvous points?
Content-Type: text/plain; charset="us-ascii"
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d8ae4fd88fcaf47c1a71c804d04f413d
Cc: ram@iab.org
X-BeenThere: ram@iab.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Routing and Addressing Mailing List <ram.iab.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ram>, <mailto:ram-request@iab.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ram>
List-Post: <mailto:ram@iab.org>
List-Help: <mailto:ram-request@iab.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ram>, <mailto:ram-request@iab.org?subject=subscribe>
Errors-To: ram-bounces@iab.org

At 11:07 AM -0700 5/9/07, David Conrad wrote:
>Ted,
>
>On May 9, 2007, at 10:47 AM, Ted Hardie wrote:
>>Sorry, but I misunderstood you to be asking for what class of applications have
>>this problem, and my reply was intended to answer that:  those which do codec
>>negotiation based on observed rate.
>
>And how do those codec negotiations/ICE behave in the face of network congestion today?

For the codec negotiations, they downgrade or, as Marshall pointed out, they
may fail if only a single rate was supported.  For ICE, it will pick the flow
which returns successfully first.  I believe that this means that whether or
not a lookup is in cache will have a significant impact on which flow end points
are chosen in ICE.

For how do they work now, I think the key thing here is that they preusme congested
links will likely stay congested (or, depending on whether TCP's sawtoothing is
involved) may go from congested to uncongested and back during the
course of a flow.  In those conditions, a media stream using a UDP-based flow
*should* use a low-rate rate codec and should negotiate upward only
cautiously.  Otherwise its lack of congestion awareness is going to
be unfriendly to other flows.   Having a lookup delay at the start of the flow mimics
that congestion and produces sub-optimal results. 

I think the problem here may be that the lookup sounds like it is incurred
within the period of time that the application considers the flow to be
active and which it is using to gauge bitrate.  If the delay were entirely before the
flow were active (as it is for DNS lookups mapping the fqdn to a target
IP), then the clock would not have started ticking, so to speak, and this
delay would not have follow-on effects (it might add to existing frustration
at slow starts, but that is a different problem).  There may well be a way to
design that in at this point, but I think that works well only if the lookup
is at the host.  I may be missing something, of course.

>>Are you looking for something that has source code available, so you can see
>>what changes it would take to adjust the paradigm, or ubiquity, or what?
>
>Pointers to source code would be nice.

pjsip has opensource stun, turn, and ICE; TIL has opensource ICE:

http://www.pjsip.org/download.htm
http://sourceforge.net/projects/til

The codec negotiation bits are a bit harder to point to, since
the rate adaptation code tends to be buried in a larger piece of
codec development.  Marshall may have a better suggestion, but
the videolan work, in particular on x264, may be useful.  That's
at:

http://www.videolan.org/developers/x264.html


>I guess where I'm seeing a disconnect is in the fact that the Internet today is best effort, has congestion events, asymmetric routing and non-deterministic performance patterns.  If an application works today, I'm having trouble understanding how the introduction of additional O(10-100ms) latencies in the event of a cache miss (which will likely only occur at the first packet in a packet train) is going to have significant impact.  In those odd cases that there is an impact, how much work would it be to modify the application operation to be more tolerant of network delays?

I believe that there are changes which could be made to overcome this.  One
obvious one is to have bitrate negotiation for codecs delayed until the impact
of this on the flow was no longer important ( easy enough if it is only the first packet
in the packet train), or allow for a single fast renegotiation, contrary to the usual
slow renegotiation.  So the amount of work is "some". 

But the bigger issue is that there is a class of applications which *wants* to know
about the network conditions and topology, so that they can modify their behavior
to handle it.  I don't think that is going away.  To me, that argues for including
the hosts in the set of network elements which at least MAY if not MUST participate
in understanding the locator/id split semantics and mechanics.  Or, to put it another
way, to participate in the routing system.

>Clearly, some believe that pull simply won't work.  I'm trying to understand why.  To be honest, it feels a bit like arguments I used to hear from Bellheads explaining why real production data communications could never work on datagram based networks...
>Rgds,
>-drc

			regards,
				Ted

_______________________________________________
RAM mailing list
RAM@iab.org
https://www1.ietf.org/mailman/listinfo/ram