Subject: Re: [p2pi] Information in an ALTO protocol

From: Laird Popkin <[email-masked]>
Date: Thu, 11 Sep 2008 14:26:08 -0400 (EDT)

Keep in mind that ALTO cannot control a p2p network, just provide guidance to it. P2P networks optimize for performance. So while an ISP might try to discourage use of peers on its network as seeds, the p2p network can freely ignore that guidance if they get better performance by using them anyway, as discovered through all of the other p2p mechanisms (tracker, DHT, PEX, etc.).

The other issue is that ALTO is anticipated to be used by ISPs to provide guidance to their own users. ALTO can't provide guidance to customers of other ISPs. So ISP A cannot tell the rest of the internet to pull data from ISP B but not ISP A.

- Laird Popkin, CTO, Pando Networks
  mobile: 646/465-0570

----- Original Message -----
From: "Richard Woundy" <[email-masked]>
To: "Reinaldo Penno" <[email-masked]>, "John Leslie" <[email-masked]>
Cc: [email-masked]
Sent: Thursday, September 11, 2008 1:02:18 PM (GMT-0500) America/New_York
Subject: Re: [p2pi] Information in an ALTO protocol

>> If applications consistently chose ISP B customers over ISP A
customers, that might double ISP B's application traffic and reduce ISP
A's application traffic to zero...

> It seems ISP A is still using the same bandwidth as before since all
clients in it needs to download the whole file. The difference is that
all those bits are coming from Inter-domain links. Maybe I am missing
something here? Or maybe you mean ISP A's intra-domain traffic goes
almost to zero.

In this example, I meant that clients *outside* of ISP A and B would be
incented to choose ISP B clients as peers, so ISP A's uploading to
(non-ISP A) clients would drop to zero (in theory). So ISP A's outbound
inter-domain traffic would go to zero (in theory). In practice -- it
would depend on what optimization algorithm the ALTO client uses.

I agree that ISP A clients would presumably download the same amount of
content. And as Stas often reminds us, the aggregate amount of
downloading has to equal the aggregate amount of uploading in any
particular swarm.

> I think this value could be easily exchange as part of PEX, the
question is how a peer A would know if peer B is within his group of
friends or not so he how much bandwidth will be available to him.

Good question. It looks like Vuze already figured out a similar
mechanism: http://faq.vuze.com/?View=entry&EntryID=239. :)

>But then, of that theoretical available bandwidth, how much is
available now and in the near future? I think there was a mile-long
thread about measuring bw some time ago in this list.

This was discussed on this list, and I understood that we agreed that
real-time congestion information does NOT belong in an ALTO protocol.

I am talking about allocation of the provisioned bandwidth for the
customer, which is a far more static value. The provisioned bandwidth
could be used by the client for helping to select a candidate peer list.
It does not eliminate the need for measuring actual throughput and
latency, which would be impacted by network congestion.

-- Rich

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
Reinaldo Penno
Sent: Tuesday, September 09, 2008 12:01 PM
To: Woundy, Richard; John Leslie
Cc: [email-masked]
Subject: Re: [p2pi] Information in an ALTO protocol

Hello,

Few comments inline..

On 9/9/08 7:41 AM, "Woundy, Richard" <[email-masked]>
wrote:

>>> and traffic concentration concern (traffic may be drawn to fewer ISP
links
>>> with premium customers).
> 
>> I would hope that congestion would be noticed before this becomes a
problem.
> 
> Let me describe two edge cases to illustrate my concerns. Then, let me
> describe one potential ALTO solution, and one potential non-ALTO
solution.
> 
> First, let's imagine an ISP that does not oversubscribe its broadband
access
> network, so ISP network congestion isn't an issue. This ISP hosts an
ALTO
> server that supplies its users' bandwidths. Further suppose, as an
extreme
> illustration, that this ISP has one premium customer with 10 Mbps
upstream,
> and lots of standard customers with 1 Mbps upstream. Wouldn't a
typical
> application instance in the Internet want to leverage this premium
customer,
> in preference to any of the other customers? And wouldn't that tend to
funnel
> much more application traffic to the network link of this premium
user? And
> maybe that concentration of application traffic is not in the best
interests
> of the premium customer? Maybe this would be another disincentive
(besides
> highere monthly subscription fees) to being a premium customer?
> 
> Second, suppose there are two large ISPs of roughly the same size.
Suppose
> that ISP A provides customers with 10 Mbps upstream bandwidth, and ISP
B
> provides customers with 11 Mbps upstream bandwidth. Also assume that
ISP B has
> made a proportionally greater investment in its network (110%) than
ISP A to
> support the 11 Mbps upstream. Both ISPs host ALTO servers that supply
their
> respective users' bandwidths. If the typical application instance
merely
> compares the user bandwidth of an ISP A customer and an ISP B
customer, it
> would choose the 11 Mbps of the ISP B customer. If applications
consistently
> chose ISP B customers over ISP A customers, that might double ISP B's
> application traffic and reduce ISP A's application traffic to zero. So
ISP B's
> greater investment in its infrastructure, and its transparency in its
ALTO
> service, is rewarded with far more application traffic (200%) than its
> incremental investment (110%) justifies.

It seems ISP A is still using the same bandwidth as before since all
clients
in it needs to download the whole file. The difference is that all those
bits are coming from Inter-domain links. Maybe I am missing something
here?
Or maybe you mean ISP A's intra-domain traffic goes almost to zero.

> 
> Having said this, there are solutions to these problems. One
straightforward
> solution is for the ALTO client to make a peer selection in a
randomized way,
> where the user bandwidth is another bias. For example, all other
things being
> equal between an ISP A customer and an ISP B customer, maybe the ISP B
> customer is chosen 52.4% of the time, and the ISP A customer is chosen
47.6%
> of the time, by a conforming ALTO client. That is, the likelihood of
choosing
> an ISP B customer is 10% higher than choosing an ISP A customer.
> 
> But my preferred (non-ALTO) solution would be to have a simple access
protocol
> to obtain the available access bandwidth directly from the end host.
Here is
> my rationale:
> 
> - The customer always controls whether any bandwidth information is
shared at
> all, and more importantly, with whom the information is shared. Thus,
there is
> no question about ISPs or third parties sharing this information
without the
> customer's permission.
> 
> - The real value reported by this mechanism can be redefined to be
"how much
> of the customer's provisioned access bandwidth does the customer allow
you to
> use". As a customer, for example, I can choose to share proportionally
more
> bandwidth within my circle of friends than with strangers. I can
choose to
> share all of my bandwidth, or maybe to share only some of my bandwidth
because
> I anticipate needing some of my bandwidth in the future. These
preferences may
> be difficult to convey to the ISP or to a third party.
> 
> The mechanism ought to allow for easy query by the application. If the
> application can obtain this value fairly quickly, it can be used for
the
> interim selection of peers, prior to the application attempting to
measure
> available bandwidth by probing. Maybe this value could be communicated
as part
> of the initial transport exchange envisioned by the TANA group?

I think this value could be easily exchange as part of PEX, the question
is
how a peer A would know if peer B is within his group of friends or not
so
he how much bandwidth will be available to him. But then, of that
theoretical available bandwidth, how much is available now and in the
near
future? I think there was a mile-long thread about measuring bw some
time
ago in this list.

> 
> -- Rich
> 
> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf
Of John
> Leslie
> Sent: Thursday, August 28, 2008 8:13 PM
> To: Woundy, Richard
> Cc: [email-masked]
> Subject: Re: [p2pi] Information in an ALTO protocol
> 
> Woundy, Richard <[email-masked]> wrote:
>> 
>>>> Hmmm ... so I suspect that it is premature to say that last-hop
>>>> bandwidth is out of scope?  What do others think?
>> 
>>> For myself, I think we'd be silly to rule it out-of-scope because we
>>> don't believe ISPs would agree to provide it. _Any_ question we ask
an
>>> ISP may well receive a "none-of-your-business" reply.
>> 
>> I might be OK with leaving this in scope. I stated two potential ISP
>> issues in a previous email: the marketing concern (the ISP may be
>> revealing its mix of regular versus premium customers to competitors)
> 
>    This is certainly possible (in which case they won't answer, or
will
> answer with "noisy" data); but I don't think it would actually reveal
> anything terribly useful.
> 
>> and traffic concentration concern (traffic may be drawn to fewer ISP
>> links with premium customers).
> 
>    I would hope that congestion would be noticed before this becomes
> a problem.
> 
>> My bigger concern, however, is the user privacy concern, about the
ISP
>> revealing to the general public about its premium/regular/economy
>> customers. I agree that in many cases that this information may be
>> actively measured, but that would seem to require at least some
>> complicity by the end user (e.g. the end user's host needs to respond
to
>> the measurement traffic).
> 
>    Customers could legitimately object to this information being
revealed.
> 
>> So at least we should discuss whether a user opt-in or opt-out
mechanism
>> should be required for user-specific data like this.
> 
>    IMHO, that is best left for ISPs and customers to work out
themselves.
> 
> --
> John Leslie <[email-masked]>
> _______________________________________________
> p2pi mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/p2pi
> 
> 
> _______________________________________________
> p2pi mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/p2pi

_______________________________________________
p2pi mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/p2pi
_______________________________________________
p2pi mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/p2pi
_______________________________________________
p2pi mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/p2pi

---

From: Reinaldo Penno <[email-masked]>
Date: Thu, 11 Sep 2008 11:30:35 -0700

That was going to be my observation to Rich's point as well. I was wondering
if he was assuming some kind inter-ALTO communication. But even if existed
it would not be Internet wide.

On 9/11/08 11:26 AM, "Laird Popkin" <[email-masked]> wrote:

> The other issue is that ALTO is anticipated to be used by ISPs to provide
> guidance to their own users. ALTO can't provide guidance to customers of other
> ISPs. So ISP A cannot tell the rest of the internet to pull data from ISP B
> but not ISP A.

---

From: "Woundy, Richard" <[email-masked]>
Date: Thu, 11 Sep 2008 14:52:06 -0400

> I was wondering if he was assuming some kind inter-ALTO communication.

I guess I was. And perhaps Laird's points address my ISP traffic
management concerns -- I'm willing to concede.

Still worried about user privacy, though.

-- Rich

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
Reinaldo Penno
Sent: Thursday, September 11, 2008 2:31 PM
To: Laird Popkin; Woundy, Richard
Cc: [email-masked]
Subject: Re: [p2pi] Information in an ALTO protocol

That was going to be my observation to Rich's point as well. I was
wondering
if he was assuming some kind inter-ALTO communication. But even if
existed
it would not be Internet wide.

---

From: Laird Popkin <[email-masked]>
Date: Thu, 11 Sep 2008 15:35:18 -0400 (EDT)

Playing devil's advocate, while ALTO doesn't provide a mechanism for ISP A to tell non-customers anything, but it is possible for the p2p network as a whole to make decisions based on information provided by ALTO. For example, if ISP A says that its users have bad uplink, and ISP B says that its customers have great uplink, then the rest of the internet will tend to download more from ISP B than A. This will be counter-balanced in that if, in practice, ISP A has fine uplink, the p2p network will figure that out and use those peers anyway, ignoring the misleading ALTO guidance, because observed behavior has (IMO) more 'weight' than ALTO guidance.

I agree with the point about privacy. If ALTO tells a p2p client on my computer that I have 15 Mbps down and 5 Mbps up, that client can report it to the p2p network, etc. Of course, without ALTO the app can still measure throughput and report that, and there are plenty of web sites with such analysis. But arguably there's a difference between consumer-collected performance data and ISP-provided provisioning data.

----- Original Message -----
From: "Richard Woundy" <[email-masked]>
To: "Reinaldo Penno" <[email-masked]>, "Laird Popkin" <[email-masked]>
Cc: [email-masked]
Sent: Thursday, September 11, 2008 2:52:06 PM (GMT-0500) America/New_York
Subject: RE: [p2pi] Information in an ALTO protocol

-- Rich

---

From: Salman Abdul Baset <[email-masked]>
Date: Thu, 11 Sep 2008 15:46:10 -0400 (EDT)

This raises at least two issues:

> Playing devil's advocate, while ALTO doesn't provide a mechanism for ISP A
> to tell non-customers anything, but it is possible for the p2p network 
> as a whole to make decisions based on information provided by ALTO. For 
> example, if ISP A says that its users have bad uplink, and ISP B says 
> that its customers have great uplink, then the rest of the internet will 
> tend to download more from ISP B than A.

(1) Do ISPs have an incentive to lie to their customers that their uplink 
is bad?

This will be counter-balanced 
> in that if, in practice, ISP A has fine uplink, the p2p network will 
> figure that out and use those peers anyway, ignoring the misleading ALTO 
> guidance, because observed behavior has (IMO) more 'weight' than ALTO 
> guidance.

(2) Do P2P applications must determine if an ISP ALTO server is lying?

Note, that misconfiguration can also be a cause of ALTO server providing 
misleading information.

-s

---

From: "Griffiths, Chris" <[email-masked]>
Date: Thu, 11 Sep 2008 16:26:12 -0400

> Playing devil's advocate, while ALTO doesn't provide a mechanism for 
> ISP A to tell non-customers anything, but it is possible for the p2p 
> network as a whole to make decisions based on information provided by 
> ALTO. For example, if ISP A says that its users have bad uplink, and 
> ISP B says that its customers have great uplink, then the rest of the 
> internet will tend to download more from ISP B than A.

While I don't disagree that this is possible, I would still expect ALTO 
to verify this data in some way, or have clients from ISP A also provide

data to substantiate this. 

>I agree with the point about privacy. If ALTO tells a p2p client on my
>computer that I have 15 Mbps down and 5 Mbps up, that client can report
>it to the p2p network, etc. Of course, without ALTO the app can still
>measure throughput and report that, and there are plenty of web sites
>with such analysis. But arguably there's a difference between consumer-
>collected performance data and ISP-provided provisioning data.

I would expect that the amount of information (IE:  provisioning data) 
would be adjustable based on the desire of the ISP to present needed
data
for the p2p network and/or client to make the determination on bandwidth

speeds.  It is also necessary that this information and user information
stay private.

---

From: Laird Popkin <[email-masked]>
Date: Thu, 11 Sep 2008 16:28:00 -0400 (EDT)

(1) If an ISP configures their ALTO server to tell applications that the users' uplink is less than it really is, I think that could have two effects. For users inside the ISP, it would tend to suppress internal traffic and cause peers to download from external peers, which is probably bad for the ISP. And it might tend to cause peers from outside the ISP to shift traffic elsewhere to some degree, which would reduce uplink utilization, which would be an incentive to 'aim low'. How these two factors would balance out would depend on the ISP's infrastructure.

(2) I don't believe that the p2p network would have to decide that the ISP's ALTO server was 'lying'. P2P networks all currently measure observed throughput between peers and use that to make decisions. If they add ALTO provisioning information, I would expect that they would treat observed throughput as being more true than the ALTO guidance. So without having to make a decision about 'ALTO lying' the p2p network would tend to take advantage of good ALTO guidance (because ALTO guidance and p2p performance optimization reinforce each other) and would tend to cancel out bad ALTO guidance (because the p2p performance optimization would end up overruling the ALTO guidance).

----- Original Message -----
From: "Salman Abdul Baset" <[email-masked]>
To: "Laird Popkin" <[email-masked]>
Cc: "Richard Woundy" <[email-masked]>, [email-masked]
Sent: Thursday, September 11, 2008 3:46:10 PM (GMT-0500) America/New_York
Subject: Re: [p2pi] Information in an ALTO protocol

-s

---

From: stefano previdi <[email-masked]>
Date: Fri, 12 Sep 2008 11:05:36 +0200

> From: Laird Popkin <[email-masked]>
> 
> (1) If an ISP configures their ALTO server to tell applications that the
> users' uplink is less than it really is, I think that could have two effects.
> For users inside the ISP, it would tend to suppress internal traffic and cause
> peers to download from external peers, which is probably bad for the ISP. And
> it might tend to cause peers from outside the ISP to shift traffic elsewhere
> to some degree, which would reduce uplink utilization, which would be an
> incentive to 'aim low'. How these two factors would balance out would depend
> on the ISP's infrastructure.

... and on the ISP ALTO strategy.

Nothing prevents an ISP to configure his ALTO server in order answer to
identical requests using some form of statistical-balancing preference.

Multiple ISPs may want to cooperate by establishing ALTO policies among
their servers.

> (2) I don't believe that the p2p network would have to decide that the ISP's
> ALTO server was 'lying'. P2P networks all currently measure observed
> throughput between peers and use that to make decisions. If they add ALTO
> provisioning information, I would expect that they would treat observed
> throughput as being more true than the ALTO guidance. So without having to
> make a decision about 'ALTO lying' the p2p network would tend to take
> advantage of good ALTO guidance (because ALTO guidance and p2p performance
> optimization reinforce each other) and would tend to cancel out bad ALTO
> guidance (because the p2p performance optimization would end up overruling the
> ALTO guidance).

I agree. What matters at the end of the day, is the measured experience...

s.

---

From: "Woundy, Richard" <[email-masked]>
Date: Fri, 12 Sep 2008 09:13:43 -0400

I would worry that the 'statistical balancing preference' could
alternatively viewed as 'ISP ALTO server is lying' or 'ISP ALTO server
prefers some applications over others'. I don't want to go there.

-- Rich

-----Original Message-----
From: stefano previdi [mailto:[email-masked]] 
Sent: Friday, September 12, 2008 5:06 AM
To: Laird Popkin; Salman Abdul Baset
Cc: [email-masked]; Woundy, Richard
Subject: Re: [p2pi] Information in an ALTO protocol

> guidance (because the p2p performance optimization would end up
overruling the

I agree. What matters at the end of the day, is the measured
experience...

s.

>> Playing devil's advocate, while ALTO doesn't provide a mechanism for
ISP A
>> From: [email-masked] [mailto:[email-masked]] On Behalf
Of
>>> guidance to their own users. ALTO can't provide guidance to
customers
>> of other
>>> ISPs. So ISP A cannot tell the rest of the internet to pull data
from
>> ISP B

---

From: stefano previdi <[email-masked]>
Date: Fri, 12 Sep 2008 15:22:05 +0200

> From: "Woundy, Richard" <[email-masked]>
> 

well, I don't think there's anything there that needs do be standardized (or
worked out in the context).

Regarding the Alto-lies, it looks to me ALTO is a form of traffic
engineering based on peer selection guidance. I don't see why a
dynamic/variable algorithm (taking into consideration parameters such as
time of day, current backbone load, ...) returning different results for the
same query, would be considered as a "bad thing".

But it also looks to me it's going to be something implementation specific.
Being adopted/used or no will be the ISP choice.

s.

---

From: "Woundy, Richard" <[email-masked]>
Date: Fri, 12 Sep 2008 11:30:32 -0400

> well, I don't think there's anything there that needs do be
standardized

Sorry, I disagree. The protocol spec needs to make the semantics clear
for a "user bandwidth" value. The spec could state that the value could
be randomized / statistically balanced, so that such value manipulation
could be anticipated by the ALTO client. Transparency is the key here.

To be honest, I have my doubts whether randomization of the value will
really help. The more randomization is used, the less effective this
information will help the ALTO client. The less randomization is used,
the more concerns I have about user privacy.

I will step back from this debate and listen.

-- Rich

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
stefano previdi
Sent: Friday, September 12, 2008 9:22 AM
To: Woundy, Richard; Laird Popkin; Salman Abdul Baset
Cc: [email-masked]
Subject: Re: [p2pi] Information in an ALTO protocol

> prefers some applications over others'. I don't want to go there.

well, I don't think there's anything there that needs do be standardized
(or
worked out in the context).

time of day, current backbone load, ...) returning different results for

But it also looks to me it's going to be something implementation
specific.
Being adopted/used or no will be the ISP choice.

s.

>> (2) I don't believe that the p2p network would have to decide that
the
> ISP's

---

From: stefano previdi <[email-masked]>
Date: Fri, 12 Sep 2008 18:14:48 +0200

Rich,

> for a "user bandwidth" value.

sorry, I misunderstood. I wasn't referring to the "user bandwidth" here.

The point I was trying to make is that I'm not sure we need to standardize
the way rankings are computed since each provider may have own policies that
would make results to vary.

The choice of an ALTO client to follow ALTO "suggestion" (or not) will be
solely based on the effective performance.

> The spec could state that the value could

if we have explicit BW values in the ALTO protocol, then I agree with you,
there's no point in hiding/cheating

> really help. 

"randomization" clearly not.

Sorry for the misunderstanding.

s.

> The more randomization is used, the less effective this