← Back
Home › Systems › Consumer applications

maps-routing

maps and route planning

Google Maps, OSRM

SystemTechniques · 20Primitives · 69 maps-routing CDN and edgecloud · medium: CDNs cache content in hundreds of PoPs near users, cutting latency and egress bills; edge compute runs small code there. Bandwidth price spreads 10x between providers.›Deterministic simulation testingdistributed · medium: Run the whole system in one thread under a seeded scheduler with simulated network, disk and clock, so every failure replays from its seed.›Primary-backup replicationdistributed · medium: One node orders all writes and ships them to standbys; the acknowledgement rule (none, one, all) sets what a crash loses, and an external arbiter decides who takes over.›Address geocodinggeometry · medium: Parse, normalize and fuzzy-match postal addresses to coordinates and backMap matching hmmgeometry · medium: HMM/Viterbi map matching of GPS traces onto the road graphContraction hierarchies (shortcut-b…graphs · medium: Rank the nodes, remove them one by one while adding shortcut edges that keep distances intact, then answer queries with two tiny searches that only climb the ranking.›Customizable route planninggraphs · medium: Multi-level overlay routing (CRP) with fast metric customization for live trafficGeospatial cell index (geohash, S2,…geometry · low: Map a lat/lon to a 64-bit cell id on a hierarchical grid, so "near" becomes an integer range scan in any ordinary sorted index.›R-treegeometry · low: A balanced tree of nested bounding boxes that indexes rectangles and points, answering window and nearest-neighbour queries by pruning whole subtrees.›Dijkstra's algorithmgraphs · low: Single-source shortest paths with non-negative edge weights by settling vertices in order of distance with a priority queue.›Delta encodingcompression · low: Store differences between consecutive values instead of the values, turning sorted IDs, timestamps and counters into small numbers that pack into few bits.›Varint (LEB128)compression · low: Variable-length integers in 7-bit groups with a continuation bit; small numbers take 1 byte, the wire format of Protobuf, WebAssembly and DWARF.›Sparse matrices (CSR)numerics · low: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.›Hdr histogramdata-structures · low: Log-linear bucketed histograms with bounded relative error for latency percentilesLine simplificationgeometry · low: Douglas-Peucker and Visvalingam polyline simplificationMap projectionsgeometry · low: Web Mercator, UTM and equal-area projections, datums and coordinate transformsPoint in polygongeometry · low: Ray-casting/winding tests and indexed polygon lookup for reverse geocodingVector tile encodinggeometry · low: Mapbox Vector Tile protobuf: zigzag-delta geometry commands, layers and feature attributesA* searchgraphs · low: Dijkstra ordered by cost-so-far plus an admissible estimate of the remaining cost; optimal paths while exploring far fewer nodes toward the goal.›mmap and the page cachehardware-os · low: How read() and mmap reach file data through the kernel page cache, what readahead and madvise do, and why databases use their own buffer pool instead.›Process supervisionhardware-os · low: A parent process starts services, reaps their exits and restarts them under a delay and burst-limit policy, then stops them with SIGTERM before SIGKILL.›Mutual TLSsecurity · low: TLS where the client also proves a certificate key, so every connection carries a verified, rotatable machine identity.›Graceful drainingsystems · low: On a termination signal, stop taking new work, finish in-flight work until a deadline, tell clients to reconnect elsewhere, then exit; clients resume from a token.›+ 13 more techniques+ 53 more primitives

Similar systems

Share the most building blocks with this one.