I think I’m behind by a post or two, and I never got to write about net neutrality after the class discussion, so here’s a double-length post with some of my ideas…
In class we discussed how our intuition contradicts itself for net neutrality. We generally feel that ISPs should be allowed to build their own networks and use them as they see fit. (e.g. build 2 pipes — one for internet and one for proprietary video content. This is the same as 1 pipe, twice as large where they restrict half the bandwidth for video.) At the same time we feel they shouldn’t be allowed to discriminate against certain traffic that might compete with their own services, or charge companies like Google to have their content carried faster. We found that these viewpoints will often contradict each other. Why can’t an ISP add new capacity to their network and then sell that bandwidth exclusively to “preferred” providers? Also, many design tradeoffs must be made, perhaps between bandwidth and latency, and some applications like VOIP or streaming video might be adversely affected by prioritizing one over the other. As an otherwise legitimate design decision, the ISP could design their network for exclusivity in a particular market.
Having given some thought to this contradiction over the past few weeks, I think the problem lies in the abstractions regarding “the Internet” and how we purchase access to it. While we might picture the internet as a giant cloud and we purchase a connection into that cloud with a particular capacity, the real Internet is not so uniform. We buy a connection to our ISP, who has connection points to some larger ISP, who runs part of the backbone and connects to the backbone’s of other ISPs. So some points on the internet at “closer” than others and we can observe the difference. The most obvious is comparing the speed at which we can connect to U.S.-based as compared to those overseas.
For the longest time however, most end-users have been mostly blind to the non-uniformity of the internet. Before wide-spread broadband and fast university connections, we were all on slow modems. Our connection to the local ISP was the bottleneck to get to anyone. Once we got past that and onto the “net”, it didn’t matter very much who we were talking to, where they were, or how we were connected to them. Furthermore, the ISP could have many dialup customers connected aggregated over their own connection to the internet backbone since each user was limited in speed. With broadband, that picture is beginning to change, and the abstraction of the cloud internet will erode even further as individuals have fiber-optic connections in the “last-mile”. It is becoming simple for each user connected to an ISP to have more capacity to the ISP than the ISP can provide him to the rest of the internet or farther away points. As a result, the closer someone is to me on the network, the faster I can communicate with them. If Google happens to use the same ISP that I do, I will get a faster connection than others, without any intentional network discrimination taking place.
This distinction isn’t all bad. For efficiency of the network and reducing cost, it might make sense to design high-bandwidth applications closer to the end users. As an ISP with a customer who wants video content that uses 2 megabits of bandwidth (2 Mbps), I can have an extra 2Mbps in bandwidth to the internet backbone if the provider is remote, or provide that connection directly on my network to a closer provider. The latter would save quite a bit of money since I already have a fast connection within my own network.
Now hopefully we all can visualize the problem a little more, I suggest that we change our abstraction about purchasing “Internet” connections. We need to look at more details. Instead of buying a single Internet connection through an ISP for x Mbps, we should split it up into two components: our connection to the ISP (x Mbps), and our portion of the ISP’s connection to the “Internet” (y Mbps), where x>y . We can still abstract the connections that make up the rest of the internet, the design tradeoffs and even the aggregation of bandwidth, but now we would recognize that my connection to the ISP, and anyone else directly connected to them, is faster than to the rest of the network. For neutrality, we simply ask (or require) that the internet portion of my connection (y Mbps) be blind to the content and destination. We can then give the ISP discretion about what x & y should be and what services they want to offer me directly, and let the market set prices.
So now my ISP can sell me a 20/15 Mbps connection for $20 per month, with 20 Mbps direct to the ISP and 15 Mbps to the rest of the internet. I can use my 15 Mbps to search, buy video, use VOIP, etc from anyone I like, knowing how my capacity is limited. The 40/30 Mbps plan might cost $40 per month, but the ISP could offer me an upgrade to a 40/15 Mbps connection for only an extra $5 per month. Now if I buy their cable TV service which takes 10Mbps, I still have my full 15 Mbps of internet bandwidth, whereas if I choose another cable TV service, I may limit myself to 5 Mbps. The market will help determine what each component of the connection is worth.
Also, this would help make internet connections less of a commodity product. I might choose the cheapest ISP, or I can pick the one that has a direct connection to Vonage and Google, knowing that I’ll need less bandwidth for other things. Maybe the ISP will even pay Google for the privilege, instead of the other way around. The ISP that wants to limit my Internet connection so I’m forced to buy their cable TV service will either reduce my internet bandwidth, or raise the price, and in doing so might price themselves out of the market.
I’m not sure if anyone else is still writing, but it would be great if someone wants follow-up and look at this from the other side. In this model of buying network connections, will the ISP, by setting prices, bandwidth, and choosing when and how to upgrade their network, be able to discriminate against their competition in spite of a content-blind internet component.