Re: [ppsp] New Version Notification for draft-gu-ppsp-tracker-protocol-06.txt

Martin Stiemerling <mls.ietf@googlemail.com> Sun, 13 November 2011 07:11 UTC

Return-Path: <mls.ietf@googlemail.com>
X-Original-To: ppsp@ietfa.amsl.com
Delivered-To: ppsp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28E2B21F8AFA for <ppsp@ietfa.amsl.com>; Sat, 12 Nov 2011 23:11:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.566
X-Spam-Level:
X-Spam-Status: No, score=-3.566 tagged_above=-999 required=5 tests=[AWL=-0.011, BAYES_00=-2.599, DATE_IN_PAST_03_06=0.044, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v+ZmRUvjVZ7U for <ppsp@ietfa.amsl.com>; Sat, 12 Nov 2011 23:11:02 -0800 (PST)
Received: from mail-bw0-f44.google.com (mail-bw0-f44.google.com [209.85.214.44]) by ietfa.amsl.com (Postfix) with ESMTP id DB04121F8AF9 for <ppsp@ietf.org>; Sat, 12 Nov 2011 23:11:01 -0800 (PST)
Received: by bkbzv15 with SMTP id zv15so5810886bkb.31 for <ppsp@ietf.org>; Sat, 12 Nov 2011 23:11:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=QKiho0Ed2QbL+L8mb3OcT93fjQBIk0EIbDBdA6nuLuI=; b=DuXmqflva7Erw+PEipeKoZALpneyfSQSfpWUuYaTcpXOZzi5nlbs21FCJYbLyRrGhf JAOh8hOq3Di5f1/Jt2yUX9P0NeRbkhB3Pw9mJLzLgBOcwMpljo3exm67Hin5holvq/zc LXpCT+ovBXS5G/8MqrxM4rDJdr715UfPUQc5I=
Received: by 10.204.156.68 with SMTP id v4mr14431830bkw.88.1321168260825; Sat, 12 Nov 2011 23:11:00 -0800 (PST)
Received: from [0.0.0.0] (port-92-202-119-160.dynamic.qsc.de. [92.202.119.160]) by mx.google.com with ESMTPS id x14sm23256128bkf.10.2011.11.12.23.10.56 (version=SSLv3 cipher=OTHER); Sat, 12 Nov 2011 23:10:59 -0800 (PST)
Message-ID: <4EBF2F33.80606@googlemail.com>
Date: Sun, 13 Nov 2011 03:45:07 +0100
From: Martin Stiemerling <mls.ietf@googlemail.com>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
MIME-Version: 1.0
To: Rui Cruz <rui.cruz@ieee.org>
References: <20111031112206.30317.90541.idtracker@ietfa.amsl.com> <FE044FA7-7820-4D0B-861B-ACBEF14FC942@ieee.org> <E84E7B8FF3F2314DA16E48EC89AB49F024E6EDB4@Polydeuces.office.hd> <9582A85E-E4E3-43B9-97C9-C46C17BA4B7D@ieee.org>
In-Reply-To: <9582A85E-E4E3-43B9-97C9-C46C17BA4B7D@ieee.org>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
Cc: ppsp <ppsp@ietf.org>
Subject: Re: [ppsp] New Version Notification for draft-gu-ppsp-tracker-protocol-06.txt
X-BeenThere: ppsp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: discussing to draw up peer to peer streaming protocol <ppsp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ppsp>, <mailto:ppsp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ppsp>
List-Post: <mailto:ppsp@ietf.org>
List-Help: <mailto:ppsp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ppsp>, <mailto:ppsp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 07:11:03 -0000

Hi Rui,

On 11/10/2011 12:55 PM, Rui Cruz wrote:
[...]
>
> On 09/11/2011, at 14:46, Martin Stiemerling wrote:
>
>> [Speaking as individual]
>> Hi,
>> I have read the merged version of the tracker protocol and it is for
>> me on the right technical track. I have some issues:
>> -Section 3.7 deals with the media presentation description. I see this
>> orthogonal to the tracker protocol, though there can be dependencies
>> if the presentation description contains information about the
>> trackers. However, it is not the task of the tracker protocol draft to
>> define how the actual information about the location of trackers is
>> conveyed to the peers. I would remove it completely, or add an
>> appendix where the potential dependency between presentation
>> description and information about trackers is discussed. This would
>> give space to talk the many different presentation descriptions
>> available out there.
>
> I agree that the Media Presentation Description may be considered
> orthogonal to the protocol. However, there are in fact dependencies
> related to the identification of trackers for the media/stream (swarm)
> described in the MPD, as well as for the structure of the media/stream.
> This can be "compared" to a .torrent file, that plays somehow the role
> of the MPD in the case of BitTorrent protocol, and as you know, the
> .torrent file contains information about the trackers and the mapping of
> the chunks/pieces of the content.
> I agree that description of the MPD can be moved, with the necessary
> adaptions in the main text, to an Appendix.

This would be good, but please check also for the IETF choice for 
presentation descriptions: SDP.

>
>> -The relationship between the tracker protocol and SVC/MDC/and friends
>> is not clear to me just from reading the draft. I see codec issues
>> more related to the presentation description but not the tracker
>> protocol. However, I’m happy to be convinced by you that there is a
>> relationship.
>
> The Tracker protocol (as well as the Peer protocol) are bound to "VoD or
> Live streaming of multimedia" (with the necessary constraints), not for
> simple file sharing.
> However, a very important principle should be observed, in my opinion,
> related to the role these protocols play in the streaming process, as
> they should be open to support both "Structured Media"
> (SVC/MDC/MVC/multi-bitrate) and unstructured media, but *not being
> involved in the decoding/encoding processes of the "Structured Media"*.
> It is the Media Player application, not the protocols associated with
> the transport of the Media, the entity that should "know" (via a
> requester/re-assembler module) how and what to request (to a "peer") and
> decode the received "Structured Media" (from the "peer") in order to
> "present" it to the User.

I sense that you are saying that it is not necessary to capture the 
notion of structured or unstructured media in the tracker protocol. 
However, I might misunderstand your text.

> As far as I know, other implementations of P2P media streaming, either
> do not support "Structured Media" or, to support it, are deeply involved
> in the requester/re-assembler decoding process, for example, splitting
> SVC layers or MDC descriptions in different "trees" (push mode), or
> using specific "piece picking" strategies and peer selection strategies
> for the selection of the SVC layers or MDC descriptions, but integrated
> into the P2P protocols.

I'm in support of SVC/MDC/AVC, as the ppsp protocols should definitely 
support those type of codecs. I'm only not sure what the impact is the 
protocols, though I see the impact to the presentation description and 
the mapping of codec elements to the transport.

> The Media Presentation Description just helps the processes (associated
> with the protocol) to know which are the Trackers controlling it and how
> to map the chunks in order to "inform" which Peer HAS which Chunk (and
> corresponding layers/descriptions etc.), but not tacking decisions on
> layer/description fetching priorities, unless "instructed" by the
> external requester/re-assembler module of the Media Player.
>
>> -Figure 2: Is this referring to a particular implementation or is it
>> meant to show the conceptual data structures? Anyhow, the
>> relationships between the different parameters are not clear and it
>> may not be required to flesh this completely out. I guess a purely
>> textual description would be better, without going into the detail
>> what the conceptual data structures of a tracker are.
>
> Ok, I agree with that. We will revise it for next version

Thanks!

>
>> -Table1/Request Messages:
>> oI see that the messages there are required on a semantically level,
>> but I’m not so sure that we need all those messages in the protocol.
>> For instance, the LEAVE and DISCONNECT messages are used in a combined
>> way (or interchangeable way) in Figure 3 (see the bottom). Thus LEAVE
>> seems to have a similar semantics like DISCONNECT.
>
> A Peer may have JOINed several swarms, and be just contributing to those
> swarms, but the user may decide to LEAVE a specific swarm, not
> DISCONNECT from the system, and continue contributing or JOINing a new
> swarm to watch a content, while still contributing to other swarms. The
> semantics may seem similar but the purpose is more granular with the
> LEAVE. Eventually, the DISCONNECT message may play the same role as
> LEAVE when specifying a Swarm-ID. Let's discuss this option in the
> meeting and mailing list.

Yes, let's discuss the messages at the meeting.

> Figure 3 just gives a typical example, although I recognize that it
> should not raise these doubts. We will revise it.
>
>> oKEEPALIVE is required on the semantically level, but it could be
>> modeled with another message.
>
> Agreed.
>
>> oThe point I’m trying to make: In the bittorrent tracker protocol,
>> there is only a GET which pulls information about peers from the
>> tracker to the peer and updates the tracker about the peer issuing the
>> GET. This is also used as keep alive. This may be overloading a single
>> message, but on the other hand hints to the fact that only a very
>> limited amount of messages on the wire are required.
>
> Agreed. The STAT_REPORT can be used for the same purpose. Let's discuss
> this option in the meeting and mailing list.

Potentially the tracker protocol needs only a few methods, but can have 
additional parameters which convey the information needed to implement, 
for example, the keepalive.

>
>> -HTTP error codes vs. protocol error codes: I do not see the clear
>> separation in the draft between what the HTTP error codes indicate and
>> what the tracker protocol error codes are. For instance the HTTP error
>> code 400 is already overloaded with 2 meanings: invalid syntax (by the
>> way of what: HTTP or message body of HTTP) and version not supported.
>> This does not look very clean, easy to implement, and also future proof.
>
> Also agreed. Let's discuss if we can just use standard HTTP error codes
> without overloading with multiple meaning, in the meeting and mailing list.
>

The ALTO working group had a similar issue, i.e., reusing the HTTP error 
codes for the actual ALTO protocol, and it turned out that there is the 
need to have two levels of error codes. The HTTP ones for the HTTP level 
(which is the actual transport) and ALTO (our in our case tracker) 
specific error codes.

Both levels may not match in their error conditions. For instance, the 
HTTP request response pair may be completed successfully (no HTTP syntax 
errors, correct URIl, etc), but the tracker protocol itself may run into 
an error condition (e.g., swarm not found).

Thanks and see you at the meeting

   Martin