Put the client in charge of net neutrality
I just upgraded my computer. It was a 700 MB update, and it took 10 minutes or so to get it. I would not have minded if it took a few minutes longer, I did not care. When I have a conversation on the phone (of course using our hosted PBX), I do care for every packet. I need to have that 80 kbit/s stream working without any problem.
Lets assume my service provider is a good guy, wants to provide me the best service and make me a happy customer. And lets assume that I am doing that software update and the phone call at the same time. What should the service provider do in order to make me happy?
As for upstream bitstream, it is in my hands. I can have my router decide that the RTP packets are more important than the TCP stream for the update. We dont need to have any politics involved in that.
As for the downstream bitstream, it is currently not in my hands. The service provider would have to guess what bits are more important and then make a more or less random decision.
In the old days I used another example. At home, those who have teenagers and use their VoIP phone from home, will sooner or later experience that the teenager is downloading MP3s while you have your most important customer on the phone. Shout “Eyyiihhhh can you stop downloading those MP3s, I am having a phone call?”
Thats exactly what we need.
Except that it should not be the daddy shouting at the daughter, it should be the IP phone talk to the service provider. Using a simple HTTP request, with a JSON attachment mentioning the IP address and port where the traffic comes from, and a TTL incase the phone reboots without having the chance to turn the service off.
POST /set-policy HTTP/1.1
"port": [ 54656, 54657 ],
Then my service provider could give that media stream the right priority. The point is that me, the customer, or the client, controls what is important in the “dumb pipe” and what is not.
IP-addressed based authorization could actually be already okay.
This concept can easily be expanded to other services as well. When I am watching my favourite TV series, why not having my TV tell the service provider that the bitstream is rendered to a human person and it should have a reasonable priority, somewhere between that software upgrade and a phone conversation that might be going on.
I don't see why the politicians could see a problem with that. It is not about being completely neutral with the priorities of the packet; it is about who controls it. Giving the client the power about stream priorities does elegantly solve all problems for me.
Service providers offering this policy can easily make their customers more happy. At the end the day this will boil down to better profitability. We don’t need to involve Washington, Berlin or Brussels in this.
Dear service provider, if you read this, please let me know if you would like to put this into a IETF draft and get going. We’ll happily include it in our next version of the PBX and I can talk to some folks in the VoIP industry to make it happen also in the clients.