Subject: [alto] Question regarding voluntary nature of ALTO clients

From: Paulo Edgar Mendes Caldas <[email-masked]>
Date: Fri, 3 Jul 2020 08:25:04 +0000

Good morning,

I am currently doing investigative work regarding the ALTO protocol for my master's degree. I've been getting acquainted with the ALTO protocol and the problems it tries to solve via reading of the RFCs and drafts that have been published, but I've struggled to find a question to the following - does the ALTO system as a whole have a plan on how to guarantee that the clients act in good faith with the information they receive?

 In particular, consider that a P2P application wishes to have ALTO guidance to pick between a number of potential number of peers, and thus queries for a multi-cost map for the pairs (source_pid, destination_pid) whose throughput and one-way-delay values are within a certain criteria. Is there anything preventing said client to then not prefer the pair whose routing cost is lowest? It would make sense that the ALTO server would prefer that the client would "be kind" and cooperate with the ISP and use the information in a way that is mutually beneficial, but what if the client only cares about client performance?

I can only imagine one of the following solutions - there being some incentive mechanism, restricting the information to trustworthy partners, or deliberately manipulating non-routing-cost metric values to steer clients into a certain choice. The latter seems problematic as it breaks the transparency in layer cooperation and might damage the entire reason the system was created to begin with.

Is there any work done in regards to ensuring client cooperative behavior?

Kind regards,

Paulo Caldas

---

From: Vijay Gurbani <[email-masked]>
Date: Tue, 7 Jul 2020 13:53:33 -0500

Generally, the answer to the question of how a protocol is policed (or
enforced) is that it isn't (policed or enforced).  There is no "protocol
police" that will impose punitive measures on non-behaving clients.

Also generally speaking, well-behaving clients will have an automatic
incentive to continue to behave well since doing so benefits them in some
manner (shorter latencies, shorter download time, etc.).  Similarly, for
the server to disseminate bogus information (as you point in your email)
implies that the entire system will be unused since clients will not prefer
to use guidance that provides sub-optimal performance.  So from a
cost-effort point of view, the system reaches an equilibrium, whether or
not this is a unique Nash equilibrium or there are multiple Nash equilibria
is subject for an academic paper.  Clearly, if a client (or server) pursues
a dominant strategy and is greedy at all times, the value of the overall
system decreases.

Cheers,

- vijay

On Tue, Jul 7, 2020 at 1:44 PM Paulo Edgar Mendes Caldas <
[email-masked]> wrote:

> Good morning,
>
> I am currently doing investigative work regarding the ALTO protocol for my
> master's degree. I've been getting acquainted with the ALTO protocol and
> the problems it tries to solve via reading of the RFCs and drafts that have
> been published, but I've struggled to find a question to the following -
> does the ALTO system as a whole have a plan on how to guarantee that the
> clients act in good faith with the information they receive?
>
>  In particular, consider that a P2P application wishes to have ALTO
> guidance to pick between a number of potential number of peers, and thus
> queries for a multi-cost map for the pairs (source_pid, destination_pid)
> whose throughput and one-way-delay values are within a certain criteria. Is
> there anything preventing said client to then not prefer the pair whose
> routing cost is lowest? It would make sense that the ALTO server would
> prefer that the client would "be kind" and cooperate with the ISP and use
> the information in a way that is mutually beneficial, but what if the
> client only cares about client performance?
>
> I can only imagine one of the following solutions - there being some
> incentive mechanism, restricting the information to trustworthy partners,
> or deliberately manipulating non-routing-cost metric values to steer
> clients into a certain choice. The latter seems problematic as it breaks
> the transparency in layer cooperation and might damage the entire reason
> the system was created to begin with.
>
> _______________________________________________
> alto mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/alto
>

---

From: Sebastian Kiesel <[email-masked]>
Date: Tue, 7 Jul 2020 21:26:01 +0200

Hi Paulo,

when the IETF ALTO working group started some 12 years ago, there was
the expectation (or assumption) that in the P2P use case, this
win-win-situation (better performance in the overlay, less resource
utilization in the underlying infrastructure) would happen on its own.
The core business of IETF is to standardize protocols to ensure
interoperability between different implementations. Other parts of the
overall P2P traffic optimization problem were not in our main focus,
such as developing and fine-tuning a peer selection algorithm that would
make use of the ALTO information, or mechanisms to punish misbehaving
peers.  Back in 2008, it was not uncommon that ISPs would throttle the
bandwidth for residential customers that exceeded a certain threshold of
data volume per month. This scheme could be modified from just counting
bytes to multiplying each byte with its respective routing cost. Following
the ALTO advice would have been a strategy for users to avoid throttling.

It should also be noted, that while the work on the protocol went on,
the focus with respect to use cases shifted - from the "unmanaged" P2P
networks (where no single entity is legally responsible for the overall
operation and traffic distribution in the overlay) to more managed
overlays such as content delivery networks (CDN) or big data
applications for science (there, there might be someone to call if the
overlay does the opposite of what the ALTO server suggests to do). 

best regards,
Sebastian