MapQuest as most of us know it is 34 servers housed in the AOL Data Center in Virginia. These 34 servers handle all of the data and number-crunching needed to create maps and driving directions on the fly. The task breakdown looks like this:
- 15 servers generate maps
- 15 servers handle geocoding (matching addresses to longitude/latitude coordinates)
- 4 servers create driving routes
Each server is a self-contained unit that stores the same information as the other servers in its task group. If you ask MapQuest to generate driving directions, you'll end up using any one of 15 geocoding servers (we'll talk about geocoding in the next section), any one of 15 mapping servers and any one of four routing servers by the time the directions show up on your screen.
MapQuest's routing algorithm looks at all possible routes between two points and then picks one by weighing certain factors at each stage along the trip. The goal is to achieve the fastest, most direct route. It factors in characteristics such as what kind of road is involved (if it's between freeway or dirt, for example, it'll pick the freeway), how many turns are involved, how fast you can travel on the road and the number of intersections you'll encounter. Once it has chosen the ideal segment for each step of the way, it delivers a set of directions.
MapQuest inputs all of this data into its own technology infrastructure to turn it into the maps and directions displayed on MapQuest.com. Let's find out what that involves.
When the MapQuest routing servers generate a route, it also generates an estimated driving time. This driving time is based on travel speeds (typically posted speed limits) along each road segment and the amount of time it takes to navigate each intersection. According to Jim Greiner, MapQuest's Director of Marketing, intersection time is calculated "based on type of turn (left, right, crossing) and the number, type, and geometry of roads at the intersection." For example, the software assumes it takes more time to turn left from a minor road onto a major road than it takes to turn right from a major road onto a minor road.
In order to pinpoint a location on a map or provide driving direction from one point to another, MapQuest must first convert a street address into a latitude/longitude coordinate. This process is called geocoding.