Re: [alto] Parameterized ALTO cost-types

"Bertz, Lyle T [CTO]" <Lyle.T.Bertz@sprint.com> Wed, 29 July 2015 18:01 UTC

Return-Path: <Lyle.T.Bertz@sprint.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BE1DA1A879E for <alto@ietfa.amsl.com>; Wed, 29 Jul 2015 11:01:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.098
X-Spam-Level:
X-Spam-Status: No, score=0.098 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, J_CHICKENPOX_41=0.6, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CsXEDaLfQVJ0 for <alto@ietfa.amsl.com>; Wed, 29 Jul 2015 11:01:14 -0700 (PDT)
Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0133.outbound.protection.outlook.com [65.55.169.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BB88A1A916D for <alto@ietf.org>; Wed, 29 Jul 2015 11:01:11 -0700 (PDT)
Received: from BY2FFO11FD002.protection.gbl (10.1.14.33) by BY2FFO11HUB045.protection.gbl (10.1.14.85) with Microsoft SMTP Server (TLS) id 15.1.231.11; Wed, 29 Jul 2015 18:01:10 +0000
Authentication-Results: spf=pass (sender IP is 144.230.32.81) smtp.mailfrom=sprint.com; ietf.org; dkim=none (message not signed) header.d=none;
Received-SPF: Pass (protection.outlook.com: domain of sprint.com designates 144.230.32.81 as permitted sender) receiver=protection.outlook.com; client-ip=144.230.32.81; helo=preapdm2.corp.sprint.com;
Received: from preapdm2.corp.sprint.com (144.230.32.81) by BY2FFO11FD002.mail.protection.outlook.com (10.1.14.124) with Microsoft SMTP Server (TLS) id 15.1.231.11 via Frontend Transport; Wed, 29 Jul 2015 18:01:09 +0000
Received: from pps.filterd (preapdm2.corp.sprint.com [127.0.0.1]) by preapdm2.corp.sprint.com (8.15.0.59/8.15.0.59) with SMTP id t6THv0PU037843; Wed, 29 Jul 2015 14:01:08 -0400
Received: from plswe13m08.ad.sprint.com (plswe13m08.corp.sprint.com [144.229.214.27]) by preapdm2.corp.sprint.com with ESMTP id 1vxgn3q3ym-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 29 Jul 2015 14:01:08 -0400
Received: from PLSWE13M07.ad.sprint.com (2002:90e5:d61a::90e5:d61a) by PLSWE13M08.ad.sprint.com (2002:90e5:d61b::90e5:d61b) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Wed, 29 Jul 2015 13:01:07 -0500
Received: from PLSWE13M07.ad.sprint.com ([fe80::b8a7:9769:a6fe:384c]) by PLSWE13M07.ad.sprint.com ([fe80::b8a7:9769:a6fe:384c%15]) with mapi id 15.00.1044.021; Wed, 29 Jul 2015 13:01:07 -0500
From: "Bertz, Lyle T [CTO]" <Lyle.T.Bertz@sprint.com>
To: Wendy Roome <w.roome@alcatel-lucent.com>, IETF ALTO <alto@ietf.org>
Thread-Topic: Parameterized ALTO cost-types
Thread-Index: AQHQyToHDv/9mPcGHEiSB77z8suY+Z3w554wgACcxwCAAO0coA==
Date: Wed, 29 Jul 2015 18:01:06 +0000
Message-ID: <4d3fb43e4ef4459599c5bf67aa8b98ac@PLSWE13M07.ad.sprint.com>
References: <D1DCFCE6.2E7874%w.roome@alcatel-lucent.com> <3e0a527b45894117a01026f6623fdc31@PLSWE13M07.ad.sprint.com> <D1DD2F79.2EA9E1%w.roome@alcatel-lucent.com>
In-Reply-To: <D1DD2F79.2EA9E1%w.roome@alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.214.116.49]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-EOPAttributedMessage: 0
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD002; 1:Adu8p6dJtOzmj0mlQBrdy2ytlVygbVVXcCD2IlfjVGBFYYP6WFu9d+0MM4TlD5SsHnWYYz8hNjAljAXcYpjpAK3R7r4Xq3xws/cjuaJuwMpM7u3lID1GeLghFn8e1GU7TxWZwlE81riM42HhZ5IgPAiX7LIAPNiHnx9I7TyYN1WxX+B+ySwlTKRuy9Zm7vK+neYHwtmfFyuyQ/C6m+Y4sz1TrZz6+UlGFb05Owdr9PXGk15h6yE10w5bbecVqnY99bgZb3fE+Tg9hoc8YDNQnJU3w3twcEJuNejbppY6x9qgxf+6UlEpTwxsLTiHhwzc
X-Forefront-Antispam-Report: CIP:144.230.32.81; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(438002)(13464003)(377454003)(189002)(24454002)(43784003)(479174004)(199003)(106116001)(23756003)(19580405001)(102836002)(76176999)(561944003)(47776003)(54356999)(19580395003)(15975445007)(33646002)(6806004)(92566002)(108616004)(5250100002)(107886002)(46102003)(86362001)(77156002)(50466002)(87936001)(5001960100002)(50986999)(62966003)(2656002)(189998001)(24736003)(5003600100002)(2950100001)(5001770100001)(2900100001)(106466001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2FFO11HUB045; H:preapdm2.corp.sprint.com; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en;
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB045; 2:+hajcOXtFnV2035NvBvoKJM7Va7YDUUbL5KkH7QlkDRSLdjxfACH1cAVNZIAVI/1T+JfAf7cCiNVfBs1QPd4UMa+pXWwe7xe9aZkEQH7whfOwphGdIGz+1RnYSxw75MXiX8Dbgf/PcV9GKvBBlUdrliqGv8DSFVdy5Ym4nvF28I=; 3:6Gwf9UI5Z8p2LmJbpT5PjVDjFMkWPLWpND/r4VRCukk60ymQOfK7eaP1d3qexXoZ+eUxY4xbieodF58PtyTJ8omfmexB1+JuoYlrSeqs356LwZdADLA/oNPeNp3nZ4wf4DC8Y8bx2o4zRlCgIxgPonR7u4ewlZjUZmPzEr4ofVxMBWOHTDyJ0nzNvE8/pQtpe3MD1r5ymEfcwNdQXLkTDfw6clYUmrkXa4ts3LSCWlc=; 25:w0aS6dho4Czad2iJroIaKYymLbfpXdEGY/LmiewPuB7MPexG0sSwqM29A51UsYvvE0RdNU2YadSHv/5Ksw+jOe+d02uyfFR7zfOzxnxinVnrHQTTS+Fh2XtYI96y7GdToSdCrt8VpRmSAVat2/Lk5nZBd7jYOW0eX+78HVX4eD6aYucsgSUqW8Rzfb8LqZuUG9L1twcP9FjNqV4X1So3ZXzMixJZdh33c9gpKcjcVbk4iOO/gS+Iu8eRzlUDrOa6kBUm0I3yh7SebJc0MyY7Kg==; 20:kbChK2635hbpYcpnAEw8syymvnRThYVk/IM1HuwkZRXkaep0G3RVDk7S+0OtTTWvw3p+cp+Hcn7FxOHYl5c87DCPMJDUl4Umcpk5DrAjlg83sYMhqcGG2SHEoVH2quKdP28Ax7DnfDwitv4DGGCBnG5l4AXLX4LjjDeLHraC6wgEq1kavFXCl38mZe0mUAEySVXcpo+Pcm95GRVc9Y4kz3jy26c3Mt0Rc498eiyrSe+EwldBRZESj0bo5dupmgIQ
X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB045;
BY2FFO11HUB045: X-MS-Exchange-Organization-RulesExecuted
X-Microsoft-Antispam-PRVS: <BY2FFO11HUB045848EAA3A91C345C50665A48C0@BY2FFO11HUB045.protection.gbl>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:BY2FFO11HUB045; BCL:0; PCL:0; RULEID:; SRVR:BY2FFO11HUB045;
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB045; 4:dOnDYy6YmV/9smDHHeRjvgjLgcJNoVl4eNpuN5ofOEUJhqDSukNbv4eKg2Ehxdsycy5Qb0di0OOEXwsAMfG4iO7zuc8T+VWf9U9/NlyB/PRHpNmNiRX32uurRaO6vvnW9YwHl2snuZxvusWB5uXAddr/E6B/mBIq4vKxS2SJq0iC5JZuQKWEzFBIbt/VQ2hXksjHfKzTPSrPFGqcpN9YAr9QY3em4zabUMvHVq7fmCue2Cs21jqJqNQQYN+zCiVZO9cDX3hVdeNbSX7/SNChKwURKaN7JlmYQmiZfAhzAnI=
X-Forefront-PRVS: 0652EA5565
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB045; 23:BIzjbxpW+TuLIhq/vF919ur27yua1fZgWGiXQ7KGibS2hlkwTaOkuNfnEjggFJ4QsUR/eBoRMDOnK8hkbclG41X3flzbPnyOieZjD+4ygi6RjE/zZfdWGL+euIAT082LT+26/RMPnZSy6CYM8YWc89hHn5FUBKbnP/UYnzFa7Pwi1mkvuHc9GhhvmWkxBKu8sk3YdOQv5cK6Fn9MHeyGB7zeQfx+uf0xKLyG4M2tn1xsF/VT6pvBfXlDn3EbT/7luH/hHFdm1ciYp0/aB66VvaKkDFeGplGsk4pbzt6Ar4P6Xj7QSak1vsuy9/q1JvpXU33GXJf9frOvw6KDHdZWw3w3d+turYcGSu6OHdJO+wyubPQ6sYgzjBILv+EsCMeSwxelcKXYcpcakKjF7unTO2JmfycnLZkzcPMcKO8qpF+IErcErrK8gmGwRPIGBVdlP0l+4KYb9E6j/RpIRs8jcMlpaBoRTqOR2g7yuci0/HKiRfZL/bewNjXJnNKGFfocctwnz8dO3l8SrFi2gC9cxpzkdX6wz1B1wS0C+FQqsvfdQGbGrKqauP5xkIh1NDQoLf+991ttkqoAtYbHpFJ9Xr3q7lQlfalTpG+pHC4QOv5LRvyUUqkg4oYvMBWgVvaSMzyfaigPl66sH/GiE/BdHmwu6AKPMMv+sRFqbqZL0W/zqZoHyajQ1rCIgvXz/xUR8ae/gVJRohWpBa6U9ek42TAaiDnybYDqbMEjOaGem7UwV4fwynuWLsZgqQEeMeOqBNTwefEC2AlslZWGeuokDmSBU8tbXEU7ssRoNhDTmqW/BvPfe7lnBQTB6ja/10aE1mrjaGFVa5Z9cIUOKahPrHkCga42mTzqMV0pZpvWYtqxw59fS4uYYHDvdnGaPiMwn0BzwrgWgwNgDC7FKGkjcdqyl545/UvBb5Is+ZEy++N+jwTAWKmDyOtG5d4jWgzVB+MdJ7CzjcOsuUWFDHB4SeH9QiHUM9UuiEhDbG/FxpwXk/EBsAwz6BpJgYAZOfiV4/kf2Cig3ABKFLbFDLOM4CSaS81UQp/zX/nh+XRZrrv8v0etfW1pUxiJjkJsOIW+6WRkPFHnvqY+vFMwWq/MOZuT7G3hqKj1DmJ4sJUct9w=
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB045; 5:swvvWQ80F/kh7WQjrWVd2zURxU1X4ivbIfmsIeEz46fZmW+vs7Xn94U2ed0IvBZz9YjMbhCmdEZA2y8wcH6FRtPM7BFAtL86MkdLnQzy+Zm2+aSbTiufOQ1qTUPYJb8u3SbCcFPwa+H6yFZrTMSUXQ==; 24:dj3QIdZ5xhCorP4l9K1X2kTmiN1/vjf3O0kXXkEMAoSaRf0tfCg1KU4vLCSEf8BZU87nXaTPWPm2XM0w4924U+vibBOPJaK0uEbAdNzf0ZA=
X-OriginatorOrg: sprint.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jul 2015 18:01:09.8653 (UTC)
X-MS-Exchange-CrossTenant-Id: 4f8bc0ac-bd78-4bf5-b55f-1b31301d9adf
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=4f8bc0ac-bd78-4bf5-b55f-1b31301d9adf; Ip=[144.230.32.81]; Helo=[preapdm2.corp.sprint.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2FFO11HUB045
Archived-At: <http://mailarchive.ietf.org/arch/msg/alto/cTLAaFpEuHeMh57eJXmIo9_vMYg>
Subject: Re: [alto] Parameterized ALTO cost-types
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.15
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 29 Jul 2015 18:01:16 -0000

Wendy,

Comments below.

> -----Original Message-----
> From: Wendy Roome [mailto:w.roome@alcatel-lucent.com]
> Sent: Tuesday, July 28, 2015 1:16 PM
> To: Bertz, Lyle T [CTO] <Lyle.T.Bertz@sprint.com>; IETF ALTO
> <alto@ietf.org>
> Subject: Re: Parameterized ALTO cost-types
>
> Lyle,
>
> Thanks for your comments. This is exactly the sort of discussion I hoped to
> start. My comments in-line.
>
> On 07/28/2015, 11:00, "Bertz, Lyle T [CTO]" <Lyle.T.Bertz@sprint.com>
> wrote:
>
> >Wendy,
> >
> >A few thoughts.
> >
> >With respect to Observation #1 a client *does* care about the
> >congestion state of a single path in a non-multipath scenario.  It is
> >for this very reason in the mobile world that the phones 'Connection
> >Optimizers' and radio access network packet schedules begin looking at
> >other radio access technology or channel alternatives.
>
> Can the congestion state and other problems be represented just by
> increased cost? Or does the client really need to know the details about the
> congestion?

In order to maximize IETF standards in place, Congestion is best measured by the Unidirectional CE (ECN Congestion Experienced) count and the reverse path count ECE (Echoed CE).  When you combine this with other metrics such as packet count and Flow count (AVPs we added to Diameter Filters) you can provide a profile of the congestion type, large fat flow congestion, web congestion, etc.   This is the best you can do and are direct counters from the IP and TCP information bases in the network's elements.   In other words we don't have to make anything up!  The other benefit is that it occurs in general outside the encryption mechanism and can be applied without the need for DPI.

ECN markings are unidirectional though.  Which brings back the question of directionality in the maps.  If you see a cost (a=>b) and (b=>a) you can infer that the measurements are unidirectional but what if in the same map I only see a b=>c then how do I interpret?  Should all maps assume the use of general edges, e.g. cost(a,b) = cost(b,a) and we can flag a map as say
unidirectional - if you see a b=>a and a=>b consider this in your calculations but if you only see b=>c *assume* the same value applies for c=>b
unidirectional-strict - if you see b=>a and no a=>b is present the value of a=>b is undefined.

I think that there is also a large assumption about what you mean by client.  Imo, there are many intermediate ALTO server layers that aggregate, reconcile and consolidate information on behalf of the ultimate consumers which I think of as ALTO clients.   These intermediate layers are themselves ALTO clients of the source information tier.  If this is not the case then we have a real problem.  In the coversations I have with suppliers of equipment it is quite clear that in heavy networking scenarios I will have no more than 8-10 racks of equipment managed per NFVI and, therefore, I will have 1 to 2 active controllers for every 8 to 10 racks of equipment.   In the case of a mobile carrier with say, 54 million users, I would expect to have 60 to 120 controllers.   I cannot expose that much information to simple ALTO clients.  I will clearly have multiple layers.

In the case of CDNI, or at least the draft that has been presented wrt ALTO for CDNI, the exposure of the public map from the carrier is a direct result of consolidating the routes across all of those controllers.

>
> Also, does ³other radio access technology or channel alternatives² mean that
> the client adjusts the wireless device¹s access point, channel, power level,
> etc? I don¹t believe those fit into the current ALTO network model, so we
> would need extensions to get those concepts into ALTO.

Once again, I think you are looking at ultimate consumers of ALTO information as Clients and I am concerned about intermediate tiers.  If you look at ultimate client / consumers you are correct.  For intermediate tiers the information is important.

>
> >With respect to Observation #2 is correct if we consider 'small number'
> >say less than 6.   I know that is a nit but it I find it to be all about
> >perspective.
>
> 6 should be fine. I really meant ³small enough to be feasible with the multi-
> cost extension².
>

Very good - 6 it is ;). It is here that we can point to consensus and ultimately the moment we made the wrong decision on the number and it should have been 7 but I will wait until we realize it before we point back to this thread :D - just kidding!

> >I like your proposal but it is often not enough to consider the top
> >protocol and you need to look at the stack itself.  For instance,
> >
> >http/tcp
> >http/mptcp
> >and http/dash (which can include eMBMS on a LTE network) http/quic
> >
> >yield wildly different results in terms of uplink performance and, in
> >turn downlink performance at high speeds due to the ACK speeds and
> >windowing.
>
> Can those be represented as additional parameters on a cost-type, or would
> that require a more fundamental change?
>

I think adding it as another parameter works for me.   A mere string type with a separator between the protocols and then noting something like ' the protocol in the string is the protocol encapsulated by  subsequent protocols in the string ' should be, hopefully, clear enough.   This would avoid silly situations such as seeing 'http/tcp' (correct) and 'tcp/http' (incorrect but probably worthy of an april fool's paper) in the JSON information.  Wildcarding or some form of don't care about the lower layers, i.e. the string does not further specify  should also be considered.

> >Finally, the path extensions make sense.  I liken PID to PID metrics at
> >the measurements of one link so we can understand the cost of egressing
> >a PID and entering another.  This is no different that L2/3 QoS.
> >However, the next question is what is the cost of entering PID A and
> >traversing internal links to then make the connection to PID B.  It is not the
> cost
> >of PID A to B over a L2/L3 link.   How would we represent the difference?
>
> Yes, but I think you are assuming that links are always between PIDs. I think it
> is more likely that the links between PIDs will involve non-PID entities
> (Abstract Network Elements). Eg, paths might be PID1 => link1 =>
> router1 => link2 => PID2, and PID3=>link3=>router1=>link4=>PID4. That is,
> the paths from PID1=>PID2 and PID3=>PID4 share a common element,
> router.
> Since the router doesn¹t have any user endpoints, there is no need for it to be
> a PID.
>

I believe you are right that I am making an assumption here in the sense that links between PIDs involve non-PID entities, however, for at least an operator with their own backbone I can say those entities are L1/L2 (optical) whose measures are well understood and as L2 transit (long haul) we would not expose in ALTO.   I understand that not every operator has this situation but some do.

If there is a router in a site we will put it in if we intend to understand costs.  This is the price of owning everything from the ground up as is the case in some operators.

> >We had the same issue 20 years ago for QoS in general.   Layer 2 tech
> >does well for QoS across Layer 2 but did not give priority to QoS within
> >the router itself - hence DiffServ.   I consider Cost maps the Layer 2 of
> >metrics but we are still missing the internal one.  If the cost of
> >transiting a PID to any other PID is constant than Cost (PIDA => PIDA)
> >= X is sufficient.  If not then we have a representation issue that
> >ALTO does not currently address.
> >
> >Finally there is a question of hierarchical aggregation when presenting a
> >metric value.   How would we measure the Cost from PID A to PID B when
> >there are 3 endpoints in each PID fully meshed to each other but the
> >links have slightly different measurements due to our ability to
> >precisely measure the metric which may lead to several significant digits.
>
> In that case, should those 3 endpoints really be in the same PID? I always
> thought an informal definition of a PID was a set of endpoints such the cost
> between any two endpoints in the PID was significantly less than the cost
> between either endpoint and all endpoints outside the PID.

Yes, especially if they are using multi-cost in the IGP or EGP.  This is a common issue in LAN for LAG and not just specific for ECMP as well.

>
> >Which path or paths represents the cost in Costmap?  How did this get
> >noted as the summary?  How can this be tracked when an Operator needs
> >to understand how the server came to this value?
> >
> >I am not saying path representation answer all or any of these
> >questions but I do understand the value it can provide in terms of
> >giving further information.
> >
> >Also, as far as metrics go packet-count, flow-count and ECN packets
> >observed over a time window are very useful to operators and may be
> >useful in ALTO.   It was such a driver that changes were made to Diameter
> >to address this -
> >https://tools.ietf.org/html/draft-ietf-dime-congestion-flow-attributes-
> >02
> >
> >Lyle
>
> One more consideration: what about ECS? I think ECS is likely to be the most
> popular ALTO service. After all, clients are really interested in costs between
> endpoints; PIDs are just a necessary abstraction. The parameterized cost-
> type model fits nicely into ECS. Unless I missed something, I think path-based
> costs won¹t work with ECS.

Once again I would agree that the ultimate consumer of ALTO would be looking for a simple answer.  The intermediate tiers would be more interested in how to arrive to a good decision.

>
> Here is one additional concern I have with path-based costs. My
> understanding is that ALTO clients are end-user applications, and they cannot
> select paths directly. Instead, clients select the output interface (if the device
> has more than one), port, protocol, etc. The OS & network then select the
> path based on that. So path-based costs require an additional mechanism to
> tell the client how the network maps flows to paths. That is possible, of
> course, but I haven¹t seen a concrete example yet.

I would agree that if you stick to the end-user application being the only consumer of applications then you are correct.  However, I question how good calculations are made in a scalable manner when there are multiple sources.   And finally, I think the draft "CDNI Footprint and Capabilities Advertisement using ALTO" may contradict this a bit.  I would suggest we ask one of the co-authors who *if* we happen to know them :D

>
> Thanks again for you comments and for starting the discussion!

No problem.

>
> - Wendy Roome
>


________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.