Internet providers are trying to figure out how to survive when
their users are streaming gigabytes worth of media and making IP
phone calls instead of viewing the web pages that their account
pricing structure expected. Congress people are trying to find an
incentive for network providers to build more infrastructure in a
market that looks to be wildly more costly than present as
bandwidth demand rises. Some suggest a tiered internet, making
the big content companies pay the internet provider. But where
does that leave the little guy with a political message that
should be heard, the new startup with a disruptive technology,
and the internet provider's competitor?
The solution to escalating bandwidth demands isn't a tiered
internet, it's selling quality-of-service.
Streaming media and VoIP depend on quality-of-service, a very
different quantity from raw bandwidth. Sure, your internet
provider says you get six megabytes per second, but when, and how
steadily? Those are the questions that quality-of-service
guarantees answer.
Quality-of-service is frequently abbreviated as QoS.
A VoIP phone call depends on real-time
quality-of-service if it is to approach the routine quality
standard of conventional telephone service. A certain number of
bytes must be transmitted between each end of a connection every
tenth of a second, and dropped packets will be noticed. If your
internet provider pauses sending packets for a second, your phone
call is cut off for that second.
But if you are viewing web pages instead of chatting on the
phone, you might not even notice that one-second gap. While
downloading a music file to be played later, you notice the speed
at which the entire file is transferred, not whether the transfer
is steady or goes in leaps and bounds.
Streaming media is different too. Usually, a streaming media
viewer buffers many seconds of programming ahead of what
you're seeing or listening to. Twenty seconds of buffer
isn't unusual, and if a basketball game is delayed one minute
from the real event, you'll probably be none the wiser.
However many seconds your viewer has buffered, it can cover up
that long a gap in transmission. So, the internet provider might
slow down your connection for a minute during that basketball
game, and you wouldn't notice. The quality-of-service
required for streaming media includes the ability to deliver a
certain number of bytes over time, but allows leaps, bounds, and
gaps that would be intolerable for a VoIP call.
So, you can see that four different types of web usage each
require a different quality of service. It's probable that
your internet contract doesn't guarantee the quality of
service required for VoIP or streaming media at all. That might
have been OK when only alpha-Geeks used VoIP and streaming media,
and they were like motorcyclists cutting between lanes of
plodding cars. Now that so many more people are using facilities
that demand a high quality-of-service, internet providers might
not be able to provide it any longer. And they aren't
obligated to do so.
Internet providers should be able to sell quality-of-service now.
If you want VoIP, you should pay for VoIP quality-of-service. And
of course the same for streaming media. If you don't pay for
that, your account should still be fine for viewing web pages and
downloading files that you view later. And it might still work
for VoIP and streaming media, especially at times when there are
fewer customers online.
Since customers won't generally want to read a
quality-of-service specification, a technical thing of bandwidth
and timing numbers, there's room for standards
organizations to provide simple names for different sorts
of quality-of-service guarantees that can be compared between
different internet providers.
Operating systems and applications have a role in
quality-of-service as well. Internet protocols include
quality-of-service indicators that can be set for different sorts
of use. Programs that view streaming media should set different
indicators than ones that make VoIP calls, and programs that
download files for later viewing should indicate that it's OK
to let VoIP or streaming cut in front of them if necessary.
Unfortunately, recent Microsoft operating systems always set the
indicators to ask for the maximum possible quality-of-service at
all times. Some non-Microsoft software does that too. I guess it
makes benchmarks run faster, but at the cost of making it
impossible to deliver a high quality-of-service where it's
really needed. When software fibs about the quality-of-service it
needs, your internet provider's router doesn't have the
information it needs to give reliable service to a phone call at
the cost of delaying a download for a second.
Providing the right quality-of-service indicators is a
responsibility that all software vendors must now take seriously.
And customers are going to have to take interest in the
quality-of-service guarantees that come with their internet
connection.
Bruce Perens
The key difference between this (selling consumers QoS) and the tiered internet proposals is in who's being asked to pay.
In the QoS proposal, the consumer is asked to pay for a better grade of Internet service. As it's the consumer who's most affected by QoS issues, this is fair; you can choose lower QoS if you don't need the highest grades of service, and QoS ends up as just another feature of your service, like line speeds (so you can pay for a high-QoS 1MBit/s symmetric connection, or a low-QoS 1GBit/s down, 10MBit/s up connection). As a consumer, you decide what's more important to you; cheap service, or being able to use Vonage without fear of congestion-related dropouts.
In the tiered internet proposals, the content providers are being asked to pay for faster access to your line. As a consumer, you get no choice about paying for QoS; instead, Vonage, Google, or whoever you deal with chooses whether to pay. If you would be happy using a 512MB streaming buffer to watch Google Video, you might still end up paying for the QoS needed to allow you to watch it with a 64kB buffer.
I leave it to the reader to work out which one is free-market capitalism at work, and which one depends on an oligarchy or monopoly of last-mile providers.
As a side note, the QoS system Bruce is proposing has problems; it depends on all Internet nodes setting their QoS bits "correctly". Obviously, malware will set its QoS bits to bypass this. There are ways round this (e.g. allowing consumers to filter the sites able to set QoS in the first place, or throttling traffic in ways that make fake QoS undesirable - high precedence throttled to 128kBit/s, while bulk is unthrottled, for example), but it does need a bit more thinking through before it's deployable.
I only remember a little bit from Stephens TCP/IP book 1, but I have two questions:
Aren't content providers already paying for fast connections to the Internet, and paying proportional to the traffic they generate?
On the customer's end, why isn't throttling an adequate decision? How is it that this requires "a bit more thinking" -- isn't this techniqute, which has been around for a long time, entirely sufficient?
I'll address the content providers' payment first; yes, they are. And some broadband providers have suggested that they should be forced to pay again if they want decent speeds to customers. The idea is that Google will pay (say) 1/10000th of a cent per search, to ensure that its traffic is treated as more important than Yahoo!'s by the throttling mechanism, Vonage will pay for low-latency and guaranteed packet rates, etc. Onto the issue of QoS generally!
The idea behind QoS is to vary the throttling parameters according to the traffic. For example, if I have an OS upgrade downloading, a telephone call to my mother, and my girlfriend's watching streaming video on a second PC, it would be nice to tell the throttler that the packets for the telephone call must not be dropped, and that the video is more important than the OS upgrade (so that my call is perfect, my girlfriend's movie doesn't glitch, but I'm still able to use the spare bandwidth for a big download).
I did implement a scheme like this when sharing a 512KBit/s connection in a student house (4-way sharing); however, each traffic stream got its own set of tradeoffs. For example, I gave each user 32kBit/s of very high priority traffic; trying to use this to download anything was worthless, but it was great for SSH back to university servers. In addition, I capped all non-bulk traffic belonging to one user at 128kBit/s; thus, bulk was ideal for big downloads.
In doing this, I had to implement quite a few rules to mark packets accordingly; for example, I had a rule that marked long-running HTTP sessions as bulk (but not short sessions), and another that marked some SSH packets (those belonging to an interactive session) as very high priority. A more complex rule selected gaming traffic and marked it as very high priority, so long as the rate was low enough, while another rule ensured that all "normal" packets were appropriately marked.
For the consumer market, I'd want some way of saying things like "I trust Microsoft to mark their traffic properly, but I don't trust anyone on Comcast residential cable to get it right". Otherwise, the next virus outbreak is going to kill consumer connectivity by marking all its traffic as "high-priority, do not drop".
In my opinion, even when it's not technically impossible to implement a tiered Internet, the consecuences of accepting such a thing would be tremendous.
First of all, there's been much of a debate about centralizing control of Internet resources. Imposing the "who's who on the Internet" strategy bend much more than a little the very foundations of cooperation and freedom of speech that we in a way have now, in a way that "customers" (we are all customers one way or another) would be restrained to the specific "Class-of-Connection" we may have bought.
Besides being concerned about border peering agreement (where applicable) we now should be worrying about "QoS agreements" between carriers! I'm just fantasizing about this coming true, and to me it feels like having your big brother constantly peeking over your shoulder, watching you doing what you are just supposed to.
There are a number of technical and ethical points to be considered as part of the game, nonetheless, getting into a hierarchical "pay-per-view" (or "pay-per-use" actually), would very much confine people from doing just what they want, whatever that could be.
From a technical perspective, it's not really scalable, since new applications see the light everyday, new traffic patters seem to evolve, and so protocols and tehnology overall. There would be a massive definition of PHB rules to cope with all possible traffic categorization.
I guess in the cases where real-time or any other classes of traffic needing preferential treatment is necessary, there are most oftently alternative ways without comprimising the entire routing domain.
isn't it google etc., who are providing the content that consumers use on the internet, imparting a defacto structure without which bandwidth providers would be useless? You can have the biggest pipes in the world,but if there is no content flowing through these pipes, they are nothing but a financial drain for the providers (telco's). If one provider demaned a higher payment from google, for google to provide it's content to the consumer, why wouldn't google just say 'fine, no more of the users on your network will be able to access google'. who might win that batle?
The main problem I see with this is that right now most consumers have no way of knowing if they are getting what they pay for already.
Isn't the reason the networks are screaming for money is that they have sold more they can supply? Which is fine as long as your assumptions hold (I do this in my line of work everyday). Now that the networks' planning assumptions are breaking, there will be even more pressure on them to play by the fine print of the ToS they sold under - normally something like - well will try but no guarantees.
So fine sell a QoS product at whatever premiums (I also do this everyday), but have the capacity to back it up. However in my line of work if we don't deliver all hell will break loose. What comeback will consumers have against a carrier that fails to meet the QoS promised? Refunds? Will it be enough to provide incentive to meet their commitments? Who is going to enforce it and how? Anyone want to propose contract terms to deal with this?
There is a logical appeal to this approach. Passengers paying for first class tickets to my coach destination don't arrive any sooner, but they get better service along the way. So long as tiered service does not mean that some flights are exclusively first class, then I'm still OK -- I can still get to my destination, but it may be a more unpleasant ride.
The Internet analogy may work fine when I'm paying for the price of dialup versus a T1 line, and any grades along the way, but I see some trouble when we start braking out types of services. We may all agree that 911 calls should get priority, and that VoIP requires a higher level of QoS than downloading tax forms from the IRS website, but there is not much room for a democratic decision. An ISP that has invested heavily in Skype may have a greater interest in QoS of Skype calls than Vonage calls, for example. Yet, also, the person who never uses VoIP may balk at seeing slower YouTube movies because “the ‘net” decided VoIP gets higher QoS.
I would welcome providers competing with each other to provide the very best QoS vis-à-vis their competitors, but only if they do so on a bit basis. Letting the providers decide how and whether to tier QoS allows for too much mischief. For those seeking to please everyone, rational decisions may flourish, but if my ISP has a huge stake in, say, persuading me to spend money to watch movies, any other use of the Internet that might interfere with me watching a movie will naturally warrant a lesser quality of service.
I would rather leave the control to the individual as to which services get the priority – to decide if, when streaming video, I want to slow down my e-mail, or if when I’m using my computer for business, my daughter’s video chat will not hog the home’s bandwidth.
Tiered Internet vs. Selling Quality of Service
Internet providers are trying to figure out how to survive when their users are streaming gigabytes worth of media and making IP phone calls instead of viewing the web pages that their account pricing structure expected. Congress people are trying to find an incentive for network providers to build more infrastructure in a market that looks to be wildly more costly than present as bandwidth demand rises. Some suggest a tiered internet, making the big content companies pay the internet provider. But where does that leave the little guy with a political message that should be heard, the new startup with a disruptive technology, and the internet provider's competitor?
The solution to escalating bandwidth demands isn't a tiered internet, it's selling quality-of-service.
Streaming media and VoIP depend on quality-of-service, a very different quantity from raw bandwidth. Sure, your internet provider says you get six megabytes per second, but when, and how steadily? Those are the questions that quality-of-service guarantees answer.
Quality-of-service is frequently abbreviated as QoS. A VoIP phone call depends on real-time quality-of-service if it is to approach the routine quality standard of conventional telephone service. A certain number of bytes must be transmitted between each end of a connection every tenth of a second, and dropped packets will be noticed. If your internet provider pauses sending packets for a second, your phone call is cut off for that second.
But if you are viewing web pages instead of chatting on the phone, you might not even notice that one-second gap. While downloading a music file to be played later, you notice the speed at which the entire file is transferred, not whether the transfer is steady or goes in leaps and bounds.
Streaming media is different too. Usually, a streaming media viewer buffers many seconds of programming ahead of what you're seeing or listening to. Twenty seconds of buffer isn't unusual, and if a basketball game is delayed one minute from the real event, you'll probably be none the wiser. However many seconds your viewer has buffered, it can cover up that long a gap in transmission. So, the internet provider might slow down your connection for a minute during that basketball game, and you wouldn't notice. The quality-of-service required for streaming media includes the ability to deliver a certain number of bytes over time, but allows leaps, bounds, and gaps that would be intolerable for a VoIP call.
So, you can see that four different types of web usage each require a different quality of service. It's probable that your internet contract doesn't guarantee the quality of service required for VoIP or streaming media at all. That might have been OK when only alpha-Geeks used VoIP and streaming media, and they were like motorcyclists cutting between lanes of plodding cars. Now that so many more people are using facilities that demand a high quality-of-service, internet providers might not be able to provide it any longer. And they aren't obligated to do so.
Internet providers should be able to sell quality-of-service now. If you want VoIP, you should pay for VoIP quality-of-service. And of course the same for streaming media. If you don't pay for that, your account should still be fine for viewing web pages and downloading files that you view later. And it might still work for VoIP and streaming media, especially at times when there are fewer customers online.
Since customers won't generally want to read a quality-of-service specification, a technical thing of bandwidth and timing numbers, there's room for standards organizations to provide simple names for different sorts of quality-of-service guarantees that can be compared between different internet providers.
Operating systems and applications have a role in quality-of-service as well. Internet protocols include quality-of-service indicators that can be set for different sorts of use. Programs that view streaming media should set different indicators than ones that make VoIP calls, and programs that download files for later viewing should indicate that it's OK to let VoIP or streaming cut in front of them if necessary. Unfortunately, recent Microsoft operating systems always set the indicators to ask for the maximum possible quality-of-service at all times. Some non-Microsoft software does that too. I guess it makes benchmarks run faster, but at the cost of making it impossible to deliver a high quality-of-service where it's really needed. When software fibs about the quality-of-service it needs, your internet provider's router doesn't have the information it needs to give reliable service to a phone call at the cost of delaying a download for a second.
Providing the right quality-of-service indicators is a responsibility that all software vendors must now take seriously. And customers are going to have to take interest in the quality-of-service guarantees that come with their internet connection.
Bruce Perens