Subject: [decade] (belated) review of draft-ietf-decade-integration-example-02

From: Richard Alimi <[email-masked]>
Date: Tue, 31 Jan 2012 23:42:09 -0800

The following is a (belated) review of
draft-ietf-decade-integration-example-02. Apologies for the delay in
getting this out:

In general, I think the draft has good content and after it is cleaned
up, it would be useful to have in order to record implementation
experience that would be useful for protocol design.

Abstract:
- It seems awkward for an integration examples draft to say that it
describes a DECADE client API (when mentioned in the abstract, it
sounds like that is one of the main ideas of the draft).  I understand
the rationale for discussing it to put the experiments, etc in
context. But I wouldn't mention it in the abstract. In the
introduction, perhaps just say that it is presented for completeness
since there is no standard DECADE Client API yet.
- If the goal is to discuss a general "ALTO+DECADE based file
distribution platform", that sounds like a topic for an entire draft
instead of buried in integration examples. Is that too ambitious to
mention in the abstract?  Perhaps better worded as something like "an
example integration of ALTO and DECADE to support file distribution".

Section 1:
- I'm not sure what "A DECADE server provides ... transport service
with interactive control to DECADE clients" means.  Is it possible to
stick to terminology used in other DECADE drafts where it is
available?
- The way it is stated, "P2PLS" sounds like the name of a client that
is commonly-known and publicly available.  Is it?  If it isn't and it
is something developed internally, then it would be better to state
that.  (I see later that this is specific explicitly in Section 2, but
might be better to reword the introduction along these lines too.)

Section 2:
- Should the section be named "Terminology"?
- Indicate what "storage strategies" means (not clear to me)
- It seems like DECADE Client in draft-ietf-decade-arch-04 is the same
as a DECADE Module in this draft? Would be good to align the
terminology.
- I'm not sure "Remote Controller" is a term that needs to be defined formally.

Section 3:
- Does Generate_Token generate the token locally, or ask the server to
generate the token?  Might be good to indicate that here.

Section 4:
- Opening paragraph does not seem complete.. missing the end of the sentence?
- Use "P2P Peer" instead of "DECADE Peer"?  I think "DECADE Peer" gets
across the wrong message.
- "Neither the DECADE server and the original client knows each
other."  Though I understand what is intended, this sentence is kind
of confusing and probably better left out.

Section 5:
- Why say "or at least not to hurt"?  If there was no benefit for the
application itself, it seems like it would not be adopted.
- The "Limited Connection Slot" section actually talks about 2 other
problems that seem to be distinct. Separate them or change the name of
the section?
- I somewhat disagree with saying that these will be harmful,
particularly when we don't even have a protocol written down yet (or
have been chartered to work on one).  These are very useful data
points to have, and things that should certainly be considered when
developing the protocol, but I'd be concerned that someone reading the
draft draws an incorrect conclusion that we've already written down a
protocol that has known issues with it.  Can that section be reworded
to indicate that these are important design considerations that should
be fed in to protocol development?
- Another thing that P2P software does is have many outstanding
download requests at a time, which reduces the impact of the
additional per-block latency.  It might be worth mentioning this.
- The message-level details (BT_Piece/BT_Request) in the "Interface
between DECADE plugin and Vuze client" paragraph are probably too
technical for the introduction to the technique. Perhaps describe that
part at a higher level... like "the DECADE plugin inserts itself into
the Vuze client by intercepting certain BitTorrent messages, and
adjusting their handling to send/receive data using DECADE instead"?
The following sections that you have fill in this detail already.
- Before discussing the technical details of 5.3, either give a
reference to relevant messages in the BitTorrent protocol, or give a
brief explanation of them here.
- In 5.3, it might be clearer to have a diagram of the traditional
BitTorrent message exchange, and then show the corresponding diagram
including DECADE. That would give the reader a better basis for
comparison (and would help explain the conclusions you draw earlier in
Section 5).

Section 6:
- In the introduction, give an overview of the role of ALTO is in this
architecture instead of jumping directly into the technical details.
- I would have expected an ALTO Server and ALTO Client labeled
somewhere in Figure 4?  In general, Section 6 doesn't indicate
anywhere explicitly where ALTO is used. The only thing I see is
"optimal DECADE server", so I'm assuming that part is decided by ALTO.
 In any case, the usage of ALTO should be documented in the diagrams
and the text.
- "DECADE Server will divide the file into many slides as long as the
length of file, and save them in different folder." -- why split put
each piece in a different folder?  That seems like too much
implementation detail for this.
- In 6.3, is the user using a normal web browser (the description
seems to say it does).  If so, then is the browser assumed to speak
the DECADE protocol?
- In Figure 6, why is the Publisher downloading the data?  Presumably
it was the one who originally put the data there :)  I think that is
supposed to be the end-user instead?

Section 7:
- Indicate why a flash-crowd scenario is used - is it to test
scalability?  or some other reason?  A flash-crowd may not be the
"typical" conditions, so it is worth noting why this was used.
- Indicate what "total supply bandwidth" means.
- "Test Controller" used here, but "Remote Controller" in previous sections?
- The lines in Figure 7 are kind of confusing since it is all squished
together. Is it possible to lay out the figure differently to make it
more clear?
- Figure 8: whats the FTP Server for?

Section 8:
- ".. is configured to the corresponding Ethernet port of DECADE
Server."  I tend to doubt that the link speed of the card was
configured.  IIRC, software was used to limit the maximum bandwidth?
- In 8.1.3, I'm still unclear on what "ALTO+DECADE based file
distribution platform" means. The text in that subsection seems to
have nothing to do with ALTO or DECADE?  (Similar comment for Section
8.2.3).
- "While in the native P2P live streaming system, more than 70% of
peers uploaded in a rate that is much more than streaming rate."  Can
that statement be made more precise?  I'm not sure what "much more"
means here.

Editorial:
- In general, the document could benefit from a thorough review for grammar.