Re: [multipathtcp] Initial ideas for API requirements

Costin Raiciu <c.raiciu@cs.ucl.ac.uk> Thu, 12 November 2009 07:02 UTC

Return-Path: <c.raiciu@cs.ucl.ac.uk>
X-Original-To: multipathtcp@core3.amsl.com
Delivered-To: multipathtcp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 68D573A6B4B for <multipathtcp@core3.amsl.com>; Wed, 11 Nov 2009 23:02:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eOq9QrYPunQm for <multipathtcp@core3.amsl.com>; Wed, 11 Nov 2009 23:01:59 -0800 (PST)
Received: from bells2.cs.ucl.ac.uk (bells2.cs.ucl.ac.uk [128.16.5.33]) by core3.amsl.com (Postfix) with ESMTP id 752E23A6919 for <multipathtcp@ietf.org>; Wed, 11 Nov 2009 23:01:59 -0800 (PST)
Received: from host-32-98.meeting.ietf.org ([133.93.32.98]) by bells2.cs.ucl.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (C.Raiciu authenticated) (Exim 4.54) id 1N8TaH-000Dew-OJ; Thu, 12 Nov 2009 06:55:10 +0000
In-Reply-To: <133D9897FB9C5E4E9DF2779DC91E947C01B6AD23@SLFSNX.rcs.alcatel-research.de>
References: <133D9897FB9C5E4E9DF2779DC91E947C01B6AD23@SLFSNX.rcs.alcatel-research.de>
Mime-Version: 1.0 (Apple Message framework v753.1)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <FBDCEBD7-150C-4D74-AF18-6C797FDD7942@cs.ucl.ac.uk>
Content-Transfer-Encoding: 7bit
From: Costin Raiciu <c.raiciu@cs.ucl.ac.uk>
Date: Thu, 12 Nov 2009 16:02:00 +0900
To: "SCHARF, Michael" <Michael.Scharf@alcatel-lucent.com>
X-Mailer: Apple Mail (2.753.1)
Cc: multipathtcp <multipathtcp@ietf.org>
Subject: Re: [multipathtcp] Initial ideas for API requirements
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/multipathtcp>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Nov 2009 07:02:00 -0000

How about redundancy? I can think of cases where the app might like  
to send all segments on all paths, to reduce end to end rtt, etc.

Costin

On 12 Nov 2009, at 11:33, SCHARF, Michael wrote:

> Dear all,
>
> draft-scharf-mptcp-api-00 contains a list of potential requirements on
> the MPTCP API towards application. This list is of course just a
> starting point. Currently, it is certainly not complete and may also
> include requirements that will be removed in later stage, once the  
> MPTCP
> architecture spec evolves.
>
> Still, we would really appreciate comments on the scope of the
> (optional) extended API. Please find below a copy of the list in the
> draft.
>
>    REQ1:   Turn on/off MPTCP: An application should be able to request
>            to turn on or turn off the usage of MPTCP.  This means that
>            an application should be able to explicitly request the use
>            of MPTCP if this is possible.  Applications should also be
>            able to request not to enable MPTCP and to use regular TCP
>            transport instead.  (This can be implicit in many cases,
>            e.g., by the use of binding to a specific address versus  
> all
>            addresses).
>
>    REQ2:   An application will want to be able to restrict MPTCP to
>            binding to a given set of addresses or interfaces.
>
>    REQ3:   An application should be able to know if multiple subflows
>            are in use.
>
>    REQ4:   An application should be able to extract a unique  
> identifier
>            for the connection (per endpoint), analogous to a port,  
> i.e.
>            it should be able to retrieve MPTCP's connection  
> identifier.
>
>    REQ5:   An application should be able to enumerate all subflows in
>            use, obtain information on the addresses used by a subflow,
>            and obtain a subflow's usage (e.g., ratio of traffic  
> sent via
>            this subflow).
>
>    REQ6:   Set/get application profile, as discussed in the previous
>            section.
>
>    REQ7:   Constrain the maximum number of subflows to be used by an
>            MPTCP connection.  (Or just infer from application  
> profile?)
>
>    REQ8:   Request a change in scheduling between subflows? (i.e. a  
> more
>            granular version of application profile?)
>
>    REQ9:   Request a change in the number of subflows in use, thus
>            triggering removal or addition of subflows.  (A finer  
> control
>            granularity would be: Request the establishment of a new
>            subflow to a provided destination, and request the
>            termination of a specified, existing subflow.)
>
>    REQ10:  Control automatic establishment/termination of subflows?
>            There could be different configurations of the path  
> manager,
>            e.g., 'try ASAP', 'wait until there is a bunch of data,  
> etc.
>            (Tied to application profile?)
>
>    REQ11:  Set/get preferred subflows or subflow usage policies?   
> There
>            could be different configurations of the multipath  
> scheduler,
>            e.g., 'all-or-nothing', 'overflow', etc.  (Again, tied to
>            application profile).
>
>    REQ12:  Set/get sporadic sending of segments on unused paths
>            ("keepalives").
>
>    REQ13:  An application should be able to modify the MPTCP
>            configuration while communication is ongoing, i.e., after
>            establishment of the MPTCP connection.
>
> Thanks
>
> Michael
> _______________________________________________
> multipathtcp mailing list
> multipathtcp@ietf.org
> https://www.ietf.org/mailman/listinfo/multipathtcp