Subject: [hybi] BWTP and flow weigth (MulTCP)

From: Ingemar Johansson S <[email-masked]>
Date: Mon, 8 Mar 2010 08:02:07 +0100

Hi folks

I have a question regarding BWTP and a possible capability to set the flow weight 

http://tools.ietf.org/id/draft-welzl-multfrc-01.txt 
and
http://research.microsoft.com/en-us/um/redmond/events/pv2009/papers/session_congestion_control/paper%2018.pdf
also http://www.ieee-infocom.org/2004/Papers/52_1.PDF

discusses the possibility to let the TCP CC algo (or TFRC) behave like N TCP where N can even be a non-integer value.
This can be used by endpoints to set different weights for the BWTP flows that they initiate. For instance video can be given a weight of 1.0 while voice is given a weight of 5.0.

Would it be of interest to include a parameter in the initialization that allows the endpoints to set the weight ?. There is of course no guarantee that this parameter will have any effect as it depends fully on the OS implementation of the TCP stack but a parameter like this may be useful in the future.

/Ingemar
=================================
INGEMAR JOHANSSON  M.Sc. 
Senior Research Engineer 

Ericsson AB
Multimedia Technologies
Labratoriegränd 11
971 28, Luleå, Sweden
Phone +46-1071 43042
SMS/MMS +46-73 078 3289
[email-masked]
www.ericsson.com 
Visit http://labs.ericsson.com !
=================================

---

From: Greg Wilkins <[email-masked]>
Date: Mon, 08 Mar 2010 11:23:59 +0100

Ingemar,

note firstly that it is my intention to come up with a reworked BWTP as a
websocket subprotocol.

But eitherway, I think that having flow control for BWTP channels would
be highly desirable, specially as one of the potential uses of BWTP
is to multiple multiple clients together.

I'll certainly have a read of those links that you provided.

cheers

Ingemar Johansson S wrote:
> _______________________________________________
> hybi mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/hybi

---

From: Jamie Lokier <[email-masked]>
Date: Mon, 8 Mar 2010 22:41:42 +0000

> is to multiple multiple clients together.

This is flow weight, not flow control.  They are really quite
different, even though they both "control" the flow.

Flow control is absolutely required when multiplexing independent
clients without their cooperation, otherwise one client can block
another from making progress, breaking their independence.

Flow weight is more like bandwidth management or QoS, except I presume
'CC' refers to congestion control.  It does indeed make sense to
include it in multiplexing.  Good multiplexing needs fairness
heuristics in general too.

-- Jamie

---

From: Ingemar Johansson S <[email-masked]>
Date: Tue, 9 Mar 2010 07:58:10 +0100

Hi

I agree there are two sides to this problem

I believe Bryan Ford did an interesting job in this area, even though his intention was to run the whole thing over over UDP the multiplexing issues are quite the same and it may pay off to look at the problem formulation and also the solution
http://www.brynosaurus.com/pub/net/sst.pdf esp. section 5.6 

Another problem is where websockets compete with non-websockets stuff over the same bottleneck link. One such (possibly evil) scenario is that the user starts an FTP download in the middle of a "websocket" chat. It is possible that this problem should be solved at the layer below websocket as it is I believe a general problem.

/Ingemar

> -----Original Message-----
> From: Jamie Lokier [mailto:[email-masked]] 
> Sent: den 8 mars 2010 23:42
> To: Greg Wilkins
> Cc: Ingemar Johansson S; [email-masked]
> Subject: Re: [hybi] BWTP and flow weigth (MulTCP)
> 
> Greg Wilkins wrote:
> > 
> > Ingemar,
> > 
> > note firstly that it is my intention to come up with a 
> reworked BWTP 
> > as a websocket subprotocol.
> > 
> > But eitherway, I think that having flow control for BWTP channels 
> > would be highly desirable, specially as one of the 
> potential uses of 
> > BWTP is to multiple multiple clients together.
> 
> Flow control is absolutely required when multiplexing 
> independent clients without their cooperation, otherwise one 
> client can block another from making progress, breaking their 
> independence.
> 
> Flow weight is more like bandwidth management or QoS, except 
> I presume 'CC' refers to congestion control.  It does indeed 
> make sense to include it in multiplexing.  Good multiplexing 
> needs fairness heuristics in general too.
> 
> -- Jamie
>