Thank you for your response. Please see comments inline below.
From: Vijay K. Gurbani [mailto:vkg(_at_)alcatel-lucent(_dot_)com]
Sent: Friday, October 10, 2008 11:41 AM
To: Narayanan, Vidya
Cc: IESG IESG; ietf(_at_)ietf(_dot_)org; p2pi(_at_)ietf(_dot_)org
Subject: Re: [p2pi] WG Review: Application-Layer Traffic
Narayanan, Vidya wrote:
I am surprised to see that ALTO is being proposed for a WG
last BoF concluded with no consensus whatsoever. I think a
is more appropriate than a WG on the topic at this time.
That said, I
do see the need for this work, although I have some comments on the
Vidya: Thank you for the feedback. After analyzing your
points, it seems that the charter as written is already
conducive to the important points raised in your review of it
(i.e., we may already be in agreement.)
Overall, I think we should work with the notion of an ALTO "service"
rather than specifically an ALTO "server".
Great. I believe that is exactly what the charter does; the
charter talks in terms of an "ALTO service" at many places
(pedantically speaking, the term "ALTO service" occurs eight
times and the term "ALTO server" occurs six.) The ALTO "server"
mentioned in the charter refers to the *host* the client
finally queries (calling it a "peer" is ambiguous; if you
have a specific term to use here instead of "server", please
do let us know.)
When we consider ALTO as a distributed service, there may not necessarily be
"a" host that specifically resolves the ALTO queries. For instance, consider
the case where ALTO is a service offered in an overlay. There may be peers
publishing information about themselves on the overlay and other peers looking
up such information. These are not necessarily client-server style
communications. In fact, all that is important in this context is that the
overlay acts as a rendezvous for sharing such information. Now, of course,
that is one possible model. But, in order to allow for that and other models,
I do want the charter to keep the focus on the service and not on a server.
The ALTO service may be provided by a server, a cluster of
servers or as a service in an overlay. Although some of
wording talks about a "service" rather than a "server", there is
enough mention of a "server" entity to imply a strict client-server
The charter is not meant to imply a centralized architecture,
nor to rule out peer-to-peer implementations of it. The
charter simply mentions a "request/reply" protocol is needed.
Whether or not there is a cluster of ALTO servers or one
needs to be decided by the requirement analysis and
subsequent discussions in the WG.
As part of that, I think there are a couple of key things
that need to
be addressed here:
- A protocol that allows peers (or ALTO clients) to publish
information about themselves as part of the ALTO service.
of such information may be the uplink/downlink bandwidth of
We have had discussions on the mailing list about this already.
Some people felt that providing uplink bandwidth would not be
a good idea for various reasons running from privacy concerns
to peers skewing traffic in favor of a high uplink bandwidth.
Others felt that even if a peers uplink bandwidth was not
provided, it could calculated nonetheless by other peers.
That is, there are degrees of disagreement here and
consequently, including a contentious point in the charter
would be counter- productive.
I'm afraid that would be a mistake. It actually doesn't matter if we don't
agree today on the exact types of information that can be shared. It is
important that we have a protocol that allows peers to publish ALTO related
information. Having this protocol be extensible would allow for any type of
information to be carried in it. So, I strongly believe we don't need a
recharter to consider any information types - in fact, I'd be okay if this
effort only took on the protocol and if all information types were to be
registered through other means. That said, I'm not against taking on some
subset of those types - I don't believe that should be the core focus of this
- The ability to register information types with IANA and extend
Having a IANA registry for the information type carried in
the protocol is certainly a possibility the charter does not
rule out, no?
Well, it is a bit hard to say what the charter does not rule out - typically we
try and do what the charter says we should do. However, before we get to the
registry, we need to agree on the protocol components. In my view, there are
two such components - the publish protocol mentioned above and the
request/response protocol (actually, more generically, a lookup protocol)
The request/response protocol should be a generic enough
any information that peers can provide and look for, plus
what may be
available from service providers, etc. There may be some
on how such information types can be registered and we may
Exactly; this is what the charter is saying in the paragraph:
- A document defining core request and response formats and
semantics to communicate network preferences to applications.
Since ALTO services may be run by entities with different level
of knowledge about the underlying network, such preferences
may have different representations. Initially the WG will
consider: IP ranges to prefer and to avoid, ranked lists of
the peers requested by the client, information about
topological proximity and approximate geographic locations.
Other usages will be considered as extensions to the charter
once the work for the initial services has been completed.
We *are* starting with the default information; as other
information is required, we can extend the charter, right?
Actually, I am saying that is exactly what is not needed. I don't see the
information types as something this effort will necessarily nail down. We need
to define interoperable semantics for the protocol - what gets carried in it
may actually be registered as a type in the registry outside of this effort.
The registry comes into picture for enabling this part.
Extending the charter is cheap -- it is a bureaucratic
process that will auto- matically happen if there are enough
interested parties willing to do the work and the work is
considered to be important enough.
I believe that the higher bar is ensuring that the initial
charter contains the right amount of work so that the WG can
finish it in an appropriate amount of time.
The Working Group will design and specify an Application-Layer
Traffic Optimization (ALTO) service that will provide
with information to perform better-than-random initial peer
selection. ALTO services may take different approaches at
factors including maximum bandwidth, minimum cross-domain
lowest cost to the user, etc. The WG will consider the needs of
BitTorrent, tracker-less P2P, and other applications, such
delivery networks (CDN) and mirror selection.
What does the above sentence mean? If we are putting such a list
together, we must also take into account needs from structured P2P
overlays such as those being specified in P2PSIP.
In P2PSIP, the amount of information being stored in the
overlay is small (a R-URI, on the order of tens of bytes.)
ALTO will not much help there. OTOH, ALTO will help
tremendously if in a P2PSIP network, there is a need to find
a peer that hosts the recording of a 2-hour conference call.
Nothing in the ALTO charter prevents this from happening as
it is specified today.
I would like us to think beyond applications we see today. Had TCP not been
designed that way, we probably would have needed a redesign of it for HTTP :)
I can envision video applications using the P2PSIP framework, for instance. In
any event, I still don't have a good understanding of what it means to consider
the needs of these various things - what does it mean to say that we'll
consider the needs of BitTorrent/CDN, etc.? Could you maybe give me an example
of what it means?
Is this meant to allow for entities such as proxies to be
in the path?
There's been quite a lot of discussion on this topic on the list.
Current consensus is to keep the architecture as simple as
possible and exclude at least initially support for
non-transparent intermediaries; if at some point we have
evidence of the need for it, the group will go through rechartering.
Earlier, it is mentioned that the requirements document
the types of information that are useful for P2P
that, it seems premature to conclude that the WG should
above mentioned parameters. Also, as I mentioned earlier,
I think it
is essential to keep the protocol and message formats
allow for exchange of any registered information type.
The limit on what data to consider initially was suggested to
avoid the group to wander for years discussing any kind of
possible information; however, extensibility will be the key
principle in designing a protocol (for good design practices
rather than because it is written in the charter).
Again, as I wrote above, I think the information types are less important than
the container for any such type in the protocol.
Another question I have is about the assumptions around
addressing models. Some of the above seems to hint at IP addresses
- is this an assumption already?
No, the text says "ranked lists of the peers requested by the
client" exactly because we still don't know how they could be
Hmmm... Okay. Perhaps it would be good to say that some analysis is needed to
determine how to identify the peers? Maybe this is something that needs to
happen in the requirements phase.
- Can the ALTO service technically provide that information?
- Is the ALTO service willing to obtain and divulge that
- Is it information that a client will find useful?
I'm not sure how useful it is for us to answer this question. The
protocol we develop simply needs to be a container for any
that has a registered type and fits a certain format.
Sure, no disagreements here. However, the list of questions
that appears in the charter was suggested as a set of minimum
vetting points to ensure that the WG spent some thought
process on making an adequate determination on the importance
and use of an ALTO service. The list of questions does not
inhibit the protocol we develop in any way.
What I am saying is that it is not for us to determine the usefulness of a
particular piece of information. As long as the peers or service providers are
willing to share a piece of information, that can be consumed by other peers as
they deem fit. So, I don't think we should consider ourselves the gatekeeper
for the types of information shared.
Ietf mailing list