The method: dynamic programming algorithm, triangulation and tracert.
Akamai has a (much more expensive) geolocation product that's based on doing triangulation, since they have a lot more information on routing (all those edge servers) but I'm not sure it's appreciably more accurate.