Exactly, except for the bit about an "A-GPS server"; those calculations are easily done from a fixed database of orbits, so there's no need to query an external server. Telling the GPS where it is is sufficient.