title: how to dispatch network requests to the (geographically) closest server
body: <p>I'm a Java coder and not very familiar with how networks work (other than basic UDP/TCP connections)</p>
  
  <p>Say I have servers running on machines in the US, Asia, Latin America and Europe.  When a user requests a service, I want their request to go to the server closest to them.</p>
  
  <p>Is it possible for me to have one address: mycompany.com, and somehow get requests routed to the appropriate server?  Apparently when someone goes to cnn.com, they receive the pictures, videos, etc. from a server close to them.  Frankly, I don't see how that works.</p>
  
  <p>By the way, my servers don't serve web pages, they serve other services such as stock market data....just in case that is relevant.</p>
  
  <p>Since I'm a programmer, I'm interested to know how one would do it in software.  Since this is little more than an idle curiosity, pointers to commercial products or services won't be very helpful in understanding this problem :)</p>