Re: [httpstreaming] [dispatch] Q-HTTP

"GARCIA ARANDA, JOSE JAVIER (JOSE JAVIER)" <> Tue, 09 November 2010 17:27 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B017F28C12B; Tue, 9 Nov 2010 09:27:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.244
X-Spam-Status: No, score=-5.244 tagged_above=-999 required=5 tests=[AWL=0.405, BAYES_00=-2.599, HELO_EQ_FR=0.35, J_CHICKENPOX_64=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id i-qqJZhc9dzV; Tue, 9 Nov 2010 09:27:25 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 553DF3A6A11; Tue, 9 Nov 2010 09:27:25 -0800 (PST)
Received: from ( []) by (8.14.3/8.14.3/ICT) with ESMTP id oA9HRbJG007409 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT); Tue, 9 Nov 2010 18:27:37 +0100
Received: from ([]) by ([]) with mapi; Tue, 9 Nov 2010 18:27:37 +0100
To: "Mike Hammer (hmmr)" <>, David Singer <>
Date: Tue, 9 Nov 2010 18:27:36 +0100
Thread-Topic: [dispatch] [httpstreaming] Q-HTTP
Thread-Index: Act/+UlpMMdCwOPNTv+dYC+XcynYvwAKevGwAAOEgIA=
Message-ID: <>
References: <><><><><> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: es-ES
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.64 on
Cc: Ingemar Johansson S <>, httpstreaming <>, "" <>, "" <>
Subject: Re: [httpstreaming] [dispatch] Q-HTTP
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Network based HTTP Streaming discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 09 Nov 2010 17:27:26 -0000

Hi Mike and all

Q-HTTP uses a separate control flow for measurements, as you mention, and the application could have N flows. 

When Q-HTTP monitor the quality, it monitors at the "QoS level" of the application flows and alert if constraints are being violated.
If the application has other "non quality" flows, these are not in the scope of Q-HTTP.

Q-HTTP is designed to monitor a set of flows simultaneously (in forward and reverse directions) with different constraints and sensitiveness in each direction. The flows are grouped by constraints, so the same Q-HTTP control flow monitor two sets of flows at the same time:

- a set of downstream flows with the same constraints
- a set of upstream flows with the same constraints ( different from downstream constraints)

The constraints in the same Q-HTTP control flow are defined for up and down sepparately, so the same control flow can have different constraints for up and down, and also different responsiveness (different kbps usage by the control flow in up and down)

The underlaying idea is to allow monitor the quality of any application data protocol used ( simple data over UDP or TCP, ftp, rtp, http, propietary, etc etc), in order to be able to provide a universal measurement/alerting mechanism for any communication at application level.

And...when the alert is raised, what to do? Well, there are a lot of options, for example reduce bitrate of app data flows, or limit the functionalies of the application, or the server can invoke a operator QoS service asking for more quality, or invoke a multi-operator entity which acts over the policy servers of the different operators, or also the network itself could be Q-HTTP aware and react by itself when an alert is raised... All these possibilities are open, and not defined in the draft, but all of them are possibilities

- Jose Javier

-----Mensaje original-----
De: Mike Hammer (hmmr) [] 
Enviado el: martes, 09 de noviembre de 2010 16:38
CC: Ingemar Johansson S; httpstreaming;;
Asunto: RE: [dispatch] [httpstreaming] Q-HTTP


Video has much more volume and burstiness than VoIP, so not sure that analogy will hold.  If you cannot be sure to have at least 50% non-latency-sensitive traffic, and maybe more like 70%, then you will not be over-provisioned enough to have the slack available.  And if video is the lion's share of the traffic, then you better hope that most of that is non-interactive.  Else, you need some type of CAC to ensure live video doesn't get disrupted.

Separate question.  Took a quick read and it seems this Q-HTTP is a separate flow rather than embedded attributes in the flow it is attempting to help.  What if there is more than one flow involved?  And how do you keep each control and app associated?


-----Original Message-----
From: [] On Behalf Of David Singer
Sent: Tuesday, November 09, 2010 5:31 AM
Cc: Ingemar Johansson S; httpstreaming;;
Subject: Re: [dispatch] [httpstreaming] Q-HTTP

There is a bitter lesson I have learned over the years to do with QoS reservation.

It is that there are two ways to solve a real-time bandwidth need.  One is to reserve bandwidth, manage QoS and so on;  one gets protocols and systems like diffserv, ATM, and so on.  The other is simply to have 'too much' of the resource.  Though it feels wrong, the latter often ends up being the cheaper and easier solution.  So, for example, voice over IP is getting used quite a lot, and to good effect, on the internet today not because we have successfully deployed any bandwidth reservation or QoS management protocols and systems, but because the available bandwidth is, for the most part, greatly in excess of what is needed, and the systems can adapt in real-time to what they get (rather than asking for what they want).  The same is true for multimedia delivery; the complexity of RTP + TCP friendliness + QoS management is not worth it compared to having adaptable end-systems and overall more bandwidth than needed.

(I worked on real-time scheduling systems as well, and the same applies; it's cheaper to have a processor which is much faster than needed, with a normal scheduler, than to have a just-enough processor with a real-time scheduler).

I know, it 'feels' wrong.

David Singer
Multimedia and Software Standards, Apple Inc.

dispatch mailing list