Can Apps Really Damage a Cellular Network?
schnell writes "In FCC filings earlier this year, T-Mobile described how the behavior of one Android IM app nearly brought their cellular data network to a breakdown in one city. Even more interesting, the US carrier describes how just the 300,000 unlocked iPhones on their network caused massive spikes in data usage. T-Mobile is using these anecdotes as evidence that mobile carriers should be able to retain control over the applications and devices on their network to ensure quality of service for all users. Do they have a point?"
That's not true.
UMTS signalling traffic is actually a big worry too.
Setting up and tearing down radio resource connections all the time has a burden on the network. Mobile applications, with their diverse update patterns (e.g. polling every 30 minutes (email apps), or minute or even few seconds (e.g. IM apps)), can make it difficult for carriers to set up their RRC inactivity timers and various other settings in a way that minimises signalling load on the network.
While EDGE is counted under the 3G banner, it's really not 3G at all.
EDGE is upgraded 2.5G (GSM/GPRS), speeds are not even close to basic HSPA.
There's a theoretical max of 473.6kbps for EDGE, 14mbps with HSPA. So the "traffic spikes" claimed by T-Mobile are laughable. If you're network can't handle 1/28th of it's capacity then there's something seriously wrong with it.
Actually, yes, it is possible.
You simply flood the network with control messages. That will effectively DoS the tower. What kind of control messages? Well, sending an SMS is a control message. Setting up and tearing down data and voice connections are other control messages, and all are done on behalf of apps.
Supposedly, one of the major reasons AT&T is having issues with the iPhone is because the iPhone actually does this, a lot. Control channel bandwidth is limited and normally, you don't have much going across it (because it's just call setup/teardown and the like). But with the meteoric rise of SMS and data usage, the control channel actually is in somewhat of a bandwidth crunch.
Europe and Asia have no problems with iPhones as they've gone to a dynamic bandwidth control channels because of the popularity of SMS. North America until recently didn't need to. So now control channels are somewhat packed with text messages, and you introduce the iPhone with its aggressive power management that tears down data connections ASAP. So a data channel might be established and torn down to view one web page or whenever an app requests data. Most phones prior to this created a data channel and hung onto it until it idled for a long period of time (after all, you're billed by the packet, so keeping the data channel open costs nothing, and it means it's always ready when you need it so you don't have to wait to establish the data channel again and again).
I can see a few apps that constantly abuse this which can easily take down a network. Setting up/taking down a voice call, setting up/taking down the data connection, do it fast enough and you can really clog up the tower. Enough people do this and the tower can be put out of service because it's stuck establishing and taking down connections so fast that no one else can get in.
Raw bandwidth wise though, you're not likely to do anything other than slow down due to congestion if the tower's uplink gets saturated.
In fact, that's what the IM client did - it established and tore down connections very quickly. A phone with aggressive power management (required on Android) would basically be spewing out control messages all day. This can be made more painful if the carrier makes notes in a database for billing purposes.
I actually did just read the article and contrary to what many people are posting about, this isn't about data usage and utilization, it's about connectivity utilization and overhead. It seems that similar to opening and closing a database connection there is some overhead in establishing a data connection on a cell phone which is seems is again similar to what happens when you send and SMS. It seems that smart phone development is similar to desktop development in that the application is rarely responsible for creating it's own network connection and instead relies on the OS to handle the network connection. If the phone OS is designed to create and destroy a new data connection for each request then how is that the applications problem. Also, how does a jailbroken iPhone handle data connections differently than a non jailbroken iPhone, the claims made in TFA are just absurd.
I recall reading somewhere that some European carriers use a different methodology that doesn't create such a bottleneck when these connections are opened and closed. So it seems that once again, the US cell carriers are trying to blame the users of their network for causing problems that would (could, and should) be fixed by upgrading the infrastructure. Cell providers make way too much money to complain about not being able to upgrade their networks.
Do what thou wilt shall be the whole of the Law - Aleister Crowley
Yep, you hit it right on the head: FTFA
"T-Mobile network services was temporarily degraded recently when an independent application developer released an Android-based instant messaging application that was designed to refresh its network connection with substantial frequency,..."
Lots of comments chiming in on overselling bandwidth, but as you've noted, this has nothing to do with bandwidth. Its an infrastructure problem, and one that is slightly out of their control. They noted with this one app alone, network utilization increased 1200% per device. Its a signaling issue they didn't anticipate.
It's not TCP/IP that tears down the connection. That is a physical layer function, regardless of if the call came from the application layer. TCP/IP does not have influence over the physical layer.