Wednesday, June 8, 2011

Counting Bytes

Let me start by saying I never thought per byte billing was a good idea.  But it is what the industry is largely stuck with.  Why? Because we're too dumb to understand other methods.  Nevermind that we're too dumb to really understand bytes, but it is a concept we think we understand.  We don't.  Here's a a brief attempt to explain.

It seems simple to say you get charged a fixed rate for a chunk of downloads.  Say 10 cents for 1 gig of data.  Use 10 gig and pay $1.  Totally cake, right?  Well... did you mean gigaBITS or gigaBYTES?  A byte is 8 bits... so if you bought 10 gigabits you got 8 times less than 10 gigabytes.  Now... does gig mean 1,000,000,000 to you? or 1,024,000,000 to you?  You see a kilobyte is actually 1024 bytes... not a 1000.  Back in the day this difference was tiny and easily ignored.  Today we see the error maginified as kB moved to MB and then to GB and someday to Terrabytes. 

So immediately we find potential confusion in byte counting without even getting in to the technology.  Let's look under the hood...  Let's focus on download bytes as that is what most of us care about and pay for.  We go to YouTube and download 1 gigabyte of video for 10 cents.  So our usage should be 1 Gigabyte, right? Wrong... While it will be pretty close to 1 gig, we run in to problems with overhead.  You see the video you watched was "user data" or "payload".  It was packaged up by YouTube's servers and then sent to other network devices that added their own information in order to send it.  There are some control messages also be sent back and forth to verify all the data was received.  This extra chunk of data is considered "overhead" to you and I, but we couldn't get the funny kitten videos if we didn't have overhead.  So who pays for overhead? Me or the Provider?  Well usually consumers do.  So if I was just counting video size, I'll be a little low of the actual bytes sent.  How low? Well that's a really hard question since it depends on dozens of factors.  How many clips did I download? One big download will have less overhead than many small downloads.  How busy was the line between me and YouTube? If the line was busy, there is a chance a chunk of data got mangled or dropped and had to be re-sent (more overhead).  These factors go on and on making exactly how much overhead experienced impossible to predict.  So again, without looking very hard we've found confusing areas in byte counting.

Now consider malice.  As in, malicious software.  You may be running the cleanest PC on earth completely free of viruses and spyware, but thousands of other users are not.  Their PC's are frequently scanning zombies sending out megs of probes to random address ranges looking for other unprotected hosts.  This background noise on the Internet is constant and unstoppable.  The best we can do is filter out the worst and tell consumers to use various protection techniques.  But a Provider can not fully stop all the background noise.  These unsolicited bytes are sent to you and the Provider counts them against your bill.  The full amount of these will also vary widely on conditions.

Lastly, we have plain ol' boneheaded ignorance.  We don't know how much we're downloading.  We don't realize that CNN's homepage is a few hundred megabytes.  We don't know how big the pop-up ads are.  We don't know how big that video stream really was.  We don't know how big Window's Update really was.  There are million things communicating on consumer PCs these days (and Playstations and networked game consoles).  We are woefully unaware of these transactions.

Byte counting is terrible.  It is always going to be open to very wide interpretation.  Your Provider is always going to seem a bit high and what you're really downloading is (for now) always going to be largely a mystery unless you're a network monitoring professional with a packet analyzer connected on your outgoing link... which is a challenge even for hardcore geeks to get good analysis on DSL or Cable modem lines.

So far this has all been pretty simple concepts.  From here it gets much more complex, but no less confusing and significant.  There are a million valid ways your Provider could be counting bytes.  It will barely make sense to them let alone the customer.  The only thing they have going for them is that whatever system they use will likely be consistent across all consumers.  That is if it 10% wrong, it will be 10% wrong all the time.  As consumers we have to live with it.  Don't ask your Provider to tell you how they do it.  It is unlikely you'll get a coherent answer.  Even if you were an expert in billing systems it would likely take you weeks of research to plot exactly how the byte counting is done from one Provider to the next.

Counting bytes is what we're stuck with for the short term.  But don't get too hung up about accuracy.  The question is too subjective.  I think the only thing we can tell our service providers is "we want it to cost less".  We don't care how.  Just make it cost less... OR be more valuable to us.  But please... lose the byte counting.  It has become meaningless.

3 comments:

  1. Obviously you know more than I do about web traffic than I do, but here's my USD $.02.

    I have to say that I agree on some points, but in general I think metered billing is a good thing.

    A lot of people think that because the infrastructure they use to access their favorite sites is all in place, that whether they download 1MB per month or 1TB per month, the cost to their provider to provide the service is the same. Even if that were true, different pieces of the infrastructure can support different loads of traffic they can support, so there are always bottlenecks somewhere. If those bottlenecks are used at or near capacity on a regular basis, new lines have to be added, hardware has to be upgraded, or arrangements need to be made to use other lines that are not in use or not at capacity. Someone has to pay for that.

    It's a very large simplification to compare Internet access to other utilities, but I think for the most part the concepts are the same. Consider your electricity provider. They charge by the kilowatt-hour. Okay, seems simple enough. You have 10 150 watt bulbs turned on your house for an hour. That's 1.5 kilowatt-hours, right? Well, no. It'll be slightly higher than that due to power lost delivering that electricity to your light bulbs. Similar to the overhead in Internet traffic. You don't know exactly how much overhead there is, but there's a standard method of measuring it. It's not a perfect analogy since there's an actual real cost to generating the electricity. However, it's similar in that different lines have different capacities, and the electric company has to upgrade lines if they become overused.

    My primary reason for thinking that metered use is a good idea is that it forces consumers to pay some small amount of attention to their Internet usage. We know that we should turn off the lights when we leave a room, but don't think twice about subscribing to daily video podcasts that we never watch.

    ReplyDelete
  2. This blog post just makes me want to cry! :) Too much information! Seriously, I appreciate the information and while I didn't quite twig it all, it was helpful. I wish that we paid $.10 a GB! We pay about $.83 if I'm not mistaken. Deb

    ReplyDelete
  3. Troy, your simplification is probably not too far from reality. Without real change the industry will end up there. The problem is that, for now, the telecommunications industry is not ready to be a utilities provider. The investment and re-investment in data networks is huge and demands a high return to maintain that cycle. Typical power/water/gas utilities make very little margin as is the definition of a commodity. They also have fairly fixed pricing in obtaining their goods. Data isn't mined out of the Earth or pumped out of a dam. The cost of delivery is the network that delivers it. Think about how much change the Power industry has made in home distribution in the last 30 years. Not a lot. We've moved form above street to under street... we've added lots of infrastructure (more homes)... we've probably realized fix rate of consumption growth... But the actual hardware in the home hasn't changed. Now look at data... from 2400 baud modems, to ISDN, to DSL, to Cable Modems, and now GPON, and a potentially a new wave of 4G wireless services. Each one a massive re-tool of the access network multipled by each home served. The data meter on your house is a long ways off--but like I said, I think we'll get there.

    The next problem is still ignorance. We don't have a rating on our data devices that tell us how much they consume. I know a 2000 watt appliance is going to make a noticable impact on my electric bill compared to a 100 watt device. I do know how to turn off electronics I'm not using. But data is moving more and more to always on, all the time. Sure we fundamentally know a 1 meg service is less than a 1 gig service, but we no such ratings on the applications we run. How much bandwidth does WoW consume while running (for example)? I know. But most consumers don't. Going the utility model is working the other end of the stick--educating consumers in the same way we are educated about power usage. Bandwidth 101 classes in 4th grade! Complete with singing honey bees. "Don't be a Pest! Don't Congest!"

    The net result is still what I concluded; we want it to cost less and be consistent so it fades in to the background of our monthly expenses. For the most part it does in the US. Not so much in New Zealand though!

    To Deb, the point of the post is to help explain what the media is saying about broadband usage in New Zealand. Many users will claim their home installed byte counters don't agree with their bill. Well the point is, byte counting is not as simple as it sounds. There is a great deal of variability. The truth of the situation will be a lot more complex than I have described. But again, you (and most consumers) don't care. You want to use the things you want at a price you can rely on. Byte counting doesn't make this easy.... and in your specific case, it hasn't been a satisfactory service experience.

    ReplyDelete