Google Latitude is causing quite a buzz right now, and it was bothering me that I didn't know how it works. The majority of the articles out there either assumed that you already knew how the previous Skyhook Wireless system worked, or that you didn't care how it worked, just how you could use it (to spy on your girlfriend).
My question: How can cell towers provide position information? I think that the jargon that was the key to my question is A-FLT - Advanced Forward Link Trilateration. As usual, you can't find anything out unless you know the terminology that everyone in the field has agreed to use.
GPS makes some sense to me, so I started there. GPS uses the signal's "Time of Arrival" to triangulate your position. If you know how long the signal takes to get from the GPS satellite to your receiver, and you assume that the signal travelled at the speed of light, you can get a distance from the satellite to you. With three distances, you can find your location -- Think of three different circles intersecting at one point.
Now in order to know how long the signal took to fly to your receiver, you need to know what time the signal left. Since the clock on your receiver and the clock that the satellites are using might be a little off, a fourth satellite is needed to completely define all the variables. So, GPS not only gives you an accurate position, it also gives you a very accurate clock-reading.
The A-FLT method uses the "Time Difference of Arrival" to determine the receiver's location. It is a small distinction, but it uses the difference between times of flight, rather than the whole time. Suppose that a mobile device beams out a signal at some time, three towers at different locations receive the signal and compare differences between the times. Since the differences in travel times are compared, the initial time the the mobile device beamed out the signal is not important.
Instead of intersecting circles, these time differences imply that the mobile device lies at the itersection of a set of hyperbolas. Hyperbolas? Tenth graders everywhere know how this applies, but it is understandable if we forgot. Each point on a hyperbola is defined by there being a fixed difference in the distances from that point to two loci. In our case, the two loci are the cell towers and the fixed difference is what we get from the time difference that we measured. How convenient -- Thanks Euclid!
Apparently, the 3G towers that many providers use all have precisely synchronized clocks by the nature of the signal technology that they use (CDMA). In fact, the cell towers may use GPS to update their clocks. So, the time differences end up being pretty accurate.
There is another method that is similar to this one called E-OTD, or Enhanced Observed Time Difference, that is used on GSM networks (rather than CDMA).
I am by no means an expert in the field, and this was compiled with a few hours on the internet, so I probably have some details wrong. But, this is good enough to satisfy me. It will all change in a few months anyway.