Subject: [multipathtcp] Why fairness at shared bottleneck?

From: Ehsan Elahi <[email-masked]>
Date: Fri, 7 May 2010 12:50:45 -0700 (PDT)

Dear all concerned,
It is written in "draft-ietf-mptcp-architecture" in section 4:            "Congestion Control: This function manages congestion control      across the subflows.  As specified, this congestion control
      algorithm must ensure that a MPTCP connection does not unfairly
      take more bandwidth than a single path TCP flow would take at a       shared bottlneck."and also in the abstract of draft-raiciu-mptcp-congestion-01:             "New congestion control algorithms are needed for multipath transport              protocols such as Multipath TCP, as single path algorithms have a              series of issues in the multipath context.  One of the prominent              problems is that running existing algorithms such as TCP New Reno              independently on each path would give the multipath flow more than              its fair share at a bottleneck link traversed by more than one of its              subflows."
Consider a scenario that I want to have a MP-TCP session with a server. I have two interfaces, let A and B and the server also have two interfaces, let C and D. I'm not sure that paths A --> C and B --> D have any shared bottleneck or not. BUT I am paying for using both the interfaces A and B to the service providers and same would be the case for server which is also paying for using the bandwidth of both the available networks. "If I and the server are paying for enjoying both interfaces than why not we should aggregate the bandwidth of both available networks? I think we should not care for the fair share of other TCP connections passing through the same bottleneck because we, the user of MPTCP, is paying for that". 
Rergards
Ehsan ElahiforCenter of Research in Networks and Telecom (CORENET)www.corenet.org.pk

---

From: Yoshifumi Nishida <[email-masked]>
Date: Sat, 08 May 2010 11:28:44 +0900 (JST)

Hi Ehsan,

I guess your concept might work in a closed environment where all users 
use the same ISP, but not sure for other cases..

Suppose if your paths (A->C and B->D) are actually (A->E->C and B->E->D). 
Now I'm starting one TCP connection and the path is (F->E->G). 

Also, let's say you are paying $20 for your two connection and I'm paying 
$100 for my single connection to ISPs.

In this case, what is the fair share at the bottleneck E for you and me?
--
Yoshifumi Nishida
[email-masked]

From: Ehsan Elahi <[email-masked]>
Subject: [multipathtcp] Why fairness at shared bottleneck?
Date: Fri, 7 May 2010 12:50:45 -0700 (PDT)
Message-ID: <[email-masked]>

---

From: Scott Brim <[email-masked]>
Date: Sun, 09 May 2010 11:17:05 -0400

On 5/7/2010 3:50 PM, Ehsan Elahi wrote:
> Consider a scenario that I want to have a MP-TCP session with a server.
> I have two interfaces, let A and B and the server also have two
> interfaces, let C and D. I'm not sure that paths A --> C and B --> D
> have any shared bottleneck or not. BUT I am paying for using both the
> interfaces A and B to the service providers and same would be the case
> for server which is also paying for using the bandwidth of both the
> available networks.
> "If I and the server are paying for enjoying both interfaces than why
> not we should aggregate the bandwidth of both available networks? I
> think we should not care for the fair share of other TCP connections
> passing through the same bottleneck because we, the user of MPTCP, is
> paying for that".

This isn't a consumer economics problem, it's a problem of making the 
Internet as a whole work.  It has always been possible to tweak an 
endpoint's transport protocols so that they grab more intermediate 
resources than other endpoints, but that Just Isn't Done, since it only 
works if others are not doing so.  If everyone did so the experience of 
the Internet would be worse for everyone.  So we train transport 
protocols to be able to make room for others.

---

From: Ehsan Elahi <[email-masked]>
Date: Mon, 10 May 2010 23:41:28 -0700 (PDT)

Dear Yoshifumi and Scott,Thank you very much for your reply.If I accept what you are saying that we are working on the problem of making Internet as a whole work better. Then what are the motivations for an end point to choose MPTCP as an end-to-end transport protocol except for improved resilience to network failure? Because this could be achieved in network also then why at the end point? Any mobility management protocol that is designed for handovers between heterogeneous networks can do that. If every body starts grabbing more network resources by exploiting the use of multiple available paths then why the experience of the Internet would be worse for everyone as this thing would simply increase the number of TCP flows on the Internet and TCP already has built-in mechanism of congestion control and avoidance and I think everybody will experience at least the same throughput as it could achieve from a single TCP connection. BUT as long as it has
 multiple available paths and the network is not so much congested then it should use the network resources as much as it can. I think if I am paying 10+10=$20 for two network connections from two different service providers and the other user is paying $100 for a single connection from some other ISP for the same bandwidth as of mine then he should re-consider his affiliation with the ISP.If I have purchased 1Mbps link for $10 and you have purchased 1Mbps link for $100, then as an Internet user I will never compromise on that the Internet or the transport protocol would be allowed to block my traffic and let your traffic pass because you are paying more then myself for the same package.
Regards
Ehsan [email-masked]
--- On Sat, 5/8/10, Yoshifumi Nishida <[email-masked]> wrote:

From: Yoshifumi Nishida <[email-masked]>
Subject: Re: [multipathtcp] Why fairness at shared bottleneck?
To: [email-masked]
Cc: [email-masked]
Date: Saturday, May 8, 2010, 7:28 AM

Hi Ehsan,

---

From: Yoshifumi Nishida <[email-masked]>
Date: Wed, 12 May 2010 11:49:29 +0900 (JST)

Hi Ehsan,

You can also improve performance by using MPTCP. 
If you have two disjoint links and if there is no other competitive traffics, 
you'll be able to use these links fully by using MPTCP, while TCP can
only use one link. 

Even if there are other competitive traffics on the links, you'll get 
a certain performance improvement compare to using TCP which uses only one link.
You won't get 100% improvement, but MPTCP can outperform TCP (in worst case
it would be equivalent to TCP) 

Thanks,
--
Yoshifumi Nishida
[email-masked]

From: Ehsan Elahi <[email-masked]>
Subject: Re: [multipathtcp] Why fairness at shared bottleneck?
Date: Mon, 10 May 2010 23:41:28 -0700 (PDT)
Message-ID: <[email-masked]>